aivanovski / keepassvault

KeePass client app for Android
Apache License 2.0
44 stars 3 forks source link

Don't use ProtectInMemory to determine which fields to hide #240

Closed julianfairfax closed 3 weeks ago

julianfairfax commented 3 months ago

See #208, https://github.com/libkeepass/pykeepass/issues/376, and https://gitlab.gnome.org/World/secrets/-/issues/518. KeePassVault hides all fields with the ProtectInMemory=True flag, added by apps such as GNOME Secrets. This flag shouldn't be used to determine which fields to hide. Only the password field should be hidden. Here is a test file: passwordistest.zip.

aivanovski commented 3 months ago

Here is the difference between these two flags: image

KeePassXC also uses 'ProtectInMemory' to hide sensitive data. So, I think it's right choice.

aivanovski commented 3 months ago

If you want to discuss my decision, please reopen the issue @julianfairfax I don't think Gnome Secrets is an application we should be pursuing in this area.

aivanovski commented 3 months ago

Requires further investigation according to the latest comment here https://gitlab.gnome.org/World/secrets/-/issues/518

aivanovski commented 1 month ago

I'm not sure that I'm able to understand the real reason of this issue with Gnome Secrets. And it is still not clear how to debug it, as KeePassXC modifies database content when creates xml dump. But as all work with KeePass is done with kotpass library, maybe it's creator is able to understand what is going wrong. @Anvell Could you please check it? If you need more background on this issue, please don't hesitate to ask.

aivanovski commented 3 weeks ago

Fixed in pykeepass > 4.0.7