From 1315093f99f327ff498ae6c8afcc42651bbddebc Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Thu, 14 Feb 2013 17:04:43 +0100 Subject: log-tree: rely upon the check in the gpg_interface It's just so much clearer. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- log-tree.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'log-tree.c') diff --git a/log-tree.c b/log-tree.c index 4f86defe32..ff9522f3d4 100644 --- a/log-tree.c +++ b/log-tree.c @@ -498,20 +498,17 @@ static void show_one_mergetag(struct rev_info *opt, gpg_message_offset = verify_message.len; payload_size = parse_signature(extra->value, extra->len); - if ((extra->len <= payload_size) || - (verify_signed_buffer(extra->value, payload_size, - extra->value + payload_size, - extra->len - payload_size, - &verify_message) && - verify_message.len <= gpg_message_offset)) { - strbuf_addstr(&verify_message, "No signature\n"); - status = -1; - } - else if (strstr(verify_message.buf + gpg_message_offset, - ": Good signature from ")) - status = 0; - else - status = -1; + status = -1; + if (extra->len > payload_size) + if (verify_signed_buffer(extra->value, payload_size, + extra->value + payload_size, + extra->len - payload_size, + &verify_message)) { + if (verify_message.len <= gpg_message_offset) + strbuf_addstr(&verify_message, "No signature\n"); + else + status = 0; + } show_sig_lines(opt, status, verify_message.buf); strbuf_release(&verify_message); -- cgit v1.2.1 From 9cc4ac8ff1ae84f9435f2c7de3f7ab796103adba Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Thu, 14 Feb 2013 17:04:44 +0100 Subject: gpg_interface: allow to request status return Currently, verify_signed_buffer() returns the user facing output only. Allow callers to request the status output also. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- log-tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'log-tree.c') diff --git a/log-tree.c b/log-tree.c index ff9522f3d4..9cb78d195e 100644 --- a/log-tree.c +++ b/log-tree.c @@ -434,7 +434,7 @@ static void show_signature(struct rev_info *opt, struct commit *commit) status = verify_signed_buffer(payload.buf, payload.len, signature.buf, signature.len, - &gpg_output); + &gpg_output, NULL); if (status && !gpg_output.len) strbuf_addstr(&gpg_output, "No signature\n"); @@ -503,7 +503,7 @@ static void show_one_mergetag(struct rev_info *opt, if (verify_signed_buffer(extra->value, payload_size, extra->value + payload_size, extra->len - payload_size, - &verify_message)) { + &verify_message, NULL)) { if (verify_message.len <= gpg_message_offset) strbuf_addstr(&verify_message, "No signature\n"); else -- cgit v1.2.1