summaryrefslogtreecommitdiffstats
path: root/Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
commit1fdc150116cad39aae5c5da407c3312b47a59e3a (patch)
tree123c79a4d7ad2d45781ba03ce939f7539fb428d8 /Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
New upstream version 3.3.3+dfsg1.upstream/3.3.3+dfsg1
Diffstat (limited to 'Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp')
-rw-r--r--Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp39
1 files changed, 5 insertions, 34 deletions
diff --git a/Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp b/Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp
index 397e5dd..1f838f6 100644
--- a/Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp
+++ b/Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp
@@ -19,42 +19,13 @@ void DbSqliteCipherInstance::initAfterOpen()
qWarning() << "Error while defining SQLCipher key:" << res->getErrorText();
}
- QString cipher = connOptions[DbSqliteCipher::CIPHER_OPT].toString();
- if (!cipher.isEmpty() && cipher != DbSqliteCipher::DEF_CIPHER)
+ QString pragmas = connOptions[DbSqliteCipher::PRAGMAS_OPT].toString();
+ QStringList pragmaList = quickSplitQueries(pragmas);
+ for (const QString& pragma : pragmaList)
{
- res = exec(QString("PRAGMA cipher = '%1';").arg(cipher), Flag::NO_LOCK);
+ res = exec(pragma, Flag::NO_LOCK);
if (res->isError())
- qWarning() << "Error while defining SQLCipher cipher:" << res->getErrorText();
- }
-
- if (connOptions.contains(DbSqliteCipher::KDF_ITER_OPT))
- {
- int kdfIter = connOptions[DbSqliteCipher::KDF_ITER_OPT].toInt();
- if (kdfIter >= 0 && kdfIter != DbSqliteCipher::DEF_KDF_ITER)
- {
- res = exec(QString("PRAGMA kdf_iter = '%1';").arg(kdfIter), Flag::NO_LOCK);
- if (res->isError())
- qWarning() << "Error while defining SQLCipher kdf_iter:" << res->getErrorText();
- }
- }
-
- if (connOptions.contains(DbSqliteCipher::CIPHER_PAGE_SIZE_OPT))
- {
- int pageSize = connOptions[DbSqliteCipher::CIPHER_PAGE_SIZE_OPT].toInt();
- if (pageSize >= 0 && pageSize != DbSqliteCipher::DEF_CIPHER_PAGE_SIZE)
- {
- res = exec(QString("PRAGMA cipher_page_size = %1;").arg(pageSize), Flag::NO_LOCK);
- if (res->isError())
- qWarning() << "Error while defining SQLCipher cipher_page_size:" << res->getErrorText();
- }
- }
-
- bool hmacCompatibility = connOptions[DbSqliteCipher::CIPHER_1_1_OPT].toBool();
- if (hmacCompatibility)
- {
- res = exec(QString("PRAGMA cipher_use_hmac = OFF;"), Flag::NO_LOCK);
- if (res->isError())
- qWarning() << "Error while defining cipher_use_hmac:" << res->getErrorText();
+ qWarning() << "Error while defining SQLCipher pragma" << pragma << ":" << res->getErrorText();
}
AbstractDb3<SqlCipher>::initAfterOpen();