From 1fdc150116cad39aae5c5da407c3312b47a59e3a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Fri, 17 Dec 2021 07:06:30 -0500 Subject: New upstream version 3.3.3+dfsg1. --- Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp | 39 +++-------------------- 1 file changed, 5 insertions(+), 34 deletions(-) (limited to 'Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp') 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::initAfterOpen(); -- cgit v1.2.3