[Owncloud] webDAV "put" bug

bzh b bzhbok at gmail.com
Wed Apr 21 00:43:45 UTC 2010


Hi,

 I already have annoyed a few people (mainly icewind, though) in the irc
channel about a bug I have:
If I connect to my owncloud server through webdav, and try to create or
upload
some file, I get an error :
 "the file or folder [myip] doesn't exists"
(with [myip] being the ip of the server)
With cadaver, trying to upload a file:
dav:/owncloud/webdav/owncloud.php/> put temp.ml
Uploading temp.ml to `/owncloud/webdav/owncloud.php/temp.ml':
Progress: [=============================>] 100,0% of 21 bytes failed:
501 Not Implemented

This is my config (but apparently it happens also with apache or php4):
Debian armel / lighttpd / php5 / mysql

I tested my webdav install (lighttpd-mod-webdav package) using litmus
testsuite. Here is the result:
 For http://[myip]/owncloud/webdav/owncloud.php:
> -> running `basic':
>  0. init.................. pass
>  1. begin................. pass
>  2. options............... pass
>  3. put_get............... FAIL (PUT of
`/owncloud/webdav/owncloud.php/litmus/res' failed: 501 Not Implemented)
>  4. put_get_utf8_segment.. FAIL (PUT of
`/owncloud/webdav/owncloud.php/litmus/res-%e2%82%ac' failed: 501 Not
Implemented)
>  5. put_no_parent......... pass
>  6. mkcol_over_plain...... SKIPPED
>  7. delete................ SKIPPED
>  8. delete_null........... pass
>  9. delete_fragment....... pass
> 10. mkcol................. pass
> 11. mkcol_again........... pass
> 12. delete_coll........... pass
> 13. mkcol_no_parent....... pass
> 14. mkcol_with_body....... pass
> 15. finish................ pass
> -> 2 tests were skipped.
> <- summary for `basic': of 14 tests run: 12 passed, 2 failed. 85.7%

I guess the "put_get: FAIL" is the reason why I can't create a file through
webdav.

 But for http://[myip]/testwebdav (this a virtual host with webdav enabled
on
the same server):
> -> running `basic':
>  0. init.................. pass
>  1. begin................. pass
>  2. options............... pass
>  3. put_get............... pass
>  4. put_get_utf8_segment.. pass
>  5. put_no_parent......... pass
>  6. mkcol_over_plain...... pass
>  7. delete................ pass
>  8. delete_null........... pass
>  9. delete_fragment....... WARNING: DELETE removed collection resource
with
Request-URI including fragment; unsafe
>     ...................... pass (with 1 warning)
> 10. mkcol................. pass
> 11. mkcol_again........... pass
> 12. delete_coll........... pass
> 13. mkcol_no_parent....... pass
> 14. mkcol_with_body....... pass
> 15. finish................ pass
> <- summary for `basic': of 16 tests run: 16 passed, 0 failed. 100.0%
> -> 1 warning was issued.
> -> running `copymove':
>  0. init.................. pass
>  1. begin................. pass
>  2. copy_init............. pass
>  3. copy_simple........... FAIL (simple resource COPY:
> 409 Conflict)
>  4. copy_overwrite........ WARNING: COPY-on-existing fails with 412
>     ...................... FAIL (COPY-on-existing with 'Overwrite: T'
should
succeed (RFC2518:S8.8.4): 409 Conflict)
>  5. copy_nodestcoll....... pass
>  6. copy_cleanup.......... pass
>  7. copy_coll............. FAIL (collection COPY `/webdav/litmus/ccsrc/'
to
`/webdav/litmus/ccdest/': 403 Forbidden)
>  8. copy_shallow.......... FAIL (MKCOL on `/webdav/litmus/ccsrc/': 405
Method Not Allowed)
>  9. move.................. FAIL (MOVE `/webdav/litmus/move' to
`/webdav/litmus/movedest': 409 Conflict)
> 10. move_coll............. FAIL (collection COPY `/webdav/litmus/mvsrc/'
to
`/webdav/litmus/mvdest2/', depth infinity: 403 Forbidden)
> 11. move_cleanup.......... pass
> 12. finish................ pass
> <- summary for `copymove': of 13 tests run: 7 passed, 6 failed. 53.8%

So it shows that all the basics WebDAV fonctions are working on my server,
if
I'm using it independently from Owncloud. Hence the bugs comes from how
Owncloud interacts with WebDAV... (= HTTP_WebDAV_Server ?)


************
Also I tryed to understand a bit how webDAV on Owncloud is working.
Apparently
Owncloud uses this php interface for webDAV :
http://pear.php.net/package/HTTP_WebDAV_Server/
It is in RC since 2005 and didn't move since 2006.
Also the website says this code is not maintained anymore, and that this
project does depends on PHP 4.4 ...

Maybe an alternative may be this:
http://www.ezcomponents.org/docs/api/trunk/introduction_Webdav.html
It is New BSD -licenced and apparently actively developped. I didn't looked
that much into it .
(Also it becomes an Apache Foundation project 2 days ago :
http://share.ez.no/blogs/ez/goodbye-ez-components-welcome-zeta-components)


bzhb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/owncloud/attachments/20100421/7f0ddfc3/attachment.html>


More information about the Owncloud mailing list