-
Notifications
You must be signed in to change notification settings - Fork 4
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
java.lang.NullPointerException: getEtag(...) must not be null #284
Comments
KeepassVault expects the WebDAV server to provide an ETag, which it uses to ensure that the file contents have (or have not) been altered on the serverside. This makes perfect sense, but according to the WebDAV spec, it is not required that WebDAV servers implement ETag support. It is however strongly recommended. Most of the synchronization-oriented WebDAV servers do have ETags, such as owncloud, nextcloud and seafile, as this is necessary to keep track of sync state, but many of the smaller lightweight servers do not. Usually the reason is that those servers do not keep track of file contents, and thus don't have a good basis for providing a strong ETag. So the question is whether @aivanovski made the ETag requirement as a conscious decision. Most WebDAV servers operate at a 1-second precision in the last-modified timestamps, so I can understand the preference of a strong ETag, to be entirely certain of the server state. One approach could be for KeepassVault to generate its own weak ETags when necessary, based on the server's lastmodified header. But again, I understand if there is an apprehension towards this. I'll quickly mention that copyparty is in a position where strong ETags could be provided, but performance concerns and (until now) a lack of interest has not made this a priority. |
Hi @9001 |
The fix is in version 1.10.0. Build is available in Releases page or will be available later in Google Play and F-Droid. Thanks for reporting this issue. @TheLastZombie |
Overview
When trying to access a KeePass database file on a WebDAV server, KeePassVault crashes with the following error:
How to reproduce
Version
1.9.0 (via F-Droid)
Android Version
Android 15 (GrapheneOS)
Device Model
Pixel 8 Pro
The text was updated successfully, but these errors were encountered: