[ 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