diff options
| author | 2021-12-17 07:06:30 -0500 | |
|---|---|---|
| committer | 2021-12-17 07:06:30 -0500 | |
| commit | 1fdc150116cad39aae5c5da407c3312b47a59e3a (patch) | |
| tree | 123c79a4d7ad2d45781ba03ce939f7539fb428d8 /Plugins/DbSqliteCipher/dbsqlitecipherinstance.cpp | |
| parent | feda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (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.cpp | 39 |
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(); |
