PhilippC / keepass2android

Password manager app for Android
https://play.google.com/store/apps/details?id=keepass2android.keepass2android
GNU General Public License v3.0
4.82k stars 390 forks source link

Caching issue when opening via 3rd party. #181

Closed leejonchapman closed 6 years ago

leejonchapman commented 6 years ago

When opening the database from a 3rd party file explorer, namely SolidExplorer (which is then pulling from an AWS S3 bucket - it will cache the database in /storage/emulated/0/Android/data/pl.solidexplorer2/cache/temp/kp_safe.kdbx

Any changes made on the device will sync to this local copy and never go back > SolidExplorer > S3 bucket. If you then forget the database and readd via SolidExplorer once more it will write over the other local database and lose the passwords.

Step taken:

K2P > Open File > Get from third party app > Solid Explorer > S3 - caches to /storage/emulated/0/Android/data/pl.solidexplorer2/cache/temp/kp_safe.kdbx

Entries added to this will then not sync back. I guess this is the expected behaviour and K2P needs its own AWS API added

checkdizz commented 6 years ago

The same problem seems to occur with Google Drive.

I have notes that my local android cache has more entries than the gdrive version, even though it appears to be the gdrive file that I open (via the 'recently opened databases' shortcut). When I open the actual gdrive file on a PC, the updates made in KP2A are missing. So, it seems that syncing with gdrive doesn't work.

An important note is that KP2A shows a message that it succesfully synced the dbase during opening and closing of the dbase. Thus, the user gets the impression that syncing is working fine.

So, in short syncing seems to be broken.

PhilippC commented 6 years ago

@leejonchapman Please report this to the SolidExplorer developers. Either they need to make the file read only or upload the changes which are made by KP2A. KP2A cannot know what the third party app does with caching. @checkdizz This might be a duplicate of #165, but it's definitely something different.