Bug 183072 - webdav properties in wrong namespace
Summary: webdav properties in wrong namespace
Status: RESOLVED FIXED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: http (show other bugs)
Version: 4.9-Git
Platform: Compiled Sources Unspecified
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-03 23:17 UTC by Armijn Hemel
Modified: 2012-01-27 13:20 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.1


Attachments
patch to remove 'executable' from the http kioslave (354 bytes, patch)
2010-05-09 20:20 UTC, Armijn Hemel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Armijn Hemel 2009-02-03 23:17:16 UTC
Version:            (using Devel)
Installed from:    Compiled sources

In kioslave/http/http.cpp there is the following snippet of "code":

      // No special request, ask for default properties
      request += "<D:prop>"
      "<D:creationdate/>"
      "<D:getcontentlength/>"
      "<D:displayname/>"
      "<D:source/>"
      "<D:getcontentlanguage/>"
      "<D:getcontenttype/>"
      "<D:executable/>"
      "<D:getlastmodified/>"
      "<D:getetag/>"
      "<D:supportedlock/>"
      "<D:lockdiscovery/>"
      "<D:resourcetype/>"
      "</D:prop>";
    }
    request += "</D:propfind>";

Apart from the fact that this is a bit ugly to write XML (please, what's wrong with using a little bit of Qdom? There already is tons of it in there) there is also a bug. The 'executable' property is not part of the DAV: namespace according to the WebDAV specifications:

http://www.webdav.org/specs/rfc4918.html

but is an extension that is unique to mod_dav:

http://www.webdav.org/mod_dav/

(see "mod_dav's custom properties"). If you read what it is meant to do it is best to remove it.
Comment 1 Armijn Hemel 2010-05-09 20:20:44 UTC
Created attachment 43404 [details]
patch to remove 'executable' from the http kioslave

This one liner patch removes the 'executable' element from the XML that is sent by the kioslave, to make it comply with the official WebDAV standards.
Comment 2 Armijn Hemel 2010-05-09 20:23:53 UTC
The patch that I just sent does not remove the code that is parsing the response from the WebDAV server, it just removes the element from the XML. The code that parses the response should be rewritten too, but at least with this patch it is not sending out WebDAV requests that are WebDAV incompliant.
Comment 3 jos poortvliet 2011-03-11 00:11:30 UTC
Looks like WebDav ain't very actively maintained, sorry Armijnie-man ;-)
Comment 4 Martin Sandsmark 2011-03-17 21:19:16 UTC
could you please adapt your patch so instead of removing the functionality outright, it instead uses the correct namespace for the executable property?
Comment 5 Armijn Hemel 2011-03-19 13:42:37 UTC
The executable property is an extension specific to the Apache WebDAV implementation only. Other WebDAV implementations do not implement this at all, so removing the property makes perfect sense right now.
Comment 6 Martin Sandsmark 2011-03-22 00:33:39 UTC
The apache webdav is at the moment the most popular webdav implementation in use, isn't it?

And it would still be a regression removing the functionality.
Comment 7 Armijn Hemel 2011-03-22 12:12:57 UTC
Eh? How can something that has been broken for at least a few *years* be a regression if it is removed?

Anyway, the namespace should be http://apache.org/dav/props/

I'll try to come up with a new patch, time allowing.

Related: WebDAV in KDE is pretty much broken in my opinion. You could do *so* much more with it and it would not be that difficult. The code would just need some love.
Comment 8 Dawit Alemayehu 2011-12-24 04:05:51 UTC
If you want any action to be taken on WebDAV support, please report against the proper Product and component which is "kio" and "http" respectively. Otherwise, no one will ever find any patches you post and act upon them.

Even though I am not the one that implemented WebDAV support in kio_http, I have been fixing several issues that were reported against it ; so if you report the issues to the right place,  it will likely be acted upon.
Comment 9 Armijn Hemel 2011-12-24 10:52:20 UTC
I apologise, I found it in the kdelibs directory, and I am not that intimate with the KDE source tree to realise it was actually kio. Thank you for reassigning it ot the right component :-)

As I said above, the code that handles the 'executable' functionality has never worked because the property is in the wrong namespace. None of the Apache webservers out there has ever supported that property in this namespace.
Comment 10 Dawit Alemayehu 2012-01-13 15:53:41 UTC
Git commit 066637a7bf200efea551532ae3f3723a7884cd30 by Dawit Alemayehu.
Committed on 10/01/2012 at 22:25.
Pushed by adawit into branch 'KDE/4.8'.

Removed a non-standard WebDAV property (executable) from list of properties
requested during a PROPFIND request.
FIXED-IN: 4.8.1

M  +0    -1    kioslave/http/http.cpp

http://commits.kde.org/kdelibs/066637a7bf200efea551532ae3f3723a7884cd30
Comment 11 Sebastian Trueg 2012-01-27 13:20:54 UTC
Git commit faec33ee91e01c29f6e83f03acbb836ed65a2d29 by Sebastian Trueg, on behalf of Dawit Alemayehu.
Committed on 10/01/2012 at 22:25.
Pushed by trueg into branch 'KDE/4.8'.

Removed a non-standard WebDAV property (executable) from list of properties
requested during a PROPFIND request.
FIXED-IN: 4.8.1

M  +0    -1    kioslave/http/http.cpp

http://commits.kde.org/kdelibs/faec33ee91e01c29f6e83f03acbb836ed65a2d29