aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-08-05 15:49:22 +0000
committersaturneric <[email protected]>2024-08-05 15:49:22 +0000
commitd4e2335bfdff0985d4e410bf608bf73ff1fcfca7 (patch)
tree0f43d0ebcf065abeaaac9411f1ec02f77afeca3e
parentfix: remove mimalloc from source (diff)
downloadGpgFrontend-d4e2335bfdff0985d4e410bf608bf73ff1fcfca7.tar.gz
GpgFrontend-d4e2335bfdff0985d4e410bf608bf73ff1fcfca7.zip
fix: custom key database feature not working
-rw-r--r--src/core/GpgCoreInit.cpp14
-rw-r--r--src/core/function/gpg/GpgContext.cpp10
-rw-r--r--src/core/function/gpg/GpgContext.h3
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; ///<
};