Menu

LibreOffice

Adam Tauno Williams

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.

Special Properties

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

Requests

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?

Tips

  • You can make LibreOffice use it's own Open/Save dialog box, thus ensuring you will get the built in WebDAV client, by settings the "Use LibreOffice dialogs" under the "Open/Save Dialogs" in Tools (menu) -> Options (selection) -> LibrOffice (section) -> General (section).

Related

Wiki: Clients

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.