diff options
author | Elias Norberg <xyzzy@kudzu.se> | 2012-01-12 00:17:33 +0100 |
---|---|---|
committer | Elias Norberg <xyzzy@kudzu.se> | 2012-01-16 19:51:27 +0100 |
commit | bc81e88b13c0ddfa385a10cfbe2ea93259c7f8a4 (patch) | |
tree | 9ef03ce4c6316b5b15484a6ca08d582c319fad3d /cookie.c | |
parent | a8a93c2b7cae6c1d217bca596d8b0b631efe97b7 (diff) | |
download | xombrero-bc81e88b13c0ddfa385a10cfbe2ea93259c7f8a4.tar.gz |
Use a list of TLD's to properly handle multi-part TLD's
The list used is from publicsuffix.org. It gets installed to the resource-directory as 'tld-rules'
Diffstat (limited to 'cookie.c')
-rw-r--r-- | cookie.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cookie.c b/cookie.c index 7c7c293..fd5111f 100644 --- a/cookie.c +++ b/cookie.c @@ -125,6 +125,7 @@ soup_cookie_jar_add_cookie(SoupCookieJar *jar, SoupCookie *cookie) struct domain *d = NULL; SoupCookie *c; FILE *r_cookie_f; + char *public_suffix; DNPRINTF(XT_D_COOKIE, "soup_cookie_jar_add_cookie: %p %p %p\n", jar, p_cookiejar, s_cookiejar); @@ -145,8 +146,12 @@ soup_cookie_jar_add_cookie(SoupCookieJar *jar, SoupCookie *cookie) if (jar == NULL || cookie == NULL) return; - if (enable_cookie_whitelist && - (d = wl_find(cookie->domain, &c_wl)) == NULL) { + /* check if domain is valid */ + public_suffix = tld_get_suffix(cookie->domain); + + if (public_suffix == NULL || + (enable_cookie_whitelist && + (d = wl_find(cookie->domain, &c_wl)) == NULL)) { blocked_cookies++; DNPRINTF(XT_D_COOKIE, "soup_cookie_jar_add_cookie: reject %s\n", |