aboutsummaryrefslogtreecommitdiffstats
path: root/g10/mainproc.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2006-03-07 11:05:41 +0000
committerWerner Koch <[email protected]>2006-03-07 11:05:41 +0000
commit4aeb4d4b103ccd2e7cf56c8190bc0eb7c41f8e4a (patch)
tree7b962de7e8574bdf92d0bb765e0514fabbf1a727 /g10/mainproc.c
parent* gpg.sgml: Document --auto-key-locate. (diff)
downloadgnupg-4aeb4d4b103ccd2e7cf56c8190bc0eb7c41f8e4a.tar.gz
gnupg-4aeb4d4b103ccd2e7cf56c8190bc0eb7c41f8e4a.zip
More tests added; make distcheck works
Diffstat (limited to '')
-rw-r--r--g10/mainproc.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c
index dd9909bcf..cc865a833 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -1163,6 +1163,13 @@ proc_signature_packets( void *anchor, IOBUF a,
log_error (_("no signature found\n"));
rc = G10ERR_NO_DATA;
}
+
+ /* Propagate the signature seen flag upward. Do this only on
+ success so that we won't issue the nodata status several
+ times. */
+ if (!rc && c->anchor && c->any_sig_seen)
+ c->anchor->any_sig_seen = 1;
+
xfree( c );
return rc;
}
@@ -1445,8 +1452,8 @@ check_sig_and_print( CTX c, KBNODE node )
KBNODE n;
int n_onepass, n_sig;
- log_debug ("checking signature packet composition\n");
- dump_kbnode (c->list);
+/* log_debug ("checking signature packet composition\n"); */
+/* dump_kbnode (c->list); */
n = c->list;
assert (n);
@@ -1482,7 +1489,9 @@ check_sig_and_print( CTX c, KBNODE node )
for (n_sig=0, n = n->next;
n && n->pkt->pkttype == PKT_SIGNATURE; n = n->next)
n_sig++;
- if (n || !n_sig)
+ if (!n_sig)
+ goto ambiguous;
+ if (n && !opt.allow_multisig_verification)
goto ambiguous;
if (n_onepass != n_sig)
{