Skip to content
View in the app

A better way to browse. Learn more.

Enpass Discussion Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Webdav sync no longer works

Featured Replies

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

  • Author

  

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

  • Author

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

  • Author

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.

  • Author

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

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.

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.