From 1056dc9a26db39bdb31f5f0b49080b13df3cb528 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 22 Oct 2007 09:25:45 +0000 Subject: 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). --- lib/url.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index 8685c61a2..212e184f7 100644 --- a/lib/url.c +++ b/lib/url.c @@ -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]=""; -- cgit v1.2.3