diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-08-20 20:33:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-08-20 20:33:50 +0200 |
commit | 4d34122eef19c39415d38b4963572770f96a9317 (patch) | |
tree | 8cb68ce59bf365035d3427cb398726f6d4943a6b /gpg-interface.c | |
parent | Merge branch 'jc/update-index-doc' (diff) | |
parent | gpg-interface: propagate exit status from gpg back to the callers (diff) | |
download | git-4d34122eef19c39415d38b4963572770f96a9317.tar.xz git-4d34122eef19c39415d38b4963572770f96a9317.zip |
Merge branch 'jc/gpg-status'
"git verify-tag" and "git verify-commit" have been taught to use
the exit status of underlying "gpg --verify" to signal bad or
untrusted signature they found.
* jc/gpg-status:
gpg-interface: propagate exit status from gpg back to the callers
Diffstat (limited to 'gpg-interface.c')
-rw-r--r-- | gpg-interface.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gpg-interface.c b/gpg-interface.c index bb8ea668b3..db17d65f8a 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -136,12 +136,13 @@ int check_signature(const char *payload, size_t plen, const char *signature, sigc->gpg_output = strbuf_detach(&gpg_output, NULL); sigc->gpg_status = strbuf_detach(&gpg_status, NULL); parse_gpg_output(sigc); + status |= sigc->result != 'G' && sigc->result != 'U'; out: strbuf_release(&gpg_status); strbuf_release(&gpg_output); - return sigc->result != 'G' && sigc->result != 'U'; + return !!status; } void print_signature_buffer(const struct signature_check *sigc, unsigned flags) |