Impersonation cookie must be quoted to support some special characters
----------------------------------------------------------------------

                 Key: SLING-1287
                 URL: https://issues.apache.org/jira/browse/SLING-1287
             Project: Sling
          Issue Type: Bug
          Components: Commons
    Affects Versions: Commons Auth 1.0.0
            Reporter: Felix Meschberger
            Assignee: Felix Meschberger
             Fix For: Commons Auth 1.0.0


The Sling authenticator supports transparent impersonation of another user 
using a so called "sudo" parameter. Using this parameter causes the 
authenticator to set a sudo cookie, which is inspected in future requests to 
decide on whether to further impersonate requests or not.

The problem is, that the character set of cookie values is limited by RFC 2109 
defining that a cookie value must be token or quoted-string according
to RFC-2616:

       token          = 1*<any CHAR except CTLs or separators>
       separators     = "(" | ")" | "<" | ">" | "@"
                      | "," | ";" | ":" | "\" | <">
                      | "/" | "[" | "]" | "?" | "="
                      | "{" | "}" | SP | HT

       quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
       qdtext         = <any TEXT except <">>

If the sudo user name contains an "@" sign (such as an email address), the 
value is not a token any longer and must be properly quoted.

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

Reply via email to