[ http://issues.apache.org/jira/browse/JCR-406?page=all ]

Jukka Zitting updated JCR-406:
------------------------------

    Summary: If header evaluation compliance problems  (was: If header 
evaluation compliance provlems)

> If header evaluation compliance problems
> ----------------------------------------
>
>                 Key: JCR-406
>                 URL: http://issues.apache.org/jira/browse/JCR-406
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: webdav
>            Reporter: Julian Reschke
>
> There is a problem with the implementation of If header checking in 
> WebdavRequestImpl.matchesIfHeader(), causing warnings and errors in the 
> Litmus test suite, notably test cases cond_put_corrupt_token and 
> fail_cond_put_unlocked.
> The main cause seems to be the assumption that evaluation of the If header 
> isn't necessary if the resource isn't locked. That's incorrect, because If 
> header evaluation should occur independently of the state of the resource 
> (even if it doesn't exist). In particular, for a state token known not to 
> represent the current state of the resource, such as "DAV:not-a-lock", the If 
> header
>   If: (<DAV:not-a-lock>)
>   
> should evaluate to false (causing the request to fail with status 412), and 
> consequently,
>   If: (<x>) (Not <DAV:not-a-lock>)
>   
> should always avaluate to true (for any x), because there is one untagged 
> list production evaluating to true; thus the request should proceed.
> In RFC2518bis, the WebDAV WG has tried to clarify If header evaluation, see 
> (<http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-14.html#rfc.section.10.4>).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to