After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 664458 - Copying WebDAV folder to local directory fails
Copying WebDAV folder to local directory fails
Status: RESOLVED DUPLICATE of bug 551339
Product: gvfs
Classification: Core
Component: webdav backend
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gvfs-maint
gvfs-maint
Depends on:
Blocks:
 
 
Reported: 2011-11-21 10:07 UTC by Dr. Carsten Leue
Modified: 2012-06-13 11:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dr. Carsten Leue 2011-11-21 10:07:39 UTC
System:
Linux Redhat enterprise with Nautilus 2.28.4

Setup:
- connect to a WebDAV server. For a test I used a free account on http://www.mydrive.net/
- the WebDAV storage contains one folder with one file for testing

Action:
- I drag the folder from the WebDAV storage to a local directory

Expected result:
- the folder and the contained file are copied to the local storage

Actual result:
- The operation shows a progress dialog but the result of the copy operation is a 0-byte file with the name of the folder

Analysis:
I used wireshark to analyze the network traffic and the problem appears to be that Nautilus sends an HTTP GET request to the folder URL. This causes an error on the server. Per WebDAV spec the client should not send a GET request to the folder URL but only to file URLs.

Trace:
(1) Nautilus sends a PROPFIND for the folder, this request looks ok and the response states that this is actually a folder (<d:colllection/>)

PROPFIND /Sample HTTP/1.1
Host: webdav.mydrive.ch
Depth: 0
Content-Type: application/xml
Apply-To-Redirect-Ref: F
User-Agent: gvfs/1.4.3
Authorization: Basic XXXXXX
Content-Length: 235

<?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>HTTP/1.1 207 Multi-Status
Date: Mon, 21 Nov 2011 09:51:20 GMT
Server: Apache/2.2.16 (Debian)
DAV: 1, 3, extended-mkcol, 2
Vary: Accept-Encoding
Content-Length: 616
Connection: close
Content-Type: application/xml; charset=utf-8

<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"><d:response><d:href>/Sample/</d:href><d:propstat><d:prop><d:getlastmodified xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.rfc1123">Thu, 17 Nov 2011 16:06:16 +0000</d:getlastmodified><d:resourcetype><d:collection/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 Ok</d:status></d:propstat><d:propstat><d:prop><d:creationdate/><d:displayname/><d:getcontentlength/><d:getcontenttype/><d:getetag/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>

(2) The next request is a GET on the folder URL. The server responds with an "error", in this case a redirect to some help page. This GET request seems to be the cause of the problem:

GET /Sample HTTP/1.1
Host: webdav.mydrive.ch
User-Agent: gvfs/1.4.3
Authorization: Basic XXXX

HTTP/1.1 302 Found
Date: Mon, 21 Nov 2011 09:51:20 GMT
Server: Apache/2.2.16 (Debian)
Location: http://www.mydrive.ch/help#webdav
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=utf-8


I can see the errorneous behavious on other WebDAV implementations, too
Comment 1 Cosimo Cecchi 2011-11-21 23:28:43 UTC
-> gvfs

Which version of gvfs does your RHEL ship with?
This might as well be fixed already in a newer gvfs version; it's better to ask for support on the RedHat bugzilla for issues on old versions of upstream components.
Comment 2 Dr. Carsten Leue 2011-11-22 08:32:43 UTC
Per HTTP header the GVS version is gvfs/1.4.3

Is there a better way to get a more detailed version description via the command line?
Comment 3 Cosimo Cecchi 2011-11-22 14:47:05 UTC
(In reply to comment #2)
> Per HTTP header the GVS version is gvfs/1.4.3
> 
> Is there a better way to get a more detailed version description via the
> command line?

Yeah, "yum info gvfs" would give you more information.
Comment 4 Dr. Carsten Leue 2011-11-22 15:27:21 UTC
Version info is:

Name        : gvfs
Arch        : x86_64
Version     : 1.4.3
Release     : 12.el6
Size        : 4.6 M
Repo        : installed
From repo   : ftp3-updates
Summary     : Backends for the gio framework in GLib
URL         : http://www.gtk.org
License     : LGPLv2+
Description : The gvfs package provides backend implementations for the gio
            : framework in GLib. It includes ftp, sftp, cifs.

Available Packages
Name        : gvfs
Arch        : i686
Version     : 1.4.3
Release     : 12.el6
Size        : 909 k
Repo        : ftp3-updates
Summary     : Backends for the gio framework in GLib
URL         : http://www.gtk.org
License     : LGPLv2+
Description : The gvfs package provides backend implementations for the gio
            : framework in GLib. It includes ftp, sftp, cifs.
Comment 5 David Nixon 2011-11-28 15:01:07 UTC
Is there any update on this bug? I would like to find a fix for this soon.
Comment 6 Eric Piel 2012-04-15 15:07:46 UTC
I cannot reproduce this bug with the latest version. I have version 1.12.0-0ubuntu6 and copying a webdav directory (either via drag and drop or with copy/paste) works as expected by copying every files and directories inside it.
Comment 7 David Nixon 2012-06-12 21:34:27 UTC
Eric which version do you have exactly? Can you do "yum info gvfs"?
Maybe you have 1.12.???
Comment 8 David Nixon 2012-06-12 21:35:01 UTC
(In reply to comment #6)
> I cannot reproduce this bug with the latest version. I have version
> 1.12.0-0ubuntu6 and copying a webdav directory (either via drag and drop or
> with copy/paste) works as expected by copying every files and directories
> inside it.

Eric which version do you have exactly? Can you do "yum info gvfs"?
Maybe you have 1.12.???
Comment 9 Eric Piel 2012-06-12 21:44:21 UTC
David, as mentioned in the comment that you cited, I'm using version 1.12.0. Tonight, I've tried with 1.12.1, and I can confirm it works as well, at least with the webdav server on which I have an account.
Comment 10 Christian Kellner 2012-06-13 11:07:41 UTC
This most probably is a dup of bug 551339. The fix for that bug went into the 1.9.1. release. I am marking it as a duplicated now. If you find I am mistaken please reopen (and please provide an update log output - export GVFS_HTTP_DEBUG=all && /usr/libexec/gvfsd --replace).

*** This bug has been marked as a duplicate of bug 551339 ***