diff options
author | Werner Koch <[email protected]> | 2020-09-10 08:49:54 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-09-10 09:05:37 +0000 |
commit | a084924d07be16dbbbf4b34d463c67c8d4c117be (patch) | |
tree | fc4e5826284c47836b7f5da8938d98a8622cbb1e | |
parent | dirmngr: Fix the pool keyserver case for a single host in the pool. (diff) | |
download | gnupg-a084924d07be16dbbbf4b34d463c67c8d4c117be.tar.gz gnupg-a084924d07be16dbbbf4b34d463c67c8d4c117be.zip |
gpg-connect-agent: Catch signals so that SIGPIPE is ignored.
* dirmngr/server.c (cmd_killdirmngr): Return 0.
* tools/gpg-connect-agent.c (main): Catch signals.
--
And we also print nicer diagnostics. The reason we need this is that
for example "gpgconf --kill dirmngr" uses gpg-connect-agent to send a
command to dirmngr. This may results in a SIGPIPE which in turn leads
to an annoying error message from gpgconf.
Signed-off-by: Werner Koch <[email protected]>
-rw-r--r-- | dirmngr/server.c | 2 | ||||
-rw-r--r-- | tools/gpg-connect-agent.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/dirmngr/server.c b/dirmngr/server.c index 780722d47..407863330 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -2718,7 +2718,7 @@ cmd_killdirmngr (assuan_context_t ctx, char *line) ctrl->server_local->stopme = 1; assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1); - return gpg_error (GPG_ERR_EOF); + return 0; } diff --git a/tools/gpg-connect-agent.c b/tools/gpg-connect-agent.c index 7eb7ffa3a..bf32a74de 100644 --- a/tools/gpg-connect-agent.c +++ b/tools/gpg-connect-agent.c @@ -1182,6 +1182,7 @@ main (int argc, char **argv) assuan_set_gpg_err_source (0); + gnupg_init_signals (0, NULL); opt.autostart = 1; opt.connect_flags = 1; |