diff options
author | saturneric <[email protected]> | 2024-08-05 15:49:22 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-08-05 15:49:22 +0000 |
commit | d4e2335bfdff0985d4e410bf608bf73ff1fcfca7 (patch) | |
tree | 0f43d0ebcf065abeaaac9411f1ec02f77afeca3e | |
parent | fix: remove mimalloc from source (diff) | |
download | GpgFrontend-d4e2335bfdff0985d4e410bf608bf73ff1fcfca7.tar.gz GpgFrontend-d4e2335bfdff0985d4e410bf608bf73ff1fcfca7.zip |
fix: custom key database feature not working
-rw-r--r-- | src/core/GpgCoreInit.cpp | 14 | ||||
-rw-r--r-- | src/core/function/gpg/GpgContext.cpp | 10 | ||||
-rw-r--r-- | src/core/function/gpg/GpgContext.h | 3 |
3 files changed, 13 insertions, 14 deletions
diff --git a/src/core/GpgCoreInit.cpp b/src/core/GpgCoreInit.cpp index 3f738835..68acc4cc 100644 --- a/src/core/GpgCoreInit.cpp +++ b/src/core/GpgCoreInit.cpp @@ -304,9 +304,6 @@ void InitGpgFrontendCore(CoreInitArgs args) { auto custom_key_database_path = settings.value("gnupg/custom_key_database_path", QString{}).toString(); - auto custom_gnupg_install_path = - settings.value("gnupg/custom_gnupg_install_path", QString{}).toString(); - auto use_pinentry_as_password_input_dialog = settings .value("gnupg/use_pinentry_as_password_input_dialog", @@ -327,10 +324,14 @@ void InitGpgFrontendCore(CoreInitArgs args) { !custom_key_database_path.isEmpty()) { if (VerifyKeyDatabasePath(QFileInfo(custom_key_database_path))) { key_database_fs_path = - QFileInfo(custom_gnupg_install_path).absoluteFilePath(); + QFileInfo(custom_key_database_path).absoluteFilePath(); + LOG_D() << "use custom gpg key database: " << key_database_fs_path + << "raw:" << custom_key_database_path; + } else { LOG_W() << "custom gpg key database path is not suitable: " - << key_database_fs_path; + << key_database_fs_path + << "raw:" << custom_key_database_path; } } else { @@ -354,8 +355,7 @@ void InitGpgFrontendCore(CoreInitArgs args) { // set custom gnupg path if (!gnupg_install_fs_path.isEmpty()) { - args.custom_gpgconf = true; - args.custom_gpgconf_path = gnupg_install_fs_path; + args.gpgconf_path = gnupg_install_fs_path; } args.offline_mode = forbid_all_gnupg_connection; diff --git a/src/core/function/gpg/GpgContext.cpp b/src/core/function/gpg/GpgContext.cpp index 2d9c5992..a661f183 100644 --- a/src/core/function/gpg/GpgContext.cpp +++ b/src/core/function/gpg/GpgContext.cpp @@ -236,11 +236,10 @@ class GpgContext::Impl { const GpgContextInitArgs &args) -> bool { assert(ctx != nullptr); - if (args.custom_gpgconf && !args.custom_gpgconf_path.isEmpty()) { - LOG_D() << "set custom gpgconf path: " << args.custom_gpgconf_path; - auto err = - gpgme_ctx_set_engine_info(ctx, GPGME_PROTOCOL_GPGCONF, - args.custom_gpgconf_path.toUtf8(), nullptr); + if (!args.gpgconf_path.isEmpty()) { + LOG_D() << "set custom gpgconf path: " << args.gpgconf_path; + auto err = gpgme_ctx_set_engine_info(ctx, GPGME_PROTOCOL_GPGCONF, + args.gpgconf_path.toUtf8(), nullptr); if (CheckGpgError(err) != GPG_ERR_NO_ERROR) { LOG_W() << "set gpg context engine info error: " @@ -284,6 +283,7 @@ class GpgContext::Impl { // set custom gpg key db path if (!args_.db_path.isEmpty()) { + LOG_D() << "set context database path to" << args_.db_path; Module::UpsertRTValue("core", "gpgme.ctx.database_path", args_.db_path); } diff --git a/src/core/function/gpg/GpgContext.h b/src/core/function/gpg/GpgContext.h index 7a7ef24b..1ff22b8a 100644 --- a/src/core/function/gpg/GpgContext.h +++ b/src/core/function/gpg/GpgContext.h @@ -46,8 +46,7 @@ struct GpgContextInitArgs { bool offline_mode = false; ///< bool auto_import_missing_key = false; ///< - bool custom_gpgconf = false; ///< - QString custom_gpgconf_path; ///< + QString gpgconf_path; ///< bool use_pinentry = false; ///< }; |