]> granicus.if.org Git - curl/commit
cookies: first n/v pair in Set-Cookie: is the cookie, then parameters
authorDaniel Stenberg <daniel@haxx.se>
Thu, 10 Mar 2016 10:20:56 +0000 (11:20 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 10 Mar 2016 10:26:12 +0000 (11:26 +0100)
commit7f7fcd0d756416b0a146b6f34a899e59456b2c17
tree2bff1f9a5d478722dfc7caca1ed0260378482a3b
parent4d4ce84bb3eccbf9c249f1a43fa79fb9ba14a29b
cookies: first n/v pair in Set-Cookie: is the cookie, then parameters

RFC 6265 section 4.1.1 spells out that the first name/value pair in the
header is the actual cookie name and content, while the following are
the parameters.

libcurl previously had a more liberal approach which causes significant
problems when introducing new cookie parameters, like the suggested new
cookie priority draft.

The previous logic read all n/v pairs from left-to-right and the first
name used that wassn't a known parameter name would be used as the
cookie name, thus accepting "Set-Cookie: Max-Age=2; person=daniel" to be
a cookie named 'person' while an RFC 6265 compliant parser should
consider that to be a cookie named 'Max-Age' with an (unknown) parameter
'person'.

Fixes #709
lib/cookie.c
tests/data/test1218
tests/data/test27