diff options
author | Daniel Stenberg <daniel@haxx.se> | 2007-10-22 09:25:45 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2007-10-22 09:25:45 +0000 |
commit | 1056dc9a26db39bdb31f5f0b49080b13df3cb528 (patch) | |
tree | 4e6f40fb1d45be17ac3d82c02ac11e151f8ff71c | |
parent | 053654dc4dbb7616d92abea47bfcd3a27c91479a (diff) |
Bug report #1815530 (http://curl.haxx.se/bug/view.cgi?id=1815530) points out
that specifying a proxy with a trailing slash didn't work (unless it also
contained a port number).
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | RELEASE-NOTES | 2 | ||||
-rw-r--r-- | lib/url.c | 18 |
3 files changed, 20 insertions, 5 deletions
@@ -6,6 +6,11 @@ Changelog +Daniel S (22 October 2007) +- Bug report #1815530 (http://curl.haxx.se/bug/view.cgi?id=1815530) points out + that specifying a proxy with a trailing slash didn't work (unless it also + contained a port number). + Patrick M (15 October 2007) - Fixed the dynamic CURLOPT_POSTFIELDS problem: this option is now static again and option CURLOPT_COPYPOSTFIELDS has been added to support dynamic mode. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 50a4db1db..4e57d8ec7 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -36,6 +36,8 @@ This release includes the following bugfixes: o handles chunked-encoded CONNECT responses o misuse of ares_timeout() result o --local-port on TFTP transfers + o specifying a proxy with a trailing slash didn't work (unless it also + contained a port number) This release includes the following known bugs: @@ -3339,10 +3339,17 @@ static CURLcode parse_proxy(struct SessionHandle *data, /* now set the local port number */ conn->port = atoi(prox_portno); } - else if(data->set.proxyport) { - /* None given in the proxy string, then get the default one if it is - given */ - conn->port = data->set.proxyport; + else { + /* without a port number after the host name, some people seem to use + a slash so we strip everything from the first slash */ + atsign = strchr(proxyptr, '/'); + if(atsign) + *atsign = 0x0; /* cut off path part from host name */ + + if(data->set.proxyport) + /* None given in the proxy string, then get the default one if it is + given */ + conn->port = data->set.proxyport; } /* now, clone the cleaned proxy host name */ @@ -3357,7 +3364,8 @@ static CURLcode parse_proxy(struct SessionHandle *data, } /* Extract the user and password from the authentication string */ -static CURLcode parse_proxy_auth(struct SessionHandle *data, struct connectdata *conn) +static CURLcode parse_proxy_auth(struct SessionHandle *data, + struct connectdata *conn) { char proxyuser[MAX_CURL_USER_LENGTH]=""; char proxypasswd[MAX_CURL_PASSWORD_LENGTH]=""; |