WebDAV: DELETE on folder should use URL with trailing slash
Affected version
3.36.3-efc97f8a from Manjaro Linux
Steps to reproduce
- Set up an nginx Web server with WebDAV support.
- With nautilus, connect to the WebDAV share (davs://host/)
- Create a directory in nautilus (e.g. "dir1"). Nautilus will send a MKCOL request, which works fine.
- Delete this directory again. Nautilus sends DELETE /dir1. Now, nginx returns 409 Conflict, because it expects DELETE /dir1/.
Current behavior
Deleting a directory of a basic nginx WebDAV share doesn't work because Nautilus sends collection URLs without trailing slash.
Expected behavior
There is a standing convention that when a collection is referred to by its name without a trailing slash, the server MAY handle the request as if the trailing slash were present. […] In general, clients SHOULD use the trailing slash form of collection names.
Additional information
- I'll report this to nginx too. Although the server requirement is only MAY, it would increase compatibility with clients that work like the current Nautilus version.
- COPY/MOVE also don't work, I guess for the same reason. See also https://cetteup.com/36/cant-create-or-delete-directories-on-an-nginx-webdav-server-here-is-how-to-fix-that/
- For more information about trailing slashes and WebDAV and how nginx interprets it, see here: https://trac.nginx.org/nginx/ticket/1966
Edited by Ghost User