[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved HTTPCLIENT-923.
------------------------------------------

    Resolution: Fixed

Both two digit and four digit year attributes are now supported, see the test 
cases:

http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/cookie/TestCookieNetscapeDraft.java?p2=%2Fhttpcomponents%2Fhttpclient%2Ftrunk%2Fhttpclient%2Fsrc%2Ftest%2Fjava%2Forg%2Fapache%2Fhttp%2Fimpl%2Fcookie%2FTestCookieNetscapeDraft.java&p1=%2Fhttpcomponents%2Fhttpclient%2Ftrunk%2Fhttpclient%2Fsrc%2Ftest%2Fjava%2Forg%2Fapache%2Fhttp%2Fimpl%2Fcookie%2FTestCookieNetscapeDraft.java&r1=919394&r2=919393&view=diff&pathrev=919394

Oleg

> NetscapeDraftSpec is too strict about cookie expires date format
> ----------------------------------------------------------------
>
>                 Key: HTTPCLIENT-923
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-923
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.0.1
>            Reporter: Jörgen Rydenius
>            Priority: Minor
>             Fix For: 4.1 Alpha2
>
>
> The Netscape Draft specification (http://curl.haxx.se/rfc/cookie_spec.html) 
> specifies clearly that the date format for Set-Cookie expires is "Wdy, 
> DD-Mon-YYYY HH:MM:SS GMT". But on the other hand, in the examples section of 
> the same document, the only example header that contains "Expires" is the 
> following:
> Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 
> 23:12:40 GMT
> Note that the weekday is fully spelled out and that the year is written as 
> two digits only. I would say that the specification therefore makes the 2 or 
> 4 digit year optional. I think NetscapeDraftSpec should reflect this. An 
> example of a product that uses the 2 digit version is jetty 6 and 7. When 
> using httpclient 4 talking to a jetty server, any Set-Cookie headers for 
> persistent cookies will be interpreted as a 4 digit year in the date and the 
> cookie will immediately be disregarded as expired by some 2,000 years or so. 
> Httpclient 3 on the other hand had no problem understanding the persistent 
> cookies from jetty. I filed a bug report 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=304698 on jetty to change their 
> date format, but on the other hand I also think httpclient 4 is too strict 
> about the date format when even the original specification uses two 
> alternatives.
> Workaround is easy by setting CookieSpecPNames.DATE_PATTERNS, but I really 
> think that projects like jetty and httpclient should be compatible by 
> default. Also, since the date format used by jetty is parsable but 
> misinterpreted and disregarded by httpclient makes it especially hard to 
> detect the first time on encounters the problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to