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
+
+
+