Description
I'm seeing the same problem reported in HADOOP-10710 (that is, httpclient is unable to authenticate with servers running the authentication filter), even with HADOOP-10710 applied.
From my reading of the spec, the problem is as follows:
Expires is not a valid directive according to the RFC, though it is mentioned for backwards compatibility with netscape draft spec. When httpclient sees "Expires", it parses according to the netscape draft spec, but note from RFC2109:
Note that the Expires date format contains embedded spaces, and that "old" cookies did not have quotes around values.
and note that AuthenticationFilter puts quotes around the value:
https://github.com/apache/hadoop-common/blob/6b11bff94ebf7d99b3a9e513edd813cb82538400/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/server/AuthenticationFilter.java#L437-L439
So httpclient's parsing appears to be kosher.
Attachments
Attachments
Issue Links
- is related to
-
HADOOP-11028 Use Java 7 HttpCookie to implement hadoop.auth cookie
- Open
- relates to
-
HADOOP-10710 hadoop.auth cookie is not properly constructed according to RFC2109
- Closed
-
HADOOP-11068 Match hadoop.auth cookie format to jetty output
- Closed