aboutsummaryrefslogtreecommitdiffstats
path: root/g10/sig-check.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/sig-check.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/g10/sig-check.c b/g10/sig-check.c
index 80bfeb94c..b0c34abde 100644
--- a/g10/sig-check.c
+++ b/g10/sig-check.c
@@ -96,10 +96,17 @@ signature_check2( PKT_signature *sig, MD_HANDLE digest, u32 *r_expiredate,
signaures issued by it. */
if(rc==0 && !pk->is_primary && pk->backsig<2)
{
- if(pk->backsig==0)
- log_info(_("WARNING: signing subkey %s is not"
- " cross-certified\n"),keystr_from_pk(pk));
- else
+ /* TODO: In a future version, once enough signing subkeys
+ have backsigs, change this to always give the warning,
+ and have --require-backsigs enable or disable the
+ G10ERR_GENERAL. */
+ if(pk->backsig==0 && opt.require_backsigs)
+ {
+ log_info(_("WARNING: signing subkey %s is not"
+ " cross-certified\n"),keystr_from_pk(pk));
+ rc=G10ERR_GENERAL;
+ }
+ else if(pk->backsig==1)
{
log_info(_("WARNING: signing subkey %s has an invalid"
" cross-certification\n"),keystr_from_pk(pk));