Subject: [Bug 161] EVALUATE_ALL_OF_IF_HEADER

From: [email-masked]
Date: Sun, 29 Jan 2006 05:14:39 -0800

http://ietf.cse.ucsc.edu:8080/bugzilla/show_bug.cgi?id=161

[email-masked] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         [email-masked][email-masked]

------- Additional Comments From [email-masked]  2006-01-29 05:14 -------
OK, as far as I can tell, the current draft is broken, in that is requires
servers to fail the request with 412 if any of the tagged-list productions
evaluates to false
(<http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-11.html#rfc.section.9.4.2>):

"All clauses must be evaluated. If the state of the resource named in the tag
does not match any of the associated state lists then the request MUST fail with
a 412 (Precondition Failed)."

As far as I can tell, the most sensible way to fix this is to actually go back
to what RFC2518 said (and to update the Changes section accordingly).

Proposed changes in <http://ietf.cse.ucsc.edu:8080/bugzilla/show_bug.cgi?id=161>
and below:

Section 10.4.2., para. 1:
OLD:

    The tagged-list production may be used instead of the no-tag-list
    production, in order to scope each token to a specific resource.
    That is, it specifies that the lists following the resource
    specification only apply to the specified resource.  The scope of the
    resource production begins with the list production immediately
    following the resource production and ends with the next resource
    production, if any.  All clauses must be evaluated.  If the state of
    the resource named in the tag does not match any of the associated
    state lists then the request MUST fail with a 412 (Precondition
    Failed).

NEW:

    The tagged-list production may be used instead of the no-tag-list
    production, in order to scope each token to a specific resource.
    That is, it specifies that the lists following the resource
    specification only apply to the specified resource.  The scope of the
    resource production begins with the list production immediately
    following the resource production and ends with the next resource
    production, if any.
 
    When the If header is applied to a particular resource, the Tagged-
    list productions MUST be searched to determine if any of the listed
    resources match the operand resource(s) for the current method.  If
    none of the resource productions match the current resource then the
    header MUST be ignored.  If one of the resource productions does
    match the name of the resource under consideration then the list
    productions following the resource production MUST be applied to the
    resource in the manner specified in the previous section.

Appendix E., para. 13:
OLD:

    Some changes for "If:" header (Section 10.4), including "DAV:no-lock"
    state token and requirement to evaluate entire header.
 
    Support for UTF-16 now required (ref (Section 19)).

NEW:

    Support for UTF-16 now required (ref (Section 19)).

------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.