Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/format/KeePass2XmlReader.cpp')
-rw-r--r--src/format/KeePass2XmlReader.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/format/KeePass2XmlReader.cpp b/src/format/KeePass2XmlReader.cpp
index 605dc93aa..62a4e81e7 100644
--- a/src/format/KeePass2XmlReader.cpp
+++ b/src/format/KeePass2XmlReader.cpp
@@ -29,11 +29,11 @@ KeePass2XmlReader::KeePass2XmlReader()
{
}
-Database* KeePass2XmlReader::readDatabase(QIODevice* device)
+void KeePass2XmlReader::readDatabase(QIODevice* device, Database* db)
{
m_xml.setDevice(device);
- m_db = new Database();
+ m_db = db;
m_meta = m_db->metadata();
m_tmpParent = new Group();
@@ -50,8 +50,13 @@ Database* KeePass2XmlReader::readDatabase(QIODevice* device)
}
delete m_tmpParent;
+}
- return m_db;
+Database* KeePass2XmlReader::readDatabase(QIODevice* device)
+{
+ Database* db = new Database();
+ readDatabase(device, db);
+ return db;
}
Database* KeePass2XmlReader::readDatabase(const QString& filename)
@@ -120,6 +125,15 @@ void KeePass2XmlReader::parseMeta()
else if (m_xml.name() == "MaintenanceHistoryDays") {
m_meta->setMaintenanceHistoryDays(readNumber());
}
+ else if (m_xml.name() == "MasterKeyChanged") {
+ m_meta->setMasterKeyChanged(readDateTime());
+ }
+ else if (m_xml.name() == "MasterKeyChangeRec") {
+ m_meta->setMasterKeyChangeRec(readNumber());
+ }
+ else if (m_xml.name() == "MasterKeyChangeForce") {
+ m_meta->setMasterKeyChangeForce(readNumber());
+ }
else if (m_xml.name() == "MemoryProtection") {
parseMemoryProtection();
}
@@ -461,6 +475,9 @@ Entry* KeePass2XmlReader::parseEntry(bool history)
else if (m_xml.name() == "OverrideURL") {
entry->setOverrideUrl(readString());
}
+ else if (m_xml.name() == "Tags") {
+ entry->setTags(readString());
+ }
else if (m_xml.name() == "Times") {
entry->setTimeInfo(parseTimes());
}