diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cookie.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/cookie.c b/lib/cookie.c index 558b6a7f2..de871b75e 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -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; } |