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

Karl Wright commented on CONNECTORS-119:
----------------------------------------

Looked into cookie policy implementations in httpcomponents.

The validate function in effect for 4.2.2 for BROWSER_COMPATIBILITY is as 
follows:

{code}
    public void validate(final Cookie cookie, final CookieOrigin origin)
            throws MalformedCookieException {
        if (cookie == null) {
            throw new IllegalArgumentException("Cookie may not be null");
        }
        if (origin == null) {
            throw new IllegalArgumentException("Cookie origin may not be null");
        }
        for (CookieAttributeHandler handler: getAttribHandlers()) {
            handler.validate(cookie, origin);
        }
    }
{code}

The code we *don't* want in there is:

{code}
        // another security check... we musn't allow the server to give us a
        // cookie that doesn't match this path

        if (!path.startsWith(cookie.getPath())) {
            throw new MalformedCookieException(
                "Illegal path attribute \"" + cookie.getPath() 
                + "\". Path of origin: \"" + path + "\"");
        }
{code}

The compatibility spec registers the following handler for path:

{code}
        registerAttribHandler(ClientCookie.PATH_ATTR, new BasicPathHandler());
{code}

... which, unfortunately, does exactly the check I don't want done:

{code}
    public void validate(final Cookie cookie, final CookieOrigin origin)
            throws MalformedCookieException {
        if (!match(cookie, origin)) {
            throw new CookieRestrictionViolationException(
                "Illegal path attribute \"" + cookie.getPath()
                + "\". Path of origin: \"" + origin.getPath() + "\"");
        }
    }
{code}

So it looks like we need to request an enhancement/patch from the 
httpcomponents people for this one.  Wish I could remember the site(s) that had 
this issue...


                
> Submit patch requests for all remaining httpclient customizations
> -----------------------------------------------------------------
>
>                 Key: CONNECTORS-119
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-119
>             Project: ManifoldCF
>          Issue Type: Task
>          Components: Framework core
>    Affects Versions: ManifoldCF 0.1, ManifoldCF 0.2
>            Reporter: Karl Wright
>             Fix For: ManifoldCF next
>
>
> Now that commons-httpclient has accepted the NTLM patch, we can in theory 
> start to use httpclient 4.x plain-vanilla as a replacement for our customized 
> 3.1 httpclient.  But first we should submit any remaining differences as 
> patch requests.  Specifically, the cross-path cookie allowance should be 
> submitted.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to