From ec4a16f2e01b0b92e16fc841bc676394f37022f1 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 20 Sep 2006 21:49:41 +0000 Subject: Armel Asselin fixed problems when you gave a proxy URL with user name and empty password or no password at all. Test case 278 and 279 were added to verify. --- CHANGES | 5 +++++ RELEASE-NOTES | 1 + lib/url.c | 3 ++- tests/data/Makefile.am | 2 +- tests/data/test278 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ tests/data/test279 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 tests/data/test278 create mode 100644 tests/data/test279 diff --git a/CHANGES b/CHANGES index 2e6b6cf78..971a52f2f 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,11 @@ Changelog +Daniel (20 September 2006) +- Armel Asselin fixed problems when you gave a proxy URL with user name and + empty password or no password at all. Test case 278 and 279 were added to + verify. + Daniel (12 September 2006) - Added docs/examples/10-at-a-time.c by Michael Wallner diff --git a/RELEASE-NOTES b/RELEASE-NOTES index cebb6b614..19c994079 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -21,6 +21,7 @@ This release includes the following changes: This release includes the following bugfixes: + o proxy URL with user name and empty password or no password at all now work o fixed a socket state problem with *multi_socket() o (HTTP) NTLM hostname fix o getsockname usage fixes diff --git a/lib/url.c b/lib/url.c index 71a827e7a..20f546900 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3698,8 +3698,9 @@ static CURLcode CreateConnection(struct SessionHandle *data, if(atsign) { char proxyuser[MAX_CURL_USER_LENGTH]; char proxypasswd[MAX_CURL_PASSWORD_LENGTH]; + proxypasswd[0] = 0; - if(2 == sscanf(proxyptr, + if(1 <= sscanf(proxyptr, "%" MAX_CURL_USER_LENGTH_TXT"[^:]:" "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]", proxyuser, proxypasswd)) { diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 64218bac1..9a397e1b6 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -35,5 +35,5 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test256 test257 test258 test259 test260 test261 test262 test263 test264 \ test265 test266 test267 test268 test269 test270 test271 test272 test273 \ test274 test275 test524 test525 test276 test277 test526 test527 test528 \ - test530 DISABLED + test530 DISABLED test278 test279 diff --git a/tests/data/test278 b/tests/data/test278 new file mode 100644 index 000000000..77e80456a --- /dev/null +++ b/tests/data/test278 @@ -0,0 +1,47 @@ + + +HTTP +HTTP GET +HTTP proxy +HTTP proxy Basic auth + + +# Server-side + + +HTTP/1.1 200 OK swsclose +Date: Thu, 09 Nov 2010 14:49:00 GMT +Content-Type: text/html + +the content would go here + + + +# Client-side + + +http + + +HTTP with proxy string including http:// and user+empty password + + +http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET http://we.want.that.site.com/278 HTTP/1.1 +Proxy-Authorization: Basic ZmFrZTo= +Host: we.want.that.site.com +Pragma: no-cache +Accept: */* +Proxy-Connection: Keep-Alive + + + diff --git a/tests/data/test279 b/tests/data/test279 new file mode 100644 index 000000000..716a99ea6 --- /dev/null +++ b/tests/data/test279 @@ -0,0 +1,47 @@ + + +HTTP +HTTP GET +HTTP proxy +HTTP proxy Basic auth + + +# Server-side + + +HTTP/1.1 200 OK swsclose +Date: Thu, 09 Nov 2010 14:49:00 GMT +Content-Type: text/html + +the content would go here + + + +# Client-side + + +http + + +HTTP with proxy string including http:// and user only + + +http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET http://we.want.that.site.com/279 HTTP/1.1 +Proxy-Authorization: Basic ZmFrZUAxMjcuMC4wLjE6ODk5MA0= +Host: we.want.that.site.com +Pragma: no-cache +Accept: */* +Proxy-Connection: Keep-Alive + + + -- cgit v1.2.3