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

Reply via email to