aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/url.c10
-rw-r--r--tests/data/test52
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index 5ffaa7305..601d8d364 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3987,9 +3987,17 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data,
last part of the URI. We are looking for the first '#' so that we deal
gracefully with non conformant URI such as http://example.com#foo#bar. */
fragment = strchr(path, '#');
- if(fragment)
+ if(fragment) {
*fragment = 0;
+ /* we know the path part ended with a fragment, so we know the full URL
+ string does too and we need to cut it off from there so it isn't used
+ over proxy */
+ fragment = strchr(data->change.url, '#');
+ if(fragment)
+ *fragment = 0;
+ }
+
/*
* So if the URL was A://B/C#D,
* protop is A
diff --git a/tests/data/test5 b/tests/data/test5
index 7a0ebd730..b62f1a127 100644
--- a/tests/data/test5
+++ b/tests/data/test5
@@ -29,7 +29,7 @@ http
HTTP over proxy
</name>
<command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/5 -x %HOSTIP:%HTTPPORT
+http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT
</command>
</client>