diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-03-17 15:02:23 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-17 15:02:23 -0700 |
commit | 4e730fcd1856d6154e054ffa272652e6b648f765 (patch) | |
tree | dbd967c7c8fa0626896154fd112616abe96e9498 /builtin | |
parent | Merge branch 'ds/partial-clone-fixes' into maint (diff) | |
parent | Revert "gpg-interface: prefer check_signature() for GPG verification" (diff) | |
download | tgif-4e730fcd1856d6154e054ffa272652e6b648f765.tar.xz |
Merge branch 'hi/gpg-use-check-signature' into maint
"git merge signed-tag" while lacking the public key started to say
"No signature", which was utterly wrong. This regression has been
reverted.
* hi/gpg-use-check-signature:
Revert "gpg-interface: prefer check_signature() for GPG verification"
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/fmt-merge-msg.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index 05a92c59d8..736f666f64 100644 --- a/builtin/fmt-merge-msg.c +++ b/builtin/fmt-merge-msg.c @@ -494,7 +494,6 @@ static void fmt_merge_msg_sigs(struct strbuf *out) enum object_type type; unsigned long size, len; char *buf = read_object_file(oid, &type, &size); - struct signature_check sigc = { 0 }; struct strbuf sig = STRBUF_INIT; if (!buf || type != OBJ_TAG) @@ -503,12 +502,10 @@ static void fmt_merge_msg_sigs(struct strbuf *out) if (size == len) ; /* merely annotated */ - else if (!check_signature(buf, len, buf + len, size - len, - &sigc)) { - strbuf_addstr(&sig, sigc.gpg_output); - signature_check_clear(&sigc); - } else - strbuf_addstr(&sig, "gpg verification failed.\n"); + else if (verify_signed_buffer(buf, len, buf + len, size - len, &sig, NULL)) { + if (!sig.len) + strbuf_addstr(&sig, "gpg verification failed.\n"); + } if (!tag_number++) { fmt_tag_signature(&tagbuf, &sig, buf, len); |