]> granicus.if.org Git - curl/commitdiff
cookie: do not refuse cookies for localhost
authorTim Rühsen <tim.ruehsen@gmx.de>
Wed, 2 Mar 2016 10:07:16 +0000 (11:07 +0100)
committerKamil Dudka <kdudka@redhat.com>
Tue, 8 Mar 2016 14:27:43 +0000 (15:27 +0100)
Closes #658

RELEASE-NOTES
lib/cookie.c
tests/data/test1136

index 3a602658118e971a180b01c81675a2ec6dd6cc51..19bc949905d2e6cba04a7bd307d7e68d0ab30c25 100644 (file)
@@ -31,6 +31,7 @@ This release includes the following bugfixes:
  o gtls: fix for builds lacking encrypted key file support [11]
  o SCP: use libssh2_scp_recv2 to support > 2GB files on windows [12]
  o CURLOPT_CONNECTTIMEOUT_MS.3: Fix example to use milliseconds option [13]
+ o cookie: do not refuse cookies to localhost [14]
 
 This release includes the following known bugs:
 
@@ -62,3 +63,4 @@ References to bug reports and discussions on issues:
  [11] = https://curl.haxx.se/bug/?i=651
  [12] = https://curl.haxx.se/bug/?i=451
  [13] = https://curl.haxx.se/bug/?i=653
+ [14] = https://curl.haxx.se/bug/?i=658
index 558b6a7f26c1b5be2deb7227fea09947d9b12a28..de871b75ee137f0ab2a7bea8446d597df1608014 100644 (file)
@@ -797,10 +797,12 @@ Curl_cookie_add(struct SessionHandle *data,
 #ifdef USE_LIBPSL
   /* Check if the domain is a Public Suffix and if yes, ignore the cookie.
      This needs a libpsl compiled with builtin data. */
-  if(co->domain && !isip(co->domain) && (psl = psl_builtin()) != NULL) {
-    if(psl_is_public_suffix(psl, co->domain)) {
-      infof(data, "cookie '%s' dropped, domain '%s' is a public suffix\n",
-            co->name, co->domain);
+  if(domain && co->domain && !isip(co->domain)) {
+    if(((psl = psl_builtin()) != NULL)
+        && !psl_is_cookie_domain_acceptable(psl, domain, co->domain)) {
+      infof(data,
+            "cookie '%s' dropped, domain '%s' must not set cookies for '%s'\n",
+            co->name, domain, co->domain);
       freecookie(co);
       return NULL;
     }
index e42ca06a625dde0689f572f49f37e7ad303c03ab..d3327e84344af362e8e641dc9e2bf9e5b6f81df5 100644 (file)
@@ -58,6 +58,7 @@ http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com
 
 .www.example.ck        TRUE    /       FALSE   0       test2   allowed2
 .www.ck        TRUE    /       FALSE   0       test4   allowed4
+.z-1.compute-1.amazonaws.com   TRUE    /       FALSE   0       test5   forbidden5
 </file>
 </verify>
 </testcase>