aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES14
-rw-r--r--RELEASE-NOTES3
-rw-r--r--lib/url.c4
3 files changed, 18 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 2867cb7b7..9fb1522e9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,20 @@
Changelog
+Daniel (27 February 2007)
+- Hang Kin Lau found and fixed: When I use libcurl to connect to an https
+ server through a proxy and have the remote https server port set using the
+ CURLOPT_PORT option, protocol gets reset to http from https after the first
+ request.
+
+ User defined URL was modified internally by libcurl and subsequent reuse of
+ the easy handle may lead to connection using a different protocol (if not
+ originally http).
+
+ I found that libcurl hardcoded the protocol to "http" when it tries to
+ regenerate the URL if CURLOPT_PORT is set. I tried to fix the problem as
+ follows and it's working fine so far
+
Daniel (25 February 2007)
- Adam D. Moss made the HTTP CONNECT procedure less blocking when used from
the multi interface. Note that it still does a part of the connection in a
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 8a9e2f02c..97ca13ea4 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -36,6 +36,7 @@ This release includes the following bugfixes:
o HTTP CONNECT thru a proxy is now less blocking when the multi interface is
used
o HTTP Digest header parsing fix for unquoted last word ending with CRLF
+ o CURLOPT_PORT, HTTP proxy, re-using connections and non-HTTP protocols
This release includes the following known bugs:
@@ -56,6 +57,6 @@ advice from friends like these:
Yang Tse, Manfred Schwarb, Michael Wallner, Jeff Pohlmeyer, Shmulik Regev,
Rob Crittenden, Robert A. Monat, Dan Fandrich, Duncan Mac-Vicar Prett,
Michal Marek, Robson Braga Araujo, Ian Turner, Linus Nielsen Feltzing,
- Ravi Pratap, Adam D. Moss, Jose Kahan
+ Ravi Pratap, Adam D. Moss, Jose Kahan, Hang Kin Lau
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/url.c b/lib/url.c
index 64a145cdb..87a07736e 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3590,8 +3590,8 @@ else {
/* we need to create new URL with the new port number */
char *url;
- url = aprintf("http://%s:%d%s", conn->host.name, conn->remote_port,
- data->reqdata.path);
+ url = aprintf("%s://%s:%d%s", conn->protostr, conn->host.name,
+ conn->remote_port, data->reqdata.path);
if(!url)
return CURLE_OUT_OF_MEMORY;