aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to 'g10')
-rw-r--r--g10/gpg.c6
-rw-r--r--g10/mainproc.c2
-rw-r--r--g10/options.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index 461feff50..1a96db989 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -455,6 +455,7 @@ enum cmd_and_opt_values
oAssertSigner,
oAssertPubkeyAlgo,
oKbxBufferSize,
+ oProcAllSigs,
oNoop
};
@@ -902,6 +903,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oBatch, "batch", "@"),
ARGPARSE_s_n (oNoBatch, "no-batch", "@"),
+ ARGPARSE_s_n (oProcAllSigs, "proc-all-sigs", "@"),
ARGPARSE_s_n (oAnswerYes, "yes", "@"),
ARGPARSE_s_n (oAnswerNo, "no", "@"),
ARGPARSE_s_i (oStatusFD, "status-fd", "@"),
@@ -2802,6 +2804,10 @@ main (int argc, char **argv)
nogreeting = 1;
break;
+ case oProcAllSigs:
+ opt.flags.proc_all_sigs = 1;
+ break;
+
case oUseAgent: /* Dummy. */
break;
diff --git a/g10/mainproc.c b/g10/mainproc.c
index e722618ca..40b90479f 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -2549,7 +2549,7 @@ check_sig_and_print (CTX c, kbnode_t node)
release_kbnode( keyblock );
if (rc)
g10_errors_seen = 1;
- if (opt.batch && rc)
+ if (opt.batch && rc && !opt.flags.proc_all_sigs)
g10_exit (1);
}
else /* Error checking the signature. (neither Good nor Bad). */
diff --git a/g10/options.h b/g10/options.h
index e6526b86e..29641119d 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -305,6 +305,8 @@ struct
/* Fail if an operation can't be done in the requested compliance
* mode. */
unsigned int require_compliance:1;
+ /* Process all signatures even in batch mode. */
+ unsigned int proc_all_sigs:1;
} flags;
/* Linked list of ways to find a key if the key isn't on the local