diff --git a/src/format/OPUXReader.cpp b/src/format/OPUXReader.cpp index ee5869b69..e1a0579cf 100644 --- a/src/format/OPUXReader.cpp +++ b/src/format/OPUXReader.cpp @@ -102,6 +102,9 @@ namespace entry->setPassword(fieldMap.value("value").toString()); } } + if (entry->password().isEmpty() && detailsMap.contains("password")) { + entry->setPassword(detailsMap.value("password").toString()); + } entry->setNotes(detailsMap.value("notesPlain").toString()); // Dive into the item sections to pull out advanced attributes diff --git a/tests/TestImports.cpp b/tests/TestImports.cpp index 84ef26cce..eb06599df 100644 --- a/tests/TestImports.cpp +++ b/tests/TestImports.cpp @@ -96,6 +96,11 @@ void TestImports::testOPUX() QVERIFY(entry); // Check custom group icon QVERIFY(!entry->group()->iconUuid().isNull()); + + // Check Category UUID 05 Passwords + entry = db->rootGroup()->findEntryByPath("/Personal/UUID 005 Password"); + QVERIFY(entry); + QCOMPARE(entry->password(), QStringLiteral("uuid005password")); } void TestImports::testOPVault() diff --git a/tests/data/1PasswordExport.1pux b/tests/data/1PasswordExport.1pux index 509d7d07b..12cfcb6c6 100644 Binary files a/tests/data/1PasswordExport.1pux and b/tests/data/1PasswordExport.1pux differ