From: Werner Koch Date: Wed, 15 May 2019 06:50:15 +0000 (+0200) Subject: gpgconf: Support --homedir for --launch. X-Git-Tag: archive/raspbian/2.2.12-1+rpi1+deb10u1^2~35 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3ff4f28eb50ccbed12a62f35cbdeed7008e2b3df;p=gnupg2.git gpgconf: Support --homedir for --launch. * tools/gpgconf-comp.c (gpg_agent_runtime_change): Simplify because gnupg_homedir already returns abd absolute name. (scdaemon_runtime_change): Ditto. (dirmngr_runtime_change): Ditto. (gc_component_launch): Support --homedir. -- GnuPG-bug-id: 4496 Signed-off-by: Werner Koch (cherry picked from commit 31e26037bd727a6ee9c96ba168a55c4f9def43b6) Gbp-Pq: Topic from-2.2.16 Gbp-Pq: Name gpgconf-Support-homedir-for-launch.patch --- diff --git a/doc/tools.texi b/doc/tools.texi index b1e8b0b..467fcdc 100644 --- a/doc/tools.texi +++ b/doc/tools.texi @@ -393,6 +393,8 @@ extends numerical field values by human-readable descriptions. @opindex quiet Try to be as quiet as possible. +@include opt-homedir.texi + @item -n @itemx --dry-run Do not actually change anything. This is currently only implemented diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index b10b146..adecfde 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -1180,12 +1180,8 @@ gpg_agent_runtime_change (int killflag) pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT); if (!gnupg_default_homedir_p ()) { - abs_homedir = make_absfilename_try (gnupg_homedir (), NULL); - if (!abs_homedir) - err = gpg_error_from_syserror (); - argv[i++] = "--homedir"; - argv[i++] = abs_homedir; + argv[i++] = gnupg_homedir (); } argv[i++] = "--no-autostart"; argv[i++] = killflag? "KILLAGENT" : "RELOADAGENT"; @@ -1223,12 +1219,8 @@ scdaemon_runtime_change (int killflag) pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT); if (!gnupg_default_homedir_p ()) { - abs_homedir = make_absfilename_try (gnupg_homedir (), NULL); - if (!abs_homedir) - err = gpg_error_from_syserror (); - argv[i++] = "--homedir"; - argv[i++] = abs_homedir; + argv[i++] = gnupg_homedir (); } argv[i++] = "-s"; argv[i++] = "--no-autostart"; @@ -1267,12 +1259,8 @@ dirmngr_runtime_change (int killflag) argv[3] = NULL; else { - abs_homedir = make_absfilename_try (gnupg_homedir (), NULL); - if (!abs_homedir) - err = gpg_error_from_syserror (); - argv[3] = "--homedir"; - argv[4] = abs_homedir; + argv[4] = gnupg_homedir (); argv[5] = NULL; } @@ -1294,7 +1282,7 @@ gc_component_launch (int component) { gpg_error_t err; const char *pgmname; - const char *argv[3]; + const char *argv[5]; int i; pid_t pid; @@ -1316,6 +1304,11 @@ gc_component_launch (int component) pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT); i = 0; + if (!gnupg_default_homedir_p ()) + { + argv[i++] = "--homedir"; + argv[i++] = gnupg_homedir (); + } if (component == GC_COMPONENT_DIRMNGR) argv[i++] = "--dirmngr"; argv[i++] = "NOP";