<div>Hi,</div><div><br></div><div> I already have annoyed a few people (mainly icewind, though) in the irc </div><div>channel about a bug I have:</div><div>If I connect to my owncloud server through webdav, and try to create or upload </div>
<div>some file, I get an error :</div><div> "the file or folder [myip] doesn't exists" </div><div>(with [myip] being the ip of the server)</div><div>With cadaver, trying to upload a file:</div><div>dav:/owncloud/webdav/owncloud.php/> put <a href="http://temp.ml">temp.ml</a></div>
<div>Uploading <a href="http://temp.ml">temp.ml</a> to `/owncloud/webdav/owncloud.php/<a href="http://temp.ml">temp.ml</a>':</div><div>Progress: [=============================>] 100,0% of 21 bytes failed:</div><div>
501 Not Implemented</div><div><br></div><div>This is my config (but apparently it happens also with apache or php4):</div><div>Debian armel / lighttpd / php5 / mysql</div><div><br></div><div>I tested my webdav install (lighttpd-mod-webdav package) using litmus </div>
<div>testsuite. Here is the result:</div><div> For http://[myip]/owncloud/webdav/owncloud.php:</div><div>> -> running `basic':</div><div>>  0. init.................. pass</div><div>>  1. begin................. pass</div>
<div>>  2. options............... pass</div><div>>  3. put_get............... FAIL (PUT of </div><div>`/owncloud/webdav/owncloud.php/litmus/res' failed: 501 Not Implemented)</div><div>>  4. put_get_utf8_segment.. FAIL (PUT of </div>
<div>`/owncloud/webdav/owncloud.php/litmus/res-%e2%82%ac' failed: 501 Not </div><div>Implemented)</div><div>>  5. put_no_parent......... pass</div><div>>  6. mkcol_over_plain...... SKIPPED</div><div>>  7. delete................ SKIPPED</div>
<div>>  8. delete_null........... pass</div><div>>  9. delete_fragment....... pass</div><div>> 10. mkcol................. pass</div><div>> 11. mkcol_again........... pass</div><div>> 12. delete_coll........... pass</div>
<div>> 13. mkcol_no_parent....... pass</div><div>> 14. mkcol_with_body....... pass</div><div>> 15. finish................ pass</div><div>> -> 2 tests were skipped.</div><div>> <- summary for `basic': of 14 tests run: 12 passed, 2 failed. 85.7%</div>
<div><br></div><div>I guess the "put_get: FAIL" is the reason why I can't create a file through </div><div>webdav.</div><div><br></div><div> But for http://[myip]/testwebdav (this a virtual host with webdav enabled on </div>
<div>the same server):</div><div>> -> running `basic':</div><div>>  0. init.................. pass</div><div>>  1. begin................. pass</div><div>>  2. options............... pass</div><div>>  3. put_get............... pass</div>
<div>>  4. put_get_utf8_segment.. pass</div><div>>  5. put_no_parent......... pass</div><div>>  6. mkcol_over_plain...... pass</div><div>>  7. delete................ pass</div><div>>  8. delete_null........... pass</div>
<div>>  9. delete_fragment....... WARNING: DELETE removed collection resource with </div><div>Request-URI including fragment; unsafe</div><div>>     ...................... pass (with 1 warning)</div><div>> 10. mkcol................. pass</div>
<div>> 11. mkcol_again........... pass</div><div>> 12. delete_coll........... pass</div><div>> 13. mkcol_no_parent....... pass</div><div>> 14. mkcol_with_body....... pass</div><div>> 15. finish................ pass</div>
<div>> <- summary for `basic': of 16 tests run: 16 passed, 0 failed. 100.0%</div><div>> -> 1 warning was issued.</div><div>> -> running `copymove':</div><div>>  0. init.................. pass</div>
<div>>  1. begin................. pass</div><div>>  2. copy_init............. pass</div><div>>  3. copy_simple........... FAIL (simple resource COPY:</div><div>> 409 Conflict)</div><div>>  4. copy_overwrite........ WARNING: COPY-on-existing fails with 412</div>
<div>>     ...................... FAIL (COPY-on-existing with 'Overwrite: T' should </div><div>succeed (RFC2518:S8.8.4): 409 Conflict)</div><div>>  5. copy_nodestcoll....... pass</div><div>>  6. copy_cleanup.......... pass</div>
<div>>  7. copy_coll............. FAIL (collection COPY `/webdav/litmus/ccsrc/' to </div><div>`/webdav/litmus/ccdest/': 403 Forbidden)</div><div>>  8. copy_shallow.......... FAIL (MKCOL on `/webdav/litmus/ccsrc/': 405 </div>
<div>Method Not Allowed)</div><div>>  9. move.................. FAIL (MOVE `/webdav/litmus/move' to </div><div>`/webdav/litmus/movedest': 409 Conflict)</div><div>> 10. move_coll............. FAIL (collection COPY `/webdav/litmus/mvsrc/' to </div>
<div>`/webdav/litmus/mvdest2/', depth infinity: 403 Forbidden)</div><div>> 11. move_cleanup.......... pass</div><div>> 12. finish................ pass</div><div>> <- summary for `copymove': of 13 tests run: 7 passed, 6 failed. 53.8%</div>
<div><br></div><div>So it shows that all the basics WebDAV fonctions are working on my server, if </div><div>I'm using it independently from Owncloud. Hence the bugs comes from how </div><div>Owncloud interacts with WebDAV... (= HTTP_WebDAV_Server ?) </div>
<div><br></div><div><br></div><div>************</div><div>Also I tryed to understand a bit how webDAV on Owncloud is working. Apparently </div><div>Owncloud uses this php interface for webDAV :</div><div><a href="http://pear.php.net/package/HTTP_WebDAV_Server/">http://pear.php.net/package/HTTP_WebDAV_Server/</a></div>
<div>It is in RC since 2005 and didn't move since 2006.</div><div>Also the website says this code is not maintained anymore, and that this </div><div>project does depends on PHP 4.4 ...</div><div><br></div><div>Maybe an alternative may be this:</div>
<div><a href="http://www.ezcomponents.org/docs/api/trunk/introduction_Webdav.html">http://www.ezcomponents.org/docs/api/trunk/introduction_Webdav.html</a></div><div>It is New BSD -licenced and apparently actively developped. I didn't looked </div>
<div>that much into it .</div><div>(Also it becomes an Apache Foundation project 2 days ago :</div><div><a href="http://share.ez.no/blogs/ez/goodbye-ez-components-welcome-zeta-components">http://share.ez.no/blogs/ez/goodbye-ez-components-welcome-zeta-components</a>)</div>
<div><br></div><div><br></div><div>bzhb</div><div><br></div>