My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Gnome  
Gnome GVFS client
Clients
Updated Oct 9, 2011 by evert...@gmail.com

Gnome GVFS client

The Gnome client is a pretty good client, and will do only a little number of requests.

Implementer info

Spotted UA: gvfs/1.4.1

Protocol details

Properties

Gnome will request the following properties:

  • {DAV:}creationdate
  • {DAV:}displayname
  • {DAV:}getcontentlength
  • {DAV:}getcontenttype
  • {DAV:}getetag
  • {DAV:}getlastmodified
  • {DAV:}resourcetype

Redirect References

Gnome seems to specify the header:

Apply-To-Redirect-Ref: T

This is defined in RFC 4437, and seems to indicate it has support for this. This is very interesting, because it might mean it perhaps supports hopping from server to server, or softlinks. (needs some investigation).

Copying directories

Copying directories completely fails. GVFS does a GET on the source url, and a PUT on the destination url. While this works fine for files, for directories it's broken.

Often times this results in a file being created at the destination, with the contents of whatever a GET on the source was, often a html index.

While devising a workaround would be possible (completely serialize and unserialize the directory structure with GET and PUT), this would be dubbed insane.

Reference: Gnome bug 551339

Url encoding

Gnome did not seem to like url-encoding of ( and ). While these have no special meaning in http urls, these are considered 'reserved' and encoded by for example php's urlencode.

SabreDAV 1.0.12 and 1.2.0alpha1 will ship with a custom urlencoder for this purpose.

A more severe issue is that recent versions don't deal well with encoded characters at all. SabreDAV defaults to encoding characters to lower-case (%c3%a1), while Nautilus only seems to accept them as upper-case (%C1%A1).

Creating empty files

Reference: Gnome bug 603422

Gnome has a feature to create a new empty document using the Nautilus interface. Gnome will do this with a PUT request with no body. It also doesn't send a Content-Length header, which might cause a problem for some webservers, which could respond with '411 Length Required'

Copying or moving directories

The copy and move behaviour for directories in gnome/gvfs is completely broken. The client issues a GET request on the source directory and then issues a PUT with the contents of that last GET. In the case of SabreDAV (and many other servers) this means that a file is created containing the HTML-index of the source directory.

Relevant gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=551339


Sign in to add a comment
Powered by Google Project Hosting