mirror of https://github.com/moparisthebest/curl
Ates Goral pointed out that libcurl's cookie parser did case insensitive
string comparisons on the path which is incorrect and provided a patch that fixes this. I edited test case 8 to include details that test for this.
This commit is contained in:
parent
305dddeab0
commit
28611704d9
4
CHANGES
4
CHANGES
|
@ -7,6 +7,10 @@
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
Daniel (8 July 2006)
|
Daniel (8 July 2006)
|
||||||
|
- Ates Goral pointed out that libcurl's cookie parser did case insensitive
|
||||||
|
string comparisons on the path which is incorrect and provided a patch that
|
||||||
|
fixes this. I edited test case 8 to include details that test for this.
|
||||||
|
|
||||||
- Ingmar Runge provided a source snippet that caused a crash. The reason for
|
- Ingmar Runge provided a source snippet that caused a crash. The reason for
|
||||||
the crash was that libcurl internally was a bit confused about who owned the
|
the crash was that libcurl internally was a bit confused about who owned the
|
||||||
DNS cache at all times so if you created an easy handle that uses a shared
|
DNS cache at all times so if you created an easy handle that uses a shared
|
||||||
|
|
|
@ -18,6 +18,7 @@ This release includes the following changes:
|
||||||
|
|
||||||
This release includes the following bugfixes:
|
This release includes the following bugfixes:
|
||||||
|
|
||||||
|
o cookie parser now compares paths case sensitive
|
||||||
o an easy handle with shared DNS cache added to a multi handle caused a crash
|
o an easy handle with shared DNS cache added to a multi handle caused a crash
|
||||||
o couldn't override the Proxy-Connection: header for non-CONNECT requests
|
o couldn't override the Proxy-Connection: header for non-CONNECT requests
|
||||||
o curl_multi_fdset() could wrongly return -1 as max_fd value
|
o curl_multi_fdset() could wrongly return -1 as max_fd value
|
||||||
|
@ -25,7 +26,7 @@ This release includes the following bugfixes:
|
||||||
Other curl-related news:
|
Other curl-related news:
|
||||||
|
|
||||||
o yassl 1.3.7 can now be used with libcurl as an optional TLS library for
|
o yassl 1.3.7 can now be used with libcurl as an optional TLS library for
|
||||||
HTTPS/FTPS support
|
HTTPS/FTPS support: http://www.yassl.com/
|
||||||
o cURLpp 0.6.0 was released: http://rrette.com/curlpp.html
|
o cURLpp 0.6.0 was released: http://rrette.com/curlpp.html
|
||||||
o pycurl-7.15.4 was released: http://pycurl.sf.net
|
o pycurl-7.15.4 was released: http://pycurl.sf.net
|
||||||
|
|
||||||
|
@ -37,6 +38,6 @@ This release would not have looked like this without help, code, reports and
|
||||||
advice from friends like these:
|
advice from friends like these:
|
||||||
|
|
||||||
Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner, Toshiyuki Maezawa,
|
Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner, Toshiyuki Maezawa,
|
||||||
Ingmar Runge
|
Ingmar Runge, Ates Goral
|
||||||
|
|
||||||
Thanks! (and sorry if I forgot to mention someone)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
|
|
@ -760,7 +760,9 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c,
|
||||||
/* now check the left part of the path with the cookies path
|
/* now check the left part of the path with the cookies path
|
||||||
requirement */
|
requirement */
|
||||||
if(!co->path ||
|
if(!co->path ||
|
||||||
checkprefix(co->path, path) ) {
|
/* not using checkprefix() because matching should be
|
||||||
|
case-sensitive */
|
||||||
|
!strncmp(co->path, path, strlen(co->path)) ) {
|
||||||
|
|
||||||
/* and now, we know this is a match and we should create an
|
/* and now, we know this is a match and we should create an
|
||||||
entry for the return-linked-list */
|
entry for the return-linked-list */
|
||||||
|
|
|
@ -37,6 +37,8 @@ Funny-head: yesyes
|
||||||
Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
|
Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
|
||||||
Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
|
Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
|
||||||
Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
|
Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
|
||||||
|
Set-Cookie: cookie=yes; path=/we;
|
||||||
|
Set-Cookie: nocookie=yes; path=/WE;
|
||||||
|
|
||||||
</file>
|
</file>
|
||||||
</client>
|
</client>
|
||||||
|
@ -50,7 +52,7 @@ Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
|
||||||
GET /we/want/8 HTTP/1.1
|
GET /we/want/8 HTTP/1.1
|
||||||
Host: 127.0.0.1:%HTTPPORT
|
Host: 127.0.0.1:%HTTPPORT
|
||||||
Accept: */*
|
Accept: */*
|
||||||
Cookie: partmatch=present; foobar=name
|
Cookie: cookie=yes; partmatch=present; foobar=name
|
||||||
|
|
||||||
</protocol>
|
</protocol>
|
||||||
</verify>
|
</verify>
|
||||||
|
|
Loading…
Reference in New Issue