Reviewing merge request #7: Load unsupported versions with error message.
Added warning info bar on database widget. This is displayed for unsupported database versions.
Example of opening 2.17 db with custom icon: http://imgur.com/jpsya
Also, I was having crashes due to m_db member of Entry being NULL. This is because recSetDatabase in Group would set the database for child groups, but not entries. Rather than make Group a friend of Entry, I removed the m_db member from entry. The performance penalty should not be large for doing this, and it removes extra book-keeping to make sure Entry has the correct database.
Commits that would be merged:
- bc29a52
- ac441c8
- f0c6355
- 5a407e2
- 081ff75
- 431c123
Added messages to key open dialog.
Added warning 'infobar' to database.
Added warning messages to database widget. (Plus, allow non-supported versions to be opened).
Changes to parser, to ensure root group is eventually set correctly.
Removed unnecessary m_db entry from Entry, since it was not being set properly by reader.
bc29a52-ac441c8Comments
Pushed new version 1
I think these changes are better than my previous attempt at being able to load my current KeePass databases.
It actually wasn’t a problem with the xml reader, it was a problem with the m_db member of Entry never being set.
New database version contain by definition backwards incompatible changes which most likely leads to data loss or an error in the parser.
In this case file attachments (not currently implemented in the GUI) are lost.
This is not acceptable for a password manager.
If you want to open databases from the new KeePass version please properly implement the new format.
Having a look at the KeePass source code and using kdbx-extract to view the xml data is a good start.


Add a new comment:
Login or create an account to post a comment