diff options
author | Werner Koch <[email protected]> | 2014-12-17 09:36:24 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2014-12-17 09:39:31 +0000 |
commit | 5cb6df8996623c00eaa2a39e3037101585442f7e (patch) | |
tree | 62b1d72a4e4302cc4a15a88f4fdd07d44c176799 | |
parent | po: Update Japanese Translation. (diff) | |
download | gnupg-5cb6df8996623c00eaa2a39e3037101585442f7e.tar.gz gnupg-5cb6df8996623c00eaa2a39e3037101585442f7e.zip |
gpgconf: Exit with failure if --launch fails.
* tools/gpgconf-comp.c (gc_component_launch): Return an error code.
* tools/gpgconf.c (main): Exit if launch failed.
--
GnuPG-bug-id: 1791
-rw-r--r-- | tools/gpgconf-comp.c | 3 | ||||
-rw-r--r-- | tools/gpgconf.c | 12 | ||||
-rw-r--r-- | tools/gpgconf.h | 2 |
3 files changed, 13 insertions, 4 deletions
diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index 77139bbae..8c47b2e5e 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -1142,7 +1142,7 @@ dirmngr_runtime_change (int killflag) /* Launch the gpg-agent or the dirmngr if not already running. */ -void +gpg_error_t gc_component_launch (int component) { gpg_error_t err; @@ -1176,6 +1176,7 @@ gc_component_launch (int component) " NOP", gpg_strerror (err)); gnupg_release_process (pid); + return err; } diff --git a/tools/gpgconf.c b/tools/gpgconf.c index 31804f50e..423a66c71 100644 --- a/tools/gpgconf.c +++ b/tools/gpgconf.c @@ -281,9 +281,17 @@ main (int argc, char **argv) exit (1); } else if (cmd == aLaunch) - gc_component_launch (idx); + { + if (gc_component_launch (idx)) + exit (1); + } else - gc_component_kill (idx); + { + /* We don't error out if the kill failed because this + command should do nothing if the component is not + running. */ + gc_component_kill (idx); + } } break; diff --git a/tools/gpgconf.h b/tools/gpgconf.h index 0286c2737..d63833dd9 100644 --- a/tools/gpgconf.h +++ b/tools/gpgconf.h @@ -45,7 +45,7 @@ char *gc_percent_escape (const char *src); void gc_error (int status, int errnum, const char *fmt, ...); /* Launch given component. */ -void gc_component_launch (int component); +gpg_error_t gc_component_launch (int component); /* Kill given component. */ void gc_component_kill (int component); |