Cyberduck Mountain Duck CLI

#5816 closed defect (thirdparty)

Failure to list WebDAV directories when a file is locked

Reported by: icrew Owned by: dkocher
Priority: normal Milestone: 4.1
Component: webdav Version: 4.0.1
Severity: critical Keywords:
Cc: icrew@… Architecture: Intel
Platform: Mac OS X 10.6

Description (last modified by icrew)

We use Cyberduck to access the WebDAV server on the Alfresco's Enterprise Content Management solution (see http://www.alfresco.com).

It works really well, unless a file in a directory is locked by Alfresco. In that case, the listing of that directory is blank in Cyberduck. We've run traces of the interaction with Wireshark, and it appears that if the PROPFIND from the server returns results similar to the following on any single file in a directory, Cyberduck will refuse to list all of the contents of that directory. By "refuse to list" I mean that the directory appears to have nothing in it when you view it in Cyberduck, even if you upload a new file using Cyberduck. No error message is displayed or logged.

 <D:response>
    <D:href>/alfresco/webdav/Data%20Dictionary/.DS_Store</D:href>
    <D:propstat>
      <D:prop>
        <D:displayname>.DS_Store</D:displayname>
        <D:getcontentlength>6148</D:getcontentlength>
        <D:getcontenttype>application/octet-stream</D:getcontenttype>
        <D:resourcetype></D:resourcetype>
        <D:getlastmodified>Thu, 18 Nov 2010 23:04:47 GMT</D:getlastmodified>
        <D:lockdiscovery>
          <D:activelock>
            <D:locktype>
              <D:write/></D:locktype>
            <D:lockscope>
              <D:D:exclusive/></D:lockscope>
            <D:depth>0</D:depth>
            <D:owner></D:owner>
            <D:timeout>Infinite</D:timeout>
            <D:locktoken>
              <D:href>opaquelocktoken:28e080a3-2a77-4f35-a786-af0b984e6929:null</D:href>
            </D:locktoken>
          </D:activelock>
        </D:lockdiscovery>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>

I'd be happy to make the complete Wireshark logs available if that would be helpful, but I'd rather not have them posted publicly. Please contact me offline if you'd like me to give them to you.

I've done some experimenting with other WebDAV clients, and have discovered the following regarding this problem.

Clients that do exhibit this issue:

  • Cyberduck (3.x, 4.0, 4.0.1, 4.0.2)
  • AnyClient

Several that don't:

  • Cadaver
  • Windows XP built-in client
  • Windows 7 built-in client
  • Mac OS X Finder built-in client
  • Transmit

Thanks,

Ian Crew
Platform and Services Manager, Research Hub
Information Services and Technology-Data Services
University of California, Berkeley
http://hub.berkeley.edu

Change History (6)

comment:1 Changed on Mar 22, 2011 at 5:28:12 PM by icrew

  • Description modified (diff)

To clarify one thing

comment:2 Changed on May 20, 2011 at 11:58:34 AM by dkocher

  • Milestone set to 4.1
  • Status changed from new to assigned

I have been working on Sardine as a replacement for the current WebDAV protocol implementation in Cyberduck. I'll let you know when a snapshot build is ready for testing and we will debug further then if the issue is still open.

comment:3 Changed on May 20, 2011 at 2:05:25 PM by dkocher

  • Resolution set to worksforme
  • Status changed from assigned to closed

Please test with the latest snapshot build (r8689 or later) available shortly.

comment:4 Changed on May 20, 2011 at 2:36:50 PM by icrew

  • Cc icrew@… added
  • Resolution worksforme deleted
  • Status changed from closed to reopened

Thanks for the update. I just tried it with version 4.0.3 (8692), and I'm still seeing the issue.

There is a change, though: It shows a little red do-not-enter symbol on an affected directory sometimes. It sort of comes and goes when I try to double-click into the folder--sometimes it shows up, sometimes it doesn't. A portion of the times when it's showing, I can't open the directory, but sometimes I can.

When I can open the folder, unfortunately I still don't see any contents.

BTW, We're actually hoping that it'll end up working like Cadaver/Windows/Mac/Transmit, in that the user will be allowed to click into the folder, and will see the contents of that folder....from what (little) we've been able to establish, that's what should be happening.

Thanks again for your work on this, and please do let me know if there's anything else I can do to help!

comment:5 Changed on May 24, 2011 at 1:58:49 PM by dkocher

  • Resolution set to thirdparty
  • Status changed from reopened to closed

Looking closer at this response it looks like it is not well formed. <D:lockscope><D:D:exclusive/></D:lockscope> is not valid.

Element type "D:D" must be followed by either attribute specifications, ">" or "/>".

Can you please report this issue to the server vendor.

comment:6 Changed on Jun 28, 2011 at 9:59:03 PM by icrew

Just a quick note to say thanks for your help on this. You were right--it was a bug in Alfresco.

Some details, in case anyone else runs across this:

It turns out that this mal-formed XML was due to a bug in Alfresco version 3.3.3 (and possibly prior to that). Upgrading to 3.3.4 or later fixes the bug, but it may be necessary--it was in my case--to use a script to go through and manually delete the locks that were created prior to version 3.3.4.

Note: See TracTickets for help on using tickets.
swiss made software