diff options
Diffstat (limited to 'src/core/function/gpg/GpgAdvancedOperator.cpp')
-rw-r--r-- | src/core/function/gpg/GpgAdvancedOperator.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/function/gpg/GpgAdvancedOperator.cpp b/src/core/function/gpg/GpgAdvancedOperator.cpp index 9f8de193..8bb558c1 100644 --- a/src/core/function/gpg/GpgAdvancedOperator.cpp +++ b/src/core/function/gpg/GpgAdvancedOperator.cpp @@ -46,6 +46,11 @@ bool GpgFrontend::GpgAdvancedOperator::ClearGpgPasswordCache() { "core", "gpgme.ctx.gpgconf_path", std::string{}); SPDLOG_DEBUG("got gpgconf path from rt: {}", gpgconf_path); + if (gpgconf_path.empty()) { + SPDLOG_ERROR("cannot get valid gpgconf path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {gpgconf_path, {"--reload", "gpg-agent"}, @@ -65,6 +70,11 @@ bool GpgFrontend::GpgAdvancedOperator::ReloadGpgComponents() { "core", "gpgme.ctx.gpgconf_path", std::string{}); SPDLOG_DEBUG("got gpgconf path from rt: {}", gpgconf_path); + if (gpgconf_path.empty()) { + SPDLOG_ERROR("cannot get valid gpgconf path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {gpgconf_path, {"--reload"}, @@ -86,6 +96,11 @@ void GpgFrontend::GpgAdvancedOperator::RestartGpgComponents() { "core", "gpgme.ctx.gpgconf_path", std::string{}); SPDLOG_DEBUG("got gpgconf path from rt: {}", gpgconf_path); + if (gpgconf_path.empty()) { + SPDLOG_ERROR("cannot get valid gpgconf path from rt, abort."); + return; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {gpgconf_path, {"--verbose", "--kill", "all"}, @@ -138,6 +153,11 @@ bool GpgFrontend::GpgAdvancedOperator::ResetConfigures() { "core", "gpgme.ctx.gpgconf_path", std::string{}); SPDLOG_DEBUG("got gpgconf path from rt: {}", gpgconf_path); + if (gpgconf_path.empty()) { + SPDLOG_ERROR("cannot get valid gpgconf path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {gpgconf_path, {"--apply-defaults"}, @@ -170,6 +190,11 @@ bool GpgFrontend::GpgAdvancedOperator::StartGpgAgent() { "gnupg.home_path", std::string{}); SPDLOG_DEBUG("got gnupg home path from rt: {}", home_path); + if (gpg_agent_path.empty()) { + SPDLOG_ERROR("cannot get valid gpg agent path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {gpg_agent_path, {"--homedir", home_path, "--daemon"}, @@ -207,6 +232,11 @@ bool GpgFrontend::GpgAdvancedOperator::StartDirmngr() { "gnupg.home_path", std::string{}); SPDLOG_DEBUG("got gnupg home path from rt: {}", home_path); + if (dirmngr_path.empty()) { + SPDLOG_ERROR("cannot get valid dirmngr path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {dirmngr_path, {"--homedir", home_path, "--daemon"}, @@ -243,6 +273,11 @@ bool GpgFrontend::GpgAdvancedOperator::StartKeyBoxd() { "gnupg.home_path", std::string{}); SPDLOG_DEBUG("got gnupg home path from rt: {}", home_path); + if (keyboxd_path.empty()) { + SPDLOG_ERROR("cannot get valid keyboxd path from rt, abort."); + return false; + } + GpgFrontend::GpgCommandExecutor::GetInstance().ExecuteSync( {keyboxd_path, {"--homedir", home_path, "--daemon"}, |