Properties tests based on invalid assumptions?
John Meissen
john at meissen.org
Fri Oct 31 21:37:13 EDT 2008
I've been adding WebDAV functionality to an embedded webserver I implemented.
I've been using litmus to validate it. From what I see, it would appear to
me that the properties tests are base on an interpretation of the spec that's
different from mine.
The propset, propmanyns and propget tests depend on setting/retrieving
arbitrary properties. With the capabilities available to me I can only
support basic filesystem properties (DAV:creationdate, DAV:getcontentlength,
DAV:getlastmodified) plus lock properties (DAV:lockdiscovery,
DAV:supportedlock). Of those, the only one I can modify is getlastmodified.
I don't even have file owner information, and there is no way to set
persistent arbitrary attributes.
RFC4918, section 9.2 says
All DAV-compliant resources MUST support the PROPPATCH method and MUST
process instructions that are specified using the propertyupdate, set,
and remove XML elements. Execution of the directives in this method is,
of course, subject to access control constraints. DAV-compliant resources
SHOULD support the setting of arbitrary dead properties.
The key words here are that the resource MUST support the method, and
MUST process the instructions; the resource SHOULD support the setting
of arbitrary properties.
In my interpretation that means that I must implement the method and
parse/process the body of the request, but I don't have to actually
support anything other than the live properties associated with the
resource. And changes to live properties are subject to constraints.
So failing to set arbitrary properties is, in fact, a successful
response, so long as the response is constructed correctly.
john-
More information about the litmus
mailing list