1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 16:18:48 -05:00

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.
This commit is contained in:
Daniel Stenberg 2006-09-20 21:49:41 +00:00
parent ca5de26f50
commit ec4a16f2e0
6 changed files with 103 additions and 2 deletions

View File

@ -6,6 +6,11 @@
Changelog 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) Daniel (12 September 2006)
- Added docs/examples/10-at-a-time.c by Michael Wallner - Added docs/examples/10-at-a-time.c by Michael Wallner

View File

@ -21,6 +21,7 @@ This release includes the following changes:
This release includes the following bugfixes: 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 fixed a socket state problem with *multi_socket()
o (HTTP) NTLM hostname fix o (HTTP) NTLM hostname fix
o getsockname usage fixes o getsockname usage fixes

View File

@ -3698,8 +3698,9 @@ static CURLcode CreateConnection(struct SessionHandle *data,
if(atsign) { if(atsign) {
char proxyuser[MAX_CURL_USER_LENGTH]; char proxyuser[MAX_CURL_USER_LENGTH];
char proxypasswd[MAX_CURL_PASSWORD_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_USER_LENGTH_TXT"[^:]:"
"%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]", "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]",
proxyuser, proxypasswd)) { proxyuser, proxypasswd)) {

View File

@ -35,5 +35,5 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test256 test257 test258 test259 test260 test261 test262 test263 test264 \ test256 test257 test258 test259 test260 test261 test262 test263 test264 \
test265 test266 test267 test268 test269 test270 test271 test272 test273 \ test265 test266 test267 test268 test269 test270 test271 test272 test273 \
test274 test275 test524 test525 test276 test277 test526 test527 test528 \ test274 test275 test524 test525 test276 test277 test526 test527 test528 \
test530 DISABLED test530 DISABLED test278 test279

47
tests/data/test278 Normal file
View File

@ -0,0 +1,47 @@
<info>
<keywords>
HTTP
HTTP GET
HTTP proxy
HTTP proxy Basic auth
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Type: text/html
the content would go here
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy string including http:// and user+empty password
</name>
<command>
http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
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
</protocol>
</verify>

47
tests/data/test279 Normal file
View File

@ -0,0 +1,47 @@
<info>
<keywords>
HTTP
HTTP GET
HTTP proxy
HTTP proxy Basic auth
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Type: text/html
the content would go here
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy string including http:// and user only
</name>
<command>
http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
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
</protocol>
</verify>