#1522 XML exports with in-memory protection


I recently upgraded from 2.14 to 2.16.
I exported my DB to XML and imported it back into a new file in order to keep my history beyond the default 10 entries (as per this advice https://sourceforge.net/projects/keepass/forums/forum/329220/topic/4616792\).
Now I notice, that after the conversion any custom strings with in-memory protection are unprotected.
I am not sure at which point this property was lost, but I currently have no in-memory protection, so I will have to walk over my entire DB and re-enable it where appropriate.


  • Paul

    Paul - 2011-07-30

    I suspect the XML export does not contain in memory protection settings. Not really a bug because you have changed format. Feature request maybe?

    You could export the data to XML, open the 2.14 database in 2.16, then import the XML to pick up the history? May work.

    cheers, Paul

  • Rumen Avramov

    Rumen Avramov - 2011-07-30

    Yes, it works.
    The recommendation actually came from Dominik.

    I do not agree that this is a feature request, however.
    The format is called "KeePass XML (2.x)", not just "XML", so one would expect it to support the full feature set of KeePass 2.x.
    If the KeePass XML format has some limitations, they should be clearly mentioned, I did not see any information about this in the help web pages.

  • Dominik Reichl

    Dominik Reichl - 2011-08-27

    The XML format doesn't support in-memory protection (the passwords are stored in plain text in the XML file anyway).

    However, I agree some flag could be set in the XML file such that on import in-memory protection for these fields gets enabled.

    Moving to open feature requests.

    Thanks and best regards

  • Dominik Reichl

    Dominik Reichl - 2011-08-27
    • summary: In-memory protection gone after DB conversion --> XML exports with in-memory protection
  • Rumen Avramov

    Rumen Avramov - 2011-08-27

    Thank you for considering this!

  • Dominik Reichl

    Dominik Reichl - 2012-01-04

    I've implemented this now. KeePass saves the flag in a new attribute 'ProtectInMemory' in plain text XML exports (and restores it when importing).

    Here's the latest development snapshot for testing:

    Thanks and best regards

  • Dominik Reichl

    Dominik Reichl - 2012-01-04
    • status: open --> closed
  • Rumen Avramov

    Rumen Avramov - 2012-01-04

    Thank you Dominik!


Log in to post a comment.