From 45197b188e64f135a8fc207b158e16b789b26f60 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 16 Aug 2004 07:24:25 +0000 Subject: [PATCH] Roland Krikava's cookies over proxy fix. --- CHANGES | 7 ++++++- lib/http.c | 2 +- tests/data/Makefile.am | 2 +- tests/data/test179 | 46 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 tests/data/test179 diff --git a/CHANGES b/CHANGES index f0d19f05a..3a9e2c46a 100644 --- a/CHANGES +++ b/CHANGES @@ -6,10 +6,15 @@ Changelog +Daniel (16 August 2004) +- Roland Krikava found and fixed a cookie problem when using a proxy (the + path matching was wrong). I added test case 179 to verify that we now do + right. + Daniel (11 August 2004) - configure now defines _XOPEN_SOURCE to 500 on systems that need it to build warning-free (the only known one so far is non-gcc builds on 64bit SGI - IRIX). + IRIX). (Reverted this change later as it caused compiler errors.) - the FTP code now includes the server response in the error message when the server gives back a 530 after the password is provided, as it isn't diff --git a/lib/http.c b/lib/http.c index 4b3e7dfb4..567d16dd2 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1620,7 +1620,7 @@ CURLcode Curl_http(struct connectdata *conn) Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); co = Curl_cookie_getlist(data->cookies, conn->allocptr.cookiehost? - conn->allocptr.cookiehost:host, ppath, + conn->allocptr.cookiehost:host, conn->path, (bool)(conn->protocol&PROT_HTTPS?TRUE:FALSE)); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 84cb22fac..188cd70c2 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -25,7 +25,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test158 test159 test511 test160 test161 test162 test163 test164 \ test512 test165 test166 test167 test168 test169 test170 test171 \ test172 test204 test205 test173 test174 test175 test176 test177 \ - test513 test514 test178 + test513 test514 test178 test179 # The following tests have been removed from the dist since they no longer # work. We need to fix the test suite's FTPS server first, then bring them diff --git a/tests/data/test179 b/tests/data/test179 new file mode 100644 index 000000000..d63226263 --- /dev/null +++ b/tests/data/test179 @@ -0,0 +1,46 @@ +# Server-side + + +HTTP/1.1 200 OK +Server: Microsoft-IIS/4.0 +Date: Tue, 25 Sep 2001 19:37:44 GMT +Content-Type: text/html +Connection: close +Content-Length: 21 + +This server says moo + + + +# Client-side + + +http + + +HTTP using proxy and cookies with path checks + + +http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HOSTPORT + + +supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed +supertrooper.fake FALSE /b FALSE 0 moo1 indeed +supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET http://supertrooper.fake/c/179 HTTP/1.1 +Host: supertrooper.fake +Pragma: no-cache +Accept: */* +Cookie: moo2=indeed + + +