diff options
Diffstat (limited to 'src/cache.c')
-rw-r--r-- | src/cache.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/cache.c b/src/cache.c index 3341388c..6df062b3 100644 --- a/src/cache.c +++ b/src/cache.c @@ -728,15 +728,14 @@ static void Cache_parse_header(CacheEntry_t *entry) dFree(encoding); /* free Transfer-Encoding */ #ifndef DISABLE_COOKIES - /* BUG: If a server feels like mixing Set-Cookie2 and Set-Cookie - * responses which aren't identical, then we have a problem. I don't - * know if that is a real issue though. */ - if ((Cookies = Cache_parse_multiple_fields(header, "Set-Cookie2")) || - (Cookies = Cache_parse_multiple_fields(header, "Set-Cookie"))) { - a_Cookies_set(Cookies, entry->Url); + if ((Cookies = Cache_parse_multiple_fields(header, "Set-Cookie"))) { + char *server_date = Cache_parse_field(header, "Date"); + + a_Cookies_set(Cookies, entry->Url, server_date); for (i = 0; (data = dList_nth_data(Cookies, i)); ++i) dFree(data); dList_free(Cookies); + dFree(server_date); } #endif /* !DISABLE_COOKIES */ |