-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WHM/cPanel WebDAV fails in NextCloud (but not in OwnCloud) #11810
Comments
Further info from cPanel Support:
|
GitMate.io thinks possibly related issues are #3738 (Webdav), #7062 (Nextcloud webDAV not supporting SSO?), #104 (NextCloud / OwnCloud), and #5947 (webDAV PROPFIND). |
I had filed Support Issue for this as well earlier, sadly with no remedy. Any progress? |
WHM/cPanel have released an update for v78 that tries to address the issue. |
Does it work for you? If so we could close this issue. |
I only just got notified an hour ago. I don't use Release Candidate v78 of WHM (I use v76 GA), so unable to test at the present time on live servers. |
Awesome! I just verified on v78.0.3 and it worked like a charm. You can close this issue now. |
Well, you can thank me for raising and pursuing this, with cPanel. You can thank cPanel more, for actively diagnosing the the issue, specific to NextCloud and providing the patch. |
Thanks a million @ridexbuilder and cPanel. Without the backup, felt like living without insurance, hoping nothing crashed upon me! 😅 |
@parvez Please mention the version of NextCloud that you've got working. |
My NextCloud version is 14.0.4 |
Thanks, at least I know I can upgrade from v13 without that bit getting screwed up ;-) |
I just upgraded NextCloud to v15.0.2 and it works too! Thanks again @CpanelInc Team and @ridexbuilder! |
Thank you for opening the issue and reporting back 👍 As reference the patch for HTTP::DAV: cosimo/perl5-http-dav@ee405c9 A multistatus as response to a propfind request looks right to me. Don't know why owncloud does something different. https://www.greenbytes.de/tech/webdav/rfc2518.html#n-example---retrieving-named-properties (a multistatus response with another statuscode for propstats looks fine according to the rfc). |
Steps to reproduce
Create a WebDAV backup configuration in WHM.
Try to validate the entered credentials
Expected behaviour
Success: The destination “owncloud” validated.
Actual behaviour
Error: Validation for transport “nextcloud” failed: Could not list files in destination: Server response: Multistatus
A Ticket was raised with cPanel and Support responded with this:
"Yes, NextCloud seems give different dav responses than OwnCloud does, and the underlying perl module that we use to connect to webdav servers (HTTP::DAV) doesn't deal well with responses that NextCloud uses, because it considers any error response within a multiresponse to propfind to be an overall failure.
The case I mentioned earlier, CPANEL-23378, should address this, but I do not have a workaround for it or now, or an ETA on when a fix for this will be published. I should also note that it is possible it may be published in our changelogs under CPANEL-17033 as well."
Server configuration detail
Operating system: Linux 4.15.18-5-pve #1 SMP PVE 4.15.18-24 (Thu, 13 Sep 2018 09:15:10 +0200) x86_64
Webserver: Apache (apache2handler)
Database: mysql 10.1.26
PHP version:
7.0.30-0+deb9u1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, apache2handler, mysqlnd, PDO, xml, apcu, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, igbinary, imap, intl, json, ldap, exif, mcrypt, mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, Zend OPcache
Nextcloud version: 13.0.4 - 13.0.4.0
Updated from an older Nextcloud/ownCloud or fresh install: Fresh
Where did you install Nextcloud from: Turnkey NextCloud - manual install has same issue
Signing status
Array
(
)
List of activated apps
Configuration (config/config.php)
Are you using external storage, if yes which one: no
Are you using encryption: true
Are you using an external user-backend, if yes which one: no
Client configuration
Browser: WHM/cPanel API 74.0.9
Operating system: Centos 7.5 WHM 74.09
Logs
Browser log
Nextcloud log
Browser log
From cPanel Support:
Here is an example of what your webdav server returns during the backup validation process:
=====================
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Thu, 11 Oct 2018 01:19:23 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:quota-used-bytes>669</d:quota-used-bytes>
<d:quota-available-bytes>36084080402</d:quota-available-bytes>
<d:getetag>"5bbea51b74add"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-15659-1539220626.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Thu, 11 Oct 2018 01:17:33 GMT</d:getlastmodified>
<d:getcontentlength>84</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"aab732f13c5d78c329575b47c2bedf26"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-15778-1539220736.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Thu, 11 Oct 2018 01:19:23 GMT</d:getlastmodified>
<d:getcontentlength>84</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"108b450fbfdd031ad4c4be262a71f698"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-1609-1539172298.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 11:52:02 GMT</d:getlastmodified>
<d:getcontentlength>83</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"26aa3010702fcc3dfff4340dd1f598bf"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-1630-1539172392.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 11:53:38 GMT</d:getlastmodified>
<d:getcontentlength>83</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"c4d625d045fbd6aff33419bdc64ade9a"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-16708-1539180163.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 14:03:10 GMT</d:getlastmodified>
<d:getcontentlength>84</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"38c35bf00d6a5c869b7d437691e1738c"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-17185-1539180520.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 14:09:07 GMT</d:getlastmodified>
<d:getcontentlength>84</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"c5ede3f4527f85415099637244af027a"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-22346-1539200325.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 19:39:06 GMT</d:getlastmodified>
<d:getcontentlength>84</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"c388b5c811be69e826bc9c5e72467202"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/webdav/whm/validate.tmp-4591-1539173966.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Wed, 10 Oct 2018 12:19:52 GMT</d:getlastmodified>
<d:getcontentlength>83</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"aa637182997496401a7e4fddae58d799"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
</d:multistatus>
The various 404 responses within the multi response aren't handled properly by HTTP::DAV, which is what causes the validation to fail.
The text was updated successfully, but these errors were encountered: