Version 2.2.4.
Steps, measured:
JacksonDatabase.load a KDBX file (reproduced with a KDBX 3.1 file and with a KDBX 4 file written by KeePassXC 2.7.10) and copy it into a new JacksonDatabase().
save it with JacksonDatabase.
SimpleDatabase.load the saved file.
Result:
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(name="DefaultUserName", type=void.class, data=false, required=true) on field 'defaultUserName' protected java.lang.String org.linguafranca.pwdb.kdbx.simple.model.KeePassFile$Meta.defaultUserName
The Jackson writer leaves an empty DefaultUserName out of Meta; the Simple model declares it required = true (simple/model/KeePassFile.java:81). KeePassXC 2.7.10 reads the Jackson-written file.
required = false on the Simple side would let it read files that omit the element, as KeePassXC does.
Context: astrapi69/mystic-crypt-ui#407.
Version 2.2.4.
Steps, measured:
JacksonDatabase.loada KDBX file (reproduced with a KDBX 3.1 file and with a KDBX 4 file written by KeePassXC 2.7.10) and copy it into anew JacksonDatabase().saveit withJacksonDatabase.SimpleDatabase.loadthe saved file.Result:
The Jackson writer leaves an empty
DefaultUserNameout ofMeta; the Simple model declares itrequired = true(simple/model/KeePassFile.java:81). KeePassXC 2.7.10 reads the Jackson-written file.required = falseon the Simple side would let it read files that omit the element, as KeePassXC does.Context: astrapi69/mystic-crypt-ui#407.