LibreOffice contains a built-in WebDAV Client
User Agent String: LibreOffice
OpenGrouwpare Coils Client Id: Undefined
A save results in a couple of PROPFINDs that use the correct authenticated, followed by a PUT. The LibreOffice client then appears to perform numerous PROPFIND operations, but does so without any authentication.
"PROPFIND /dav/Projects/test123/Documents/ HTTP/1.0" 401 -
"PROPFIND /dav/Projects/test123/Documents/ HTTP/1.0" 207 -
"PROPFIND /dav/Projects/test123/Documents/ HTTP/1.0" 207 -
"PUT /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 204 -
"PROPFIND /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
"PROPFIND /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
"PROPFIND /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
"PROPFIND /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
"HEAD /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
"PROPFIND /dav/Projects/test123/Documents/vcard-21-1.odt HTTP/1.0" 401 -
It very much likes to send PROPFIND requests for the following properties:
* DAV:getcontentlength
* DAV:getlastmodified
* DAV:creationdate
* DAV:resourcetype
Strangely, at least as of 0.1.49, LibreOffice cannot open or save a file from a GNOME VFS mounted WebDAV share (although other applications can) but can do so if the application is used to open the file - hence invoking the embedded WebDAV client.
Theoretical Properties
According to documentation it uses these properties as well, but they haven't been seen in the wild for a long time.
- http://ucb.openoffice.org/dav/props/ContentType
- http://ucb.openoffice.org/dav/props/DateCreated
- http://ucb.openoffice.org/dav/props/DateModified
- http://ucb.openoffice.org/dav/props/IsDocument
- http://ucb.openoffice.org/dav/props/IsFolder
- http://ucb.openoffice.org/dav/props/MediaType
- http://ucb.openoffice.org/dav/props/Size : apparently mapped from the getcontentlength attribute
The LibreOffice client makes the following request quite consistently.
Connection: close
TE: trailers
Depth: 0
Content-Length: 237
Content-Type: application/xml
Pragma: no-cache
User-Agent: LibreOffice
Authorization: Basic YXdpbGxpYW06ZnJlZDEyMw==
<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
<prop>
<resourcetype xmlns="DAV:"/>
<IsReadOnly xmlns="http://ucb.openoffice.org/dav/props/"/>
<getcontenttype xmlns="DAV:"/>
<supportedlock xmlns="DAV:"/>
</prop>
</propfind>
Currently (2012-11-25) we respond with all the properties except http://ucb.openoffice.org/dav/props/IsReadOnly (for that we return 404). But our DAV:supportedlock response is empty. Is it possible that LibreOffice doesn't like that?