[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15785249#comment-15785249
 ] 

Detlev Beutner commented on HTTPCLIENT-1006:
--------------------------------------------

Hi Oleg,

Sorry to hear that; I don't know how to explain this better, especially if you 
don't give a hint where's the issue in understanding.

Anyhow, let's break this down to the core technical question: If a server sends 
a cookie, how does the client have to return this one.

RFC 6265 on the one hand defines how the server sends a cookie to the client 
(4.1.1):
{quote}set-cookie-string = cookie-pair *( ";" SP cookie-av )
cookie-pair       = cookie-name "=" cookie-value
cookie-name       = token
cookie-value      = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ){quote}

On the other hand, it defines how such received cookies are to be sent back to 
a server (4.2.1):
{quote}cookie-header = "Cookie:" OWS cookie-string OWS
cookie-string = cookie-pair *( ";" SP cookie-pair ){quote}
... where cookie-pair is the cookie-pair from above!

And explicitly (4.2.2):
{quote}The cookie-pair contains the cookie-name and cookie-value the user agent 
received in the Set-Cookie header.{quote}

So a cookie whose value came in DQs also has to be sent back in DQs. That's the 
core bug.

One might argue if _other_ accesses to cookie values should return the DQs or 
not (i.e., if they should be interpreted as a pure "transport mechanism", then: 
no; or if the DQs really should be part of the _semantic_ value, then: yes). 
But that's not what we are discussing here. _That_ discussion might lead to 
extensions to the Cookie interface, where (just a thought) the getValue method 
might be accompanied by an additional getRawValue method (then getValue would 
return a value without DQs, whereas getRawValue would return the complete 
_cookie-value_ as received via the network, so in the DQ case, with DQs). But 
as said, that's more the question _how to fix this_.

Best regards
Detlev

> BrowserCompatSpec: don't trim " around cookie value
> ---------------------------------------------------
>
>                 Key: HTTPCLIENT-1006
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1006
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (classic)
>    Affects Versions: 4.0.2
>            Reporter: Marc Guillemot
>
> If the server sends a cookie header like:
> Set-Cookie: first="hello world"
> then HttpClient parses it as cookie with value >hello world<, wrongly 
> removing the leading and trailing quotes. The incorrect quote removal occurs 
> in BasicHeaderValueParser.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to