https://redmine.lighttpd.net/https://redmine.lighttpd.net/favicon.ico?13667327412005-09-23T16:47:40Zlighty labsLighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6222005-09-23T16:47:40Zjan
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Assigned</i></li></ul> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6232005-10-12T16:25:23ZAnonymous
<ul></ul><p>I have a similar problem (not sure if it is the same). When I browse the webdav server from windows xp some, seemingly random folders don't show up, while others do. When i browse from linux with cadaver all folders show up, but when i try to ls in the folders that didn't show up in windows xp I get the following error from cadaver: "XML parse error at line 771: xmlParseEntityRef: no name ."</p>
<p>-- jonlst</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6242005-11-05T06:26:58ZAnonymous
<ul></ul><p>Hi,</p>
<p>Characters must be URI-escaped and XML-escaped before they are put into DAV:href element of a XML document (e.g. a PROPFIND response). But in mod_webdav, they are not:</p>
<pre>
#!c
buffer_append_string(b,"<D:href>");
buffer_append_string_buffer(b, con->uri.scheme);
buffer_append_string(b,"://");
buffer_append_string_buffer(b, con->uri.authority);
buffer_append_string_buffer(b, con->uri.path);
buffer_append_string(b,"</D:href>\n");
</pre>
<p>Here's a thread discussing character escaping in Apache's mod_dav:<br /><a class="external" href="http://mailman.lyra.org/pipermail/dav-dev/2003-June/004761.html">http://mailman.lyra.org/pipermail/dav-dev/2003-June/004761.html</a></p>
<p>You can see how Apache mod_dav does it by downloading its source and check mod_dav.c -> dav_send_multistatus() -> dav_xml_escape_uri():</p>
<pre>
#!c
ap_rputs(DEBUG_CR "<D:href>", r);
ap_rputs(dav_xml_escape_uri(r->pool, first->href), r);
ap_rputs("</D:href>" DEBUG_CR, r);
</pre>
<p>And, for your convenience, here's mod_dav's source:<br /><a class="external" href="http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz">http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz</a></p>
<p>-- iclaymore</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6252005-11-05T15:35:46ZAnonymous
<ul></ul><p>My previous patch fixed the bug by encoding some characters, but I'm not sure whether the list of characters encoded is complete or not.</p>
<p><a class="external" href="http://trac.lighttpd.net/trac/attachment/ticket/266/uri_escape.diff">http://trac.lighttpd.net/trac/attachment/ticket/266/uri_escape.diff</a></p>
<p>buffer_append_string_uri_encoded() is the same as buffer.c::buffer_append_string_url_encoded(), except that '/' is not encoded.</p>
<p>I've tested it a bit. Filenames with spaces inside can now be displayed correctly at client side (OS X 10.4.3).</p>
<p>-- iclaymore</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6262005-11-07T13:17:26Zjan
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Fixed</i></li><li><strong>Resolution</strong> set to <i>fixed</i></li></ul><p>I cleaned up the code in buffer.c and added encoding like you described in changeset r822.</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6272005-11-07T17:05:48ZAnonymous
<ul></ul><p>Thank you.</p>
<p>-- iclaymore</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6282008-06-25T08:39:11ZAnonymous
<ul><li><strong>Status</strong> changed from <i>Fixed</i> to <i>Need Feedback</i></li><li><strong>Resolution</strong> deleted (<del><i>fixed</i></del>)</li></ul><p>This fix is incomplete. eg/ie the dav module does not %-encode '[' or ']'. This is not in compliance with weth RFC 3986. It means for example, that any webdav client using the neon library (eg davfs2) fails to see sub-folders with [ or ] in them.</p>
<p>-- tj.trevelyan</p> Lighttpd - Bug #266: WebDAV sub-folders not visiblehttps://redmine.lighttpd.net/issues/266?journal_id=6292008-08-01T17:54:28Zstbuehler
<ul><li><strong>Status</strong> changed from <i>Need Feedback</i> to <i>Fixed</i></li><li><strong>Resolution</strong> set to <i>fixed</i></li></ul><p>Fixed in r2272.</p>