Looks like according to RFC 2109, "=" takes priority over "," so probably when we encounter something like session=foo,bar=baz, the parser should analyze sequences on both sides of an "=" character, so in this case comma becomes a separator of two different pairs.<br>
<br><div class="gmail_quote">On Wed, Sep 30, 2009 at 10:41 AM, Edi Weitz <span dir="ltr"><<a href="mailto:edi@agharta.de">edi@agharta.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, Sep 30, 2009 at 11:09 AM, Edi Weitz <<a href="mailto:edi@agharta.de">edi@agharta.de</a>> wrote:<br>
<br>
> I was going to write that IIS sends a wrong header according to the<br>
> RFCs, but after re-reading them I now think that one might interpret<br>
> them in a different way and that Drakma's general handling of commas<br>
> has to be reworked to accommodate this interpretation.<br>
<br>
</div>No.  In the meantime, I think this cookie really looks fishy.<br>
<br>
In RFC 2109 (for "Set-Cookie") the syntax is defined as "1#cookie"<br>
which according to the HTTP specification this RFC refers to means a<br>
comma-separated list of values, i.e. if a comma is not quoted, it<br>
separates one Set-Cookie header from the next one.  I understand that<br>
this is kind of sloppy already because lots of servers use a syntax<br>
were the date in "expires" uses a comma in the wrong place and Drakma<br>
caters to that.  The question is how to deal with commas in general.<br>
<br>
Consider this example:<br>
<br>
  Set-Cookie: domain=<a href="http://test.com" target="_blank">test.com</a>; expires=Thu, 12-Sep-2109 14:58:04 GMT;<br>
session=foo,bar=baz<br>
<br>
If sent by IIS this probably means (?) that the cookie "domain" has an<br>
attribute "session" with the value "foo,bar=baz", right?<br>
<br>
But it could also mean (see RFC) that the value of "session" is "foo"<br>
and that there's a second cookie "bar" with the value "baz".  In fact,<br>
if Drakma reads two header lines like so<br>
<br>
  Set-Cookie: domain=<a href="http://test.com" target="_blank">test.com</a>; expires=Thu, 12-Sep-2109 14:58:04 GMT;<br>
session=foo<br>
  Set-Cookie: bar=baz<br>
<br>
it will actually join them with a comma before parsing them (in<br>
accordance with the HTTP RFC).<br>
<br>
So, we could probably provide some special variable to make cookie<br>
parsing less restrictive, but I wonder what the exact semantics of<br>
this should be.<br>
<br>
Any suggestions?<br>
<br>
Thanks,<br>
<div><div></div><div class="h5">Edi.<br>
<br>
_______________________________________________<br>
drakma-devel mailing list<br>
<a href="mailto:drakma-devel@common-lisp.net">drakma-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel</a><br>
</div></div></blockquote></div><br>