I am unable to login to my Owncloud server via Webdav from the iOS apps. I get the message ‚Server seems not to be Webdav-compatible‘ (translated from German…). Any idea what is wrong here? Is Cryptomator not compatible with Owncloud WebDav?
As @overheadhunter postet the URL for Owncloud WebDAV in his list, I assume that in general cryptomator is intended to work with it.
Unfortunately I cannot help with your dedicated error message. Someone else?
I can login via WebDav on Windows with that URL without a problem. iOS however is not working. In my Apache log I see only one request:
- - [13/Jan/2018:18:10:17 +0100] “OPTIONS /remote.php/webdav HTTP/1.1” 200 5455 “-” “Cryptomator/528 CFNetwork/893.14.2 Darwin/17.3.0”
Then I see the error message regarding that my server is not WebDav compatible in the iOS app. It seems that the result what the OPTION call is returning is not what the app expects.
If I try the same with WebDav in Windows (which is working) I see the following requests in the log:
- - [13/Jan/2018:18:13:16 +0100] “OPTIONS / HTTP/1.1” 302 523 “-” “Microsoft-WebDAV-MiniRedir/6.1.7601”
- - [13/Jan/2018:18:13:16 +0100] “OPTIONS / HTTP/1.1” 302 4930 “-” “Microsoft-WebDAV-MiniRedir/6.1.7601”
- - [13/Jan/2018:18:13:16 +0100] “OPTIONS /index.php/login HTTP/1.1” 405 938 “-” “Microsoft-WebDAV-MiniRedir/6.1.7601”
- - [13/Jan/2018:18:13:16 +0100] “PROPFIND /remote.php/webdav HTTP/1.1” 302 556 “-” "Microsoft-WebDAV-MiniRedir/6.1.7601"
220.127.116.11 - - [13/Jan/2018:18:13:16 +0100] “PROPFIND /remote.php/webdav HTTP/1.1” 401 1204 “-” “Microsoft-WebDAV-MiniRedir/6.1.7601”
Is there a possibility to switch on debugging in the app?
Cryptomator for iOS (and Android works the same) sends an
OPTIONS request to the URL and checks if the server responds with the
DAV header. As described in RFC 4918 Section 18:
Class 1 compliant resources MUST return, at minimum, the value “1” in the DAV header on all responses to the OPTIONS method.
A resource that is class 2 or class 3 compliant must also be class 1 compliant.
So in any way, a client has to rely on a server responding with the
DAV header when it receives an
OPTIONS request for DAV-compliant resources.
Unfortunately, there is not. But as I’ve described above, that’s the only thing what Cryptomator for iOS is doing when checking if a server is WebDAV-compatible. It sends an
OPTIONS request to the URL and checks if the header field name
DAV exists (the value isn’t being checked).
ownCloud worked fine in the past, so maybe an update changed something? I’ve just tried https://demo.owncloud.org/remote.php/webdav (apparently, username/password is test/test) and I didn’t get any issues. Maybe the demo isn’t up-to-date but I currently don’t have a chance to try out the latest version of ownCloud.
Thank you, That info helped me. I compared the output of my site and the demo site and then found this entry on Github:
Disabling the CORS plugin for WebDAV as described as a workaround in that entry solved the issue for me as well.
So it seems that this is still a bug in Owncloud and needs to be fixed there …
It is working now for me with the iOS app!
P.S. The demo is still on 10.0.3 and the issue has been introduced in 10.0.4. In the meantime there is a bugfix available which will make it into the next stable release.