bpellin / keepassdroid

KeePass implementation for android
http://www.keepassdroid.com
Other
1.38k stars 346 forks source link

Unable to open database in KDBX 4.1 format #453

Open m8ram opened 3 years ago

m8ram commented 3 years ago

Today I noticed that I'm no longer able to open my KeePass Database in Keepassdroid.

The error I get is:

Wrong event type (position:TEXT False@463:25 in java.io .InputStreamReader@2676cc4)

I use the database daily on Windows 10. I recently upgraded to the latest version (2.48.1) on Windows 10 and started using the features that require the KDBX 4.1 format.

If I create a new database (on Windows) and sync it to Android it opens without issue. If I then disable the password quality estimation for one entry and sync the database again the error is shown.

m8ram commented 3 years ago

I have two sample databases available but can't find a way to attach them. But it is easy enough to create a database with the default options to reproduce the issue.

nidonato commented 3 years ago

mines similar... it also seems i can no longer open from OneDrive it used to work.... now it doesn't and when i do is when i get the similar error.

gitawayu commented 3 years ago

I guess this will stop all users of KeePassDroid from updating to the latest version of the Windows app. Is there any fix in the works...?

KeePass 2.48 released Changes from 2.47 to 2.48: New KDBX 4.1 file format, which supports various new features...

m8ram commented 3 years ago

For those who have inadvertently upgraded their KeePass database note that you can revert to version 4.0 by simply reverting the changes that force the new format.

Full details in the sourceforge ticket I opened.

In my case I had activated the feature to disable the quality check for some entries. That can be reverted as follows (thanks to Dominik Reichl):

If you want to turn on the quality estimation for all entries (the default), you could run XML Replace (menu 'Tools' → 'Database Tools' → 'XML Replace') with the following parameters:

Select nodes: //Entry/QualityCheck Action: Remove nodes.

Hope this helps