diff options
author | Louis-Bertrand Varin <louisv@unito.io> | 2017-01-09 06:46:30 +0300 |
---|---|---|
committer | Louis-Bertrand Varin <louisv@unito.io> | 2017-01-09 06:46:30 +0300 |
commit | 2afa1f0dc8208709820655795f3e1cd5617eb36c (patch) | |
tree | 8ebfa072d0fc1f6386cd482137286164cffdf812 /utils | |
parent | a40f84d519bc594341d44a305e195c6a20149955 (diff) |
Use 2 passwords for merging.
Diffstat (limited to 'utils')
-rw-r--r-- | utils/merge-databases.cpp | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/utils/merge-databases.cpp b/utils/merge-databases.cpp index 32178c01b..52a04e42a 100644 --- a/utils/merge-databases.cpp +++ b/utils/merge-databases.cpp @@ -46,18 +46,31 @@ int main(int argc, char **argv) } static QTextStream inputTextStream(stdin, QIODevice::ReadOnly); - QString line = inputTextStream.readLine(); - CompositeKey key; - if (QFile::exists(line)) { + QString line1 = inputTextStream.readLine(); + CompositeKey key1; + if (QFile::exists(line1)) { FileKey fileKey; - fileKey.load(line); - key.addKey(fileKey); + fileKey.load(line1); + key1.addKey(fileKey); } else { PasswordKey password; - password.setPassword(line); - key.addKey(password); + password.setPassword(line1); + key1.addKey(password); + } + + QString line2 = inputTextStream.readLine(); + CompositeKey key2; + if (QFile::exists(line2)) { + FileKey fileKey; + fileKey.load(line2); + key2.addKey(fileKey); + } + else { + PasswordKey password; + password.setPassword(line2); + key2.addKey(password); } @@ -73,7 +86,7 @@ int main(int argc, char **argv) } KeePass2Reader reader1; - Database* db1 = reader1.readDatabase(&dbFile1, key); + Database* db1 = reader1.readDatabase(&dbFile1, key1); if (reader1.hasError()) { qCritical("Error while parsing the database:\n%s\n", qPrintable(reader1.errorString())); @@ -93,10 +106,10 @@ int main(int argc, char **argv) } KeePass2Reader reader2; - Database* db2 = reader2.readDatabase(&dbFile2, key); + Database* db2 = reader2.readDatabase(&dbFile2, key2); - if (reader1.hasError()) { - qCritical("Error while parsing the database:\n%s\n", qPrintable(reader1.errorString())); + if (reader2.hasError()) { + qCritical("Error while parsing the database:\n%s\n", qPrintable(reader2.errorString())); return 1; } |