Jump to content
Enpass Discussion Forum

Webdav sync no longer works


Recommended Posts

Issue with enpass 6.8.1 (1063) on ubuntu (installed trough your repo) and android 6.8.2.666.

 This is fresh install so nothing to delete, here is the result of litmus ( http://www.webdav.org/neon/litmus/ ) test result, as it is official tool for testing webdav compliance, it proves there is nothing wrong with my server.

litmus https://server.eu/somewhere/webdav username "password"
-> 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....... 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
<- summary for `basic': of 16 tests run: 16 passed, 0 failed. 100.0%
-> running `copymove':
 0. init.................. pass
 1. begin................. pass
 2. copy_init............. pass
 3. copy_simple........... pass
 4. copy_overwrite........ pass
 5. copy_nodestcoll....... pass
 6. copy_cleanup.......... pass
 7. copy_coll............. pass
 8. copy_shallow.......... pass
 9. move.................. pass
10. move_coll............. pass
11. move_cleanup.......... pass
12. finish................ pass
<- summary for `copymove': of 13 tests run: 13 passed, 0 failed. 100.0%
-> running `props':
 0. init.................. pass
 1. begin................. pass
 2. propfind_invalid...... pass
 3. propfind_invalid2..... pass
 4. propfind_d0........... pass
 5. propinit.............. pass
 6. propset............... pass
 7. propget............... pass
 8. propextended.......... pass
 9. propmove.............. pass
10. propget............... pass
11. propdeletes........... pass
12. propget............... pass
13. propreplace........... pass
14. propget............... pass
15. propnullns............ pass
16. propget............... pass
17. prophighunicode....... pass
18. propget............... pass
19. propremoveset......... pass
20. propget............... pass
21. propsetremove......... pass
22. propget............... pass
23. propvalnspace......... pass
24. propwformed........... pass
25. propinit.............. pass
26. propmanyns............ pass
27. propget............... pass
28. propcleanup........... pass
29. finish................ pass
<- summary for `props': of 30 tests run: 30 passed, 0 failed. 100.0%
-> running `locks':
 0. init.................. pass
 1. begin................. pass
 2. options............... pass
 3. precond............... pass
 4. init_locks............ pass
 5. put................... pass
 6. lock_excl............. pass
 7. discover.............. pass
 8. refresh............... pass
 9. notowner_modify....... pass
10. notowner_lock......... pass
11. owner_modify.......... pass
12. notowner_modify....... pass
13. notowner_lock......... pass
14. copy.................. pass
15. cond_put.............. pass
16. fail_cond_put......... pass
17. cond_put_with_not..... pass
18. cond_put_corrupt_token WARNING: PUT failed with 400 not 423
    ...................... pass (with 1 warning)
19. complex_cond_put...... pass
20. fail_complex_cond_put. pass
21. unlock................ pass
22. fail_cond_put_unlocked pass
23. lock_shared........... pass
24. notowner_modify....... pass
25. notowner_lock......... pass
26. owner_modify.......... pass
27. double_sharedlock..... pass
28. notowner_modify....... pass
29. notowner_lock......... pass
30. unlock................ pass
31. prep_collection....... pass
32. lock_collection....... pass
33. owner_modify.......... pass
34. notowner_modify....... pass
35. refresh............... pass
36. indirect_refresh...... pass
37. unlock................ pass
38. unmapped_lock......... WARNING: LOCK on unmapped url returned 200 not 201 (RFC4918:S7.3)
    ...................... pass (with 1 warning)
39. unlock................ pass
40. finish................ pass
<- summary for `locks': of 41 tests run: 41 passed, 0 failed. 100.0%
-> 2 warnings were issued.
-> running `http':
 0. init.................. pass
 1. begin................. pass
 2. expect100............. SKIPPED (skipping for SSL server)
 3. finish................ pass
-> 1 test was skipped.
<- summary for `http': of 3 tests run: 3 passed, 0 failed. 100.0%

 

Edited by microg
Link to comment
Share on other sites

  

Furthermore, here are access logs from my apache 2.4 server access logs:

10.1.0.1 - - [25/Jul/2022:21:12:21 +0200] "PROPFIND /somewhere/webdav/ HTTP/1.1" 401 381
10.1.0.1 - - [25/Jul/2022:21:12:21 +0200] "PROPFIND /somewhere/webdav/ HTTP/1.1" 401 381
10.1.0.1 - username [25/Jul/2022:21:12:21 +0200] "PROPFIND /somewhere/webdav/ HTTP/1.1" 405 225
10.1.0.1 - - [25/Jul/2022:21:12:21 +0200] "PROPFIND /somewhere/webdav/ HTTP/1.1" 401 381
10.1.0.1 - username [25/Jul/2022:21:12:21 +0200] "PROPFIND /somewhere/webdav/ HTTP/1.1" 405 225

I am using mod_webdav without any additional software.

Edited by microg
Link to comment
Share on other sites

And here is apache 2.4 configuration, dont forget to enable dav modules in main httpd.conf file (and verify you have them installed):

(I am on freebsd 13, adjust parts based on your operating system)

LoadModule dav_module libexec/apache24/mod_dav.so
LoadModule dav_fs_module libexec/apache24/mod_dav_fs.so
LoadModule dav_lock_module libexec/apache24/mod_dav_lock.so

Configuration of host (I am using https and I would suggest you do to, but I wont go into details, here is for http, for https search google and change Listen and VirtualHost lines to port 443).

Listen 80

ExtendedStatus On

Protocols h2 http/1.1

<VirtualHost 10.1.0.1:80>
  ServerName              10.1.0.1
  DocumentRoot            /usr/local/www/apache24/data
  ErrorLog                /var/log/httpd-error.log
  CustomLog               /var/log/httpd-access.log common
  
  DavLockDB /data/DavLock
  Alias /somewhere/webdav /data/webdav # you need to set permissions correctly i.e.: `chown -R www:www /data` and `chmod -R ug+rwx /data`!!!!
  <Location /somewhere/webdav>
    DAV On
    DirectoryIndex index.html
    AuthType Basic
    AuthName "Password Required"
    AuthUserFile /usr/local/etc/apache24/webdav.passwd #create `username` with `htpasswd -c /usr/local/etc/apache24/webdav.passwd username`
    Require user username # insert correct "username" set up in previos step here
  </Location>

</VirtualHost>

 

Edited by microg
Link to comment
Share on other sites

Bottom line, it should be seen from the apache logs that you are getting back 405, I would believe that you are authenticating in wrong manner or something. The webdav test tool (from webdav.org) doesnt have those issues.

Link to comment
Share on other sites

Ok, after some tracking of bugs on apache 2.4, it looks like it is its fault. Setting DirectoryIndex messes up webdav, fix in upper configuration is:

DirectoryIndex disabled

This is one of relevant bugs: https://bz.apache.org/bugzilla/show_bug.cgi?id=54914

Anyway this was fixed in apache 2.5 but got never merged into 2.4. It is a nasty bug that isnt very apparent, so it is quite possible that even 3rd party providers are not aware of it.

To the Enpass team: with more logging you would avoid so many "webdav doesnt work" messages, and your spam protection on this forum really sucks. Captchas are pain in the neck, while your spam protection is worse, I wasted hell of a lot of time to get those messages here.

And for god sake, implement already sftp sync, it is taking for years, if you have implemented piece of shit like webdav, sftp should be easier. You have bunch of 3rd party libraries on the internet, just use one.

Edited by microg
Link to comment
Share on other sites

Hi @microg

Thank you for notifying me that the issue you were facing got fixed in apache 2.5.

Moreover, we’re always excited to welcome valuable suggestions from our users and entertain users requests for new features. Your inputs have been forwarded to our dedicated team for further consideration. We appreciate your patience in the meantime.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...