On Wed, Oct 16, 2024 at 12:50 PM Julian Reschke <julian.resc...@gmx.de.invalid> wrote: > > 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 :-)
The general idea is to either test and maintain enough, or drop things. > 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. That is a good move. > "If" is not really changed, but mostly clarified. You might be able to > borrow some code from Apache Jackrabbit. I had a look at the IfHeader implementation yesterday. It was quite a bit of code. The feature is certainly more useful to Tomcat than propatch though. > If you have more WebDAV questions by all means put me on CC because I > might miss mails over here... Thanks ! Rémy > Best regards, Julian > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org