aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2008-09-24 01:08:01 +0000
committerDan Fandrich <dan@coneharvesters.com>2008-09-24 01:08:01 +0000
commit515893595dafd99d83c1603533524076742aaa51 (patch)
tree5594155869ca0d182fef07d5ab8ef39da3dc2cc3
parent3800be3898f8b37d139ac997fbe79125a1727e5a (diff)
Make sure not to dereference the wrong UrlState proto union member when
switching from one protocol to another in a single request (e.g. redirecting from HTTP to FTP as in test 1055) by resetting state.expect100header before every request.
-rw-r--r--CHANGES8
-rw-r--r--lib/url.c1
2 files changed, 8 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 9ea9f3b64..82ac6a1a6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
Changelog
+Daniel Fandrich (23 Sep 2008)
+- Make sure not to dereference the wrong UrlState proto union member when
+ switching from one protocol to another in a single request (e.g.
+ redirecting from HTTP to FTP as in test 1055) by resetting
+ state.expect100header before every request.
+
Daniel Stenberg (23 Sep 2008)
- Introducing Jamie Lokier's function for date to epoch conversion used in the
date parser function. This makes our function less dependent on system-
@@ -37,7 +43,7 @@ Daniel Stenberg (22 Sep 2008)
CURLE_RECV_ERROR to get returned. This made test case 160 fail so I've now
disabled it until we can figure out another way to exercise that logic.
-- Michael Goffioul filed bug report #2107377 "Problem with mutli + GnuTLS +
+- Michael Goffioul filed bug report #2107377 "Problem with multi + GnuTLS +
proxy" (http://curl.haxx.se/bug/view.cgi?id=2107377) that showed how a multi
interface using program didn't work when built with GnuTLS and a CONNECT
request was done over a proxy (basically test 502 over a proxy to a HTTPS
diff --git a/lib/url.c b/lib/url.c
index 7cfe7cc0a..352ec20c7 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -4682,6 +4682,7 @@ static CURLcode do_init(struct connectdata *conn)
conn->bits.done = FALSE; /* Curl_done() is not called yet */
conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to use */
+ data->state.expect100header = FALSE;
/* NB: the content encoding software depends on this initialization */
Curl_easy_initHandleData(data);