Can't delete files on webdav
I'm experiencing issues trying to delete files from my webdav server (lighttpd-1.4.58). Interestingly, I can create and then delete a directory, but I can't do the same with files.
I captured the following logs while creating and deleting the directory ffff
. All good.
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011e90 (GVfsJobQueryInfo)
dav: Query info /ffff
dav: send_reply(0x7f5934011e90), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011df0 (GVfsJobQueryInfo)
dav: Query info /ffff
dav: send_reply(0x7f5934011df0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:Enumerate (pid=191530)
dav: Queued new job 0x562b152d3a50 (GVfsJobEnumerate)
dav: + do_enumerate: /ffff
dav: send_reply(0x562b152d3a50), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011cb0 (GVfsJobQueryInfo)
dav: Query info /ffff
dav: send_reply(0x7f5934011cb0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:Delete (pid=191530)
dav: Queued new job 0x7f59300095c0 (GVfsJobDelete)
dav: send_reply(0x7f59300095c0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011c10 (GVfsJobQueryInfo)
dav: Query info /ffff
dav: send_reply(0x7f5934011c10), failed=1 (HTTP Error: Not Found)
Creating the file amd-iommu
works, but deleting it results in the error message forbidden
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011c10 (GVfsJobQueryInfo)
dav: Query info /amd-iommu
dav: send_reply(0x7f5934011c10), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011df0 (GVfsJobQueryInfo)
dav: Query info /amd-iommu
dav: send_reply(0x7f5934011df0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x562b152bfbf0 (GVfsJobQueryInfo)
dav: Query info /amd-iommu
dav: send_reply(0x562b152bfbf0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:Delete (pid=191530)
dav: Queued new job 0x562b152ccdd0 (GVfsJobDelete)
dav: send_reply(0x562b152ccdd0), failed=1 (Forbidden)
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x7f5934011cb0 (GVfsJobQueryInfo)
dav: Query info /amd-iommu
dav: send_reply(0x7f5934011cb0), failed=0 ()
dav: backend_dbus_handler org.gtk.vfs.Mount:QueryInfo (pid=191530)
dav: Queued new job 0x562b152bfc90 (GVfsJobQueryInfo)
dav: Query info /amd-iommu
dav: send_reply(0x562b152bfc90), failed=0 ()
If I try to perform the same operation using another webdav client (i.e. cadaver) everything works as expected.
If I look server-side, when I try to delete the file, I only see the same PROPFIND request 5 times before gvfs declares the failure.
Here is the XML request send to the server...
<?xml version="1.0" encoding="utf-8"?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:creationdate />
<D:displayname />
<D:getcontentlength />
<D:getcontenttype />
<D:getetag />
<D:getlastmodified />
<D:resourcetype />
</D:prop>
</D:propfind>
... and the response sent by the webdav server.
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">
<D:response>
<D:href>/webdav/amd-iommu</D:href>
<D:propstat>
<D:prop>
<D:getcontentlength>1500</D:getcontentlength>
<D:getcontenttype>application/octet-stream</D:getcontenttype>
<D:getetag>"1290094691"</D:getetag>
<D:getlastmodified ns0:dt="dateTime.rfc1123">Tue, 02 Mar 2021 23:08:55 GMT</D:getlastmodified>
<D:resourcetype />
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
<D:propstat>
<D:prop>
<creationdate xmlns="DAV:" />
<displayname xmlns="DAV:" />
</D:prop>
<D:status>HTTP/1.1 404 Not Found</D:status>
</D:propstat>
</D:response>
</D:multistatus>
Please let me know if I can provide any additional pieces of information.