Am 16.10.2024 um 12:14 schrieb Rémy Maucherat:
Hi,
I spent a few days going through the behavior of the WebDAV Servlet,
expanding on a test scenario, and looking at the most recent RFC. I
found many items to fix.
Three items remain:
- Propatch support: it is useless without support for dead properties
(dead properties are custom properties, which are basically XML
fragments). Since storing them is a major endeavor, I would recommend
not implementing this. Also processing of propatch is supposed to be
atomic, that would be another implementation difficulty.
- If header support. The if header is rather convoluted, but it would
still be useful to have.
- Lock null has been removed from the specification and this email is
about that.
Lock null is one of the most convoluted features of WebDAV (along with
the if header and the XML fragment properties, of course), and it has
been removed in RFC 4918.
http://www.webdav.org/specs/rfc4918.html#lock-null
instead servers are required to create an empty resource (not a
collection) when locking a non existing path, and then create a lock
on it. This interoperates nicely with the existing behavior except for
some edge cases (the user could have wanted to create a collection,
and so on). I verified that my test scenario only needs one trivial
change to pass (a PUT will now return NO_CONTENT instead of CREATED
since it will now overwrite the locked empty resource; most likely a
real client will be happy with both status codes) and I believe this
gives a good idea on the impact of the change.
Since this is removed in the specification, my plan is to drop the
lock null feature. However, since this is definitely a behavior
change, maybe it could be done only in main and 11 ? Or only in main ?
Comments ?
Rémy
Nice to hear that people still care :-)
We (the IETF Webdav WG - when it still existed) removed "lock null",
because a) it resulted in a weird "zombie" state of the resource and was
b) inconsistently implemented, thus the simplification.
"If" is not really changed, but mostly clarified. You might be able to
borrow some code from Apache Jackrabbit.
If you have more WebDAV questions by all means put me on CC because I
might miss mails over here...
Best regards, Julian
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org