mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Replace --override-compliance-check by a real fix.
* common/compliance.c (gnupg_pk_is_allowed): Handle EdDSA.
* g10/gpg.c (oOverrideComplianceCheck): Remove.
(opts): Turn --override-compliance-check into a dummy option.
* g10/options.h (opt): Remove override_compliance_check.
* g10/sig-check.c (check_key_verify_compliance): Remove use of that
option.
--
The introduction of --override-compliance-check actually hid the real
cause for the signature verification problem in de-vs mode for the
Ed25519 key. The real fix is to handle the EdDSA algorithm in
gnupg_pk_is_allowed.
Fixes-commit: 773b8fbbe9
GnuPG-bug-id: 5655
This commit is contained in:
parent
de292078a5
commit
aecebdf705
5 changed files with 8 additions and 32 deletions
16
g10/gpg.c
16
g10/gpg.c
|
@ -350,7 +350,6 @@ enum cmd_and_opt_values
|
|||
oShowSessionKey,
|
||||
oOverrideSessionKey,
|
||||
oOverrideSessionKeyFD,
|
||||
oOverrideComplianceCheck,
|
||||
oNoRandomSeedFile,
|
||||
oAutoKeyRetrieve,
|
||||
oNoAutoKeyRetrieve,
|
||||
|
@ -856,7 +855,6 @@ static ARGPARSE_OPTS opts[] = {
|
|||
ARGPARSE_s_s (oCipherAlgo, "cipher-algo", "@"),
|
||||
ARGPARSE_s_s (oDigestAlgo, "digest-algo", "@"),
|
||||
ARGPARSE_s_s (oCertDigestAlgo, "cert-digest-algo", "@"),
|
||||
ARGPARSE_s_n (oOverrideComplianceCheck, "override-compliance-check", "@"),
|
||||
/* Options to override new security defaults. */
|
||||
ARGPARSE_s_n (oAllowWeakKeySignatures, "allow-weak-key-signatures", "@"),
|
||||
ARGPARSE_s_n (oAllowWeakDigestAlgos, "allow-weak-digest-algos", "@"),
|
||||
|
@ -953,6 +951,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||
ARGPARSE_s_n (oNoop, "no-force-mdc", "@"),
|
||||
ARGPARSE_s_n (oNoop, "disable-mdc", "@"),
|
||||
ARGPARSE_s_n (oNoop, "no-disable-mdc", "@"),
|
||||
ARGPARSE_s_n (oNoop, "override-compliance-check", "@"),
|
||||
|
||||
|
||||
ARGPARSE_group (302, N_(
|
||||
|
@ -3593,10 +3592,6 @@ main (int argc, char **argv)
|
|||
opt.flags.allow_weak_key_signatures = 1;
|
||||
break;
|
||||
|
||||
case oOverrideComplianceCheck:
|
||||
opt.flags.override_compliance_check = 1;
|
||||
break;
|
||||
|
||||
case oFakedSystemTime:
|
||||
{
|
||||
size_t len = strlen (pargs.r.ret_str);
|
||||
|
@ -3793,15 +3788,6 @@ main (int argc, char **argv)
|
|||
g10_exit(2);
|
||||
}
|
||||
|
||||
/* We allow overriding the compliance check only in non-batch mode
|
||||
* so that the user has a chance to see the message. */
|
||||
if (opt.flags.override_compliance_check && opt.batch)
|
||||
{
|
||||
opt.flags.override_compliance_check = 0;
|
||||
log_info ("Note: '%s' ignored due to batch mode\n",
|
||||
"--override-compliance-check");
|
||||
}
|
||||
|
||||
set_debug (debug_level);
|
||||
if (opt.verbose) /* Print the compatibility flags. */
|
||||
parse_compatibility_flags (NULL, &opt.compat_flags, compatibility_flags);
|
||||
|
|
|
@ -238,7 +238,6 @@ struct
|
|||
unsigned int allow_multiple_messages:1;
|
||||
unsigned int allow_weak_digest_algos:1;
|
||||
unsigned int allow_weak_key_signatures:1;
|
||||
unsigned int override_compliance_check:1;
|
||||
unsigned int large_rsa:1;
|
||||
unsigned int disable_signer_uid:1;
|
||||
unsigned int include_key_block:1;
|
||||
|
|
|
@ -75,17 +75,10 @@ check_key_verify_compliance (PKT_public_key *pk)
|
|||
NULL))
|
||||
{
|
||||
/* Compliance failure. */
|
||||
log_info (_("key %s may not be used for signing in %s mode\n"),
|
||||
log_error (_("key %s may not be used for signing in %s mode\n"),
|
||||
keystr_from_pk (pk),
|
||||
gnupg_compliance_option_string (opt.compliance));
|
||||
if (opt.flags.override_compliance_check)
|
||||
log_info (_("continuing verification anyway due to option %s\n"),
|
||||
"--override-compliance-failure");
|
||||
else
|
||||
{
|
||||
log_inc_errorcount (); /* We used log info above. */
|
||||
err = gpg_error (GPG_ERR_PUBKEY_ALGO);
|
||||
}
|
||||
err = gpg_error (GPG_ERR_PUBKEY_ALGO);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue