summaryrefslogtreecommitdiffstats
path: root/tools/gpgconf-comp.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2017-01-18 10:01:55 +0100
committerWerner Koch <wk@gnupg.org>2017-01-18 10:07:53 +0100
commit2312248b2e3adffa52d8a3ac4f24fe2c88f0f569 (patch)
treef9c92f7333c1c7a6d7ac5fd445a62a9a6e218a08 /tools/gpgconf-comp.c
parentgpg: Remove unused definitions. (diff)
downloadgnupg2-2312248b2e3adffa52d8a3ac4f24fe2c88f0f569.tar.xz
gnupg2-2312248b2e3adffa52d8a3ac4f24fe2c88f0f569.zip
gpgconf: Allow "all" for --launch, --kill, and --reload.
* tools/gpgconf-comp.c (gc_component_launch): Allow -1 for COMPONENT. (gc_component_kill): Ditto. (gc_component_reload): For robustness change the condition to < 0. * tools/gpgconf.c (main) <aLaunch, aKill, aReload>: Support argument "all". Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'tools/gpgconf-comp.c')
-rw-r--r--tools/gpgconf-comp.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c
index 2dcf0758e..300f63da6 100644
--- a/tools/gpgconf-comp.c
+++ b/tools/gpgconf-comp.c
@@ -1263,6 +1263,14 @@ gc_component_launch (int component)
int i;
pid_t pid;
+ if (component < 0)
+ {
+ err = gc_component_launch (GC_COMPONENT_GPG_AGENT);
+ if (!err)
+ err = gc_component_launch (GC_COMPONENT_DIRMNGR);
+ return err;
+ }
+
if (!(component == GC_COMPONENT_GPG_AGENT
|| component == GC_COMPONENT_DIRMNGR))
{
@@ -1304,7 +1312,16 @@ gc_component_kill (int component)
for (backend = 0; backend < GC_BACKEND_NR; backend++)
runtime[backend] = 0;
- if (component >= 0)
+ if (component < 0)
+ {
+ for (component = 0; component < GC_COMPONENT_NR; component++)
+ {
+ option = gc_component[component].options;
+ for (; option && option->name; option++)
+ runtime[option->backend] = 1;
+ }
+ }
+ else
{
assert (component < GC_COMPONENT_NR);
option = gc_component[component].options;
@@ -1333,7 +1350,7 @@ gc_component_reload (int component)
for (backend = 0; backend < GC_BACKEND_NR; backend++)
runtime[backend] = 0;
- if (component == -1)
+ if (component < 0)
{
for (component = 0; component < GC_COMPONENT_NR; component++)
{