Cyberduck Mountain Duck CLI

#6126 closed defect (fixed)

Folders are appearing as files

Reported by: Angusbradley Owned by: dkocher
Priority: normal Milestone: 4.1.1
Component: webdav Version: 4.1
Severity: normal Keywords: webdav, ssl
Cc: Architecture: Intel
Platform: Mac OS X 10.7

Description

Since the upgrade to 4.1, when I connect to our webdav server, the folder list displays as a list of unknown document types. When I click on a folder, it attempts to download it.

This was ok in 4.0

Many thanks

Angus

Attachments (1)

folder file error.jpg (36.5 KB) - added by Angusbradley on Aug 2, 2011 at 10:56:12 AM.

Download all attachments as: .zip

Change History (13)

Changed on Aug 2, 2011 at 10:56:12 AM by Angusbradley

comment:1 Changed on Aug 8, 2011 at 2:27:28 PM by dkocher

Is it possible to get a test account on this server?

comment:2 Changed on Aug 17, 2011 at 2:05:47 PM by http://r0bcas7.myopenid.com/

Same problem here with WebDAV on a Zope server. Cyberduck 4.0 works fine, since 4.1 all directories look like files.

Do you still need a test account? (my email is on here: http://www.mpiwg-berlin.mpg.de/en/staff/members/casties )

Thanks

Robert

comment:3 Changed on Aug 17, 2011 at 2:18:34 PM by dkocher

  • Milestone set to 4.1.2
  • Summary changed from under webdav, folders are appearing as files, 4.1 to Folders are appearing as files

comment:4 Changed on Aug 17, 2011 at 3:53:34 PM by dkocher

Sample response from Zope server to PROPFIND request.

<?xml version="1.0" encoding="UTF-8"?>
<d:multistatus xmlns:d="DAV:">
	<d:response>
		<d:href>/webdavtest/</d:href>
		<d:propstat xmlns:n="http://www.zope.org/propsets/default">
			<d:prop>
				<n:title>WebDAV test f[0xc3][0x83][0xc2][0xbc]r Cyberduck</n:title>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
		<d:propstat xmlns:n="DAV:">
			<d:prop>
				<n:creationdate>1970-01-01T12:00:00Z</n:creationdate>
				<n:displayname>WebDAV test f[0xc3][0x83][0xc2][0xbc]r Cyberduck</n:displayname>
				<n:resourcetype>
					<n:collection/>
				</n:resourcetype>
				<n:getcontenttype/>
				<n:getcontentlength/>
				<n:source/>
				<n:supportedlock>
					<n:lockentry>
						<d:lockscope>
							<d:exclusive/>
						</d:lockscope>
						<d:locktype>
							<d:write/>
						</d:locktype>
					</n:lockentry>
				</n:supportedlock>
				<n:lockdiscovery>

</n:lockdiscovery>
				<n:getlastmodified>Wed, 17 Aug 2011 14:49:04 GMT</n:getlastmodified>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
	</d:response>
	<d:response>
		<d:href>/webdavtest/acl_users</d:href>
		<d:propstat xmlns:n="DAV:">
			<d:prop>
				<n:creationdate>1970-01-01T12:00:00Z</n:creationdate>
				<n:displayname>U"
ser Folder</n:displayname>
				<n:resourcetype/>
				<n:getcontenttype/>
				<n:getcontentlength/>
				<n:source/>
				<n:supportedlock>
					<n:lockentry>
						<d:lockscope>
							<d:exclusive/>
						</d:lockscope>
						<d:locktype>
							<d:write/>
						</d:locktype>
					</n:lockentry>
				</n:supportedlock>
				<n:lockdiscovery>

</n:lockdiscovery>
				<n:getlastmodified>Wed, 17 Aug 2011 14:46:48 GMT</n:getlastmodified>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
	</d:response>
	<d:response>
		<d:href>/webdavtest/bild1.png</d:href>
		<d:propstat xmlns:n="http://www.zope.org/propsets/default">
			<d:prop>
				<n:title/>
				<n:content_type>image/png</n:content_type>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
		<d:propstat xmlns:n="DAV:">
			<d:prop>
				<n:creationdate>1970-01-01T12:00:00Z</n:creationdate>
				<n:displayname>bild1.png</n:displayname>
				<n:resourcetype/>
				<n:getcontenttype>image/png</n:getcontenttype>
				<n:getcontentlength>548358</n:getcontentlength>
				<n:source/>
				<n:supportedlock>
					<n:lockentry>
						<d:lockscope>
							<d:exclusive/>
						</d:lockscope>
						<d:locktype>
							<d:write/>
						</d:locktype>
					</n:lockentry>
				</n:supportedlock>
				<n:lockdiscovery>

</n:lockdiscovery>
				<n:getlastmodified>Wed, 17 Aug 2011 14:48:51 GMT</n:getlastmodified>
			</d:prop>
			<d:status>HTTP/1.1"
 200 OK</d:status>
		</d:propstat>
	</d:response>
	<d:response>
		<d:href>/webdavtest/folder1/</d:href>
		<d:propstat xmlns:n="http://www.zope.org/propsets/default">
			<d:prop>
				<n:title/>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
		<d:propstat xmlns:n="DAV:">
			<d:prop>
				<n:creationdate>1970-01-01T12:00:00Z</n:creationdate>
				<n:displayname>folder1</n:displayname>
				<n:resourcetype>
					<n:collection/>
				</n:resourcetype>
				<n:getcontenttype/>
				<n:getcontentlength/>
				<n:source/>
				<n:supportedlock>
					<n:lockentry>
						<d:lockscope>
							<d:exclusive/>
						</d:lockscope>
						<d:locktype>
							<d:write/>
						</d:locktype>
					</n:lockentry>
				</n:supportedlock>
				<n:lockdiscovery>

</n:lockdiscovery>
				<n:getlastmodified>Wed, 17 Aug 2011 14:50:18 GMT</n:getlastmodified>
			</d:prop>
			<d:status>HTTP/1.1 200 OK</d:status>
		</d:propstat>
	</d:response>
</d:multistatus>

comment:5 follow-up: Changed on Aug 17, 2011 at 3:55:15 PM by dkocher

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

As one can see from the above output, the Zope server is not WebDAV compliant. The elements in the property collection should be in the default DAV: namespace and not in the proprietary http://www.zope.org/propsets/default namespace which should only be used for custom properties not part of the RFC. Please report as a bug to the Zope development team.

comment:6 in reply to: ↑ 5 Changed on Aug 17, 2011 at 4:13:45 PM by http://r0bcas7.myopenid.com/

Replying to dkocher:

As one can see from the above output, the Zope server is not WebDAV compliant. The elements in the property collection should be in the default DAV: namespace and not in the proprietary http://www.zope.org/propsets/default namespace which should only be used for custom properties not part of the RFC.

I am no expert in DAV but the <n:resourcetype><n:collection/></n:resourcetype> which I assume indicates a Folder is in the DAV: namespace. Only title and content_type are not in this namespace.

Please report as a bug to the Zope development team.

Even if the XML were wrong (I'm not sure it is), couldn't Cyberduck work the same way as it did until V4.1? All other WebDAV clients I use work fine with Zope.

comment:7 follow-up: Changed on Aug 17, 2011 at 4:29:59 PM by dkocher

  • Resolution thirdparty deleted
  • Status changed from closed to reopened

Thanks for your comment. I was skipping over the document too fast. The namespace is right and should be recognized.

comment:8 in reply to: ↑ 7 Changed on Aug 17, 2011 at 5:03:50 PM by http://r0bcas7.myopenid.com/

Replying to dkocher:

Thanks for your comment. I was skipping over the document too fast. The namespace is right and should be recognized.

The XML is ugly, I agree :-) Its a bad idea to use the same namespace abbreviation for different namespaces on different elements.

comment:9 Changed on Aug 17, 2011 at 5:05:20 PM by dkocher

I can confirm this is a bug in Cyberduck/Sardine. Only the first propstat element is taken into account.

comment:10 Changed on Aug 17, 2011 at 5:09:43 PM by dkocher

Fix commited to Sardine.

comment:11 Changed on Aug 17, 2011 at 5:16:39 PM by dkocher

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

In r8977. Thanks for the test environment and bringing this to my attention.

comment:12 Changed on Aug 17, 2011 at 6:23:36 PM by dkocher

  • Milestone changed from 4.1.2 to 4.1.1
Note: See TracTickets for help on using tickets.