aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2022-10-31 15:14:18 +0000
committerWerner Koch <[email protected]>2022-10-31 15:14:18 +0000
commit4583f4fe2e11b3dd070066628c3f16776cc74f72 (patch)
tree58e5786d7e61bad4eaf426f5d14817bb3ac27407
parentgpg: Allow only OCB for AEAD encryption. (diff)
downloadgnupg-4583f4fe2e11b3dd070066628c3f16776cc74f72.tar.gz
gnupg-4583f4fe2e11b3dd070066628c3f16776cc74f72.zip
gpg: Merge --rfc4880bis features into --gnupg
* g10/gpg.c (oRFC4880bis): Remove. (opts): Make --rfc4880bis a Noop. (compliance_options): Make rfc4880bis to gnupg. (set_compliance_option): Remove rfc4880bis stuff. (main): Ditto. Note that this now activates the --mimemode option. * g10/keygen.c (keygen_set_std_prefs): Remove rfc4880bis protection. (keygen_upd_std_prefs): Always announce support for v5 keys. (read_parameter_file): Activate the v4 and v5 keywords. --
-rw-r--r--g10/gpg.c35
-rw-r--r--g10/keygen.c30
2 files changed, 15 insertions, 50 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index f6d4d2b4c..932a4e0f0 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -245,7 +245,6 @@ enum cmd_and_opt_values
oGnuPG,
oRFC2440,
oRFC4880,
- oRFC4880bis,
oOpenPGP,
oPGP7,
oPGP8,
@@ -628,7 +627,6 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oGnuPG, "no-pgp8", "@"),
ARGPARSE_s_n (oRFC2440, "rfc2440", "@"),
ARGPARSE_s_n (oRFC4880, "rfc4880", "@"),
- ARGPARSE_s_n (oRFC4880bis, "rfc4880bis", "@"),
ARGPARSE_s_n (oOpenPGP, "openpgp", N_("use strict OpenPGP behavior")),
ARGPARSE_s_n (oPGP7, "pgp6", "@"),
ARGPARSE_s_n (oPGP7, "pgp7", "@"),
@@ -969,6 +967,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oNoop, "no-allow-multiple-messages", "@"),
ARGPARSE_s_s (oNoop, "aead-algo", "@"),
ARGPARSE_s_s (oNoop, "personal-aead-preferences","@"),
+ ARGPARSE_s_n (oNoop, "rfc4880bis", "@"),
ARGPARSE_group (302, N_(
@@ -2198,7 +2197,7 @@ static struct gnupg_compliance_option compliance_options[] =
{
{ "gnupg", oGnuPG },
{ "openpgp", oOpenPGP },
- { "rfc4880bis", oRFC4880bis },
+ { "rfc4880bis", oGnuPG },
{ "rfc4880", oRFC4880 },
{ "rfc2440", oRFC2440 },
{ "pgp6", oPGP7 },
@@ -2214,28 +2213,8 @@ static struct gnupg_compliance_option compliance_options[] =
static void
set_compliance_option (enum cmd_and_opt_values option)
{
- opt.flags.rfc4880bis = 0; /* Clear because it is initially set. */
-
switch (option)
{
- case oRFC4880bis:
- opt.flags.rfc4880bis = 1;
- opt.compliance = CO_RFC4880;
- opt.flags.dsa2 = 1;
- opt.flags.require_cross_cert = 1;
- opt.rfc2440_text = 0;
- opt.allow_non_selfsigned_uid = 1;
- opt.allow_freeform_uid = 1;
- opt.escape_from = 1;
- opt.not_dash_escaped = 0;
- opt.def_cipher_algo = 0;
- opt.def_digest_algo = 0;
- opt.cert_digest_algo = 0;
- opt.compress_algo = -1;
- opt.s2k_mode = 3; /* iterated+salted */
- opt.s2k_digest_algo = DIGEST_ALGO_SHA256;
- opt.s2k_cipher_algo = CIPHER_ALGO_AES256;
- break;
case oOpenPGP:
case oRFC4880:
/* This is effectively the same as RFC2440, but with
@@ -2279,7 +2258,6 @@ set_compliance_option (enum cmd_and_opt_values option)
case oPGP8: opt.compliance = CO_PGP8; break;
case oGnuPG:
opt.compliance = CO_GNUPG;
- opt.flags.rfc4880bis = 1;
break;
case oDE_VS:
@@ -2482,7 +2460,6 @@ main (int argc, char **argv)
opt.emit_version = 0;
opt.weak_digests = NULL;
opt.compliance = CO_GNUPG;
- opt.flags.rfc4880bis = 1;
/* Check special options given on the command line. */
orig_argc = argc;
@@ -3020,7 +2997,6 @@ main (int argc, char **argv)
case oOpenPGP:
case oRFC2440:
case oRFC4880:
- case oRFC4880bis:
case oPGP7:
case oPGP8:
case oGnuPG:
@@ -3832,11 +3808,6 @@ main (int argc, char **argv)
if( may_coredump && !opt.quiet )
log_info(_("WARNING: program may create a core file!\n"));
- if (!opt.flags.rfc4880bis)
- {
- opt.mimemode = 0; /* This will use text mode instead. */
- }
-
if (eyes_only) {
if (opt.set_filename)
log_info(_("WARNING: %s overrides %s\n"),
@@ -4062,7 +4033,7 @@ main (int argc, char **argv)
/* Check our chosen algorithms against the list of legal
algorithms. */
- if(!GNUPG && !opt.flags.rfc4880bis)
+ if(!GNUPG)
{
const char *badalg=NULL;
preftype_t badtype=PREFTYPE_NONE;
diff --git a/g10/keygen.c b/g10/keygen.c
index 484352583..c2f2dcc9d 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -407,7 +407,7 @@ keygen_set_std_prefs (const char *string,int personal)
strcat(dummy_string,"S7 ");
strcat(dummy_string,"S2 "); /* 3DES */
- if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB))
+ if (!openpgp_aead_test_algo (AEAD_ALGO_OCB))
strcat(dummy_string,"A2 ");
if (personal)
@@ -892,7 +892,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque)
/* Make sure that the MDC feature flag is set if needed. */
add_feature_mdc (sig,mdc_available);
add_feature_aead (sig, aead_available);
- add_feature_v5 (sig, opt.flags.rfc4880bis);
+ add_feature_v5 (sig, 1);
add_keyserver_modify (sig,ks_modify);
keygen_add_keyserver_url(sig,NULL);
@@ -3387,10 +3387,7 @@ parse_key_parameter_part (ctrl_t ctrl,
}
}
else if (!ascii_strcasecmp (s, "v5"))
- {
- if (opt.flags.rfc4880bis)
- keyversion = 5;
- }
+ keyversion = 5;
else if (!ascii_strcasecmp (s, "v4"))
keyversion = 4;
else
@@ -3649,7 +3646,7 @@ parse_key_parameter_part (ctrl_t ctrl,
* ecdsa := Use algorithm ECDSA.
* eddsa := Use algorithm EdDSA.
* ecdh := Use algorithm ECDH.
- * v5 := Create version 5 key (requires option --rfc4880bis)
+ * v5 := Create version 5 key
*
* There are several defaults and fallbacks depending on the
* algorithm. PART can be used to select which part of STRING is
@@ -4431,9 +4428,9 @@ read_parameter_file (ctrl_t ctrl, const char *fname )
}
}
- if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION
- || keywords[i].key == pSUBVERSION))
- ; /* Ignore version unless --rfc4880bis is active. */
+ if ((keywords[i].key == pVERSION
+ || keywords[i].key == pSUBVERSION))
+ ; /* Ignore version. */
else
{
r = xmalloc_clear( sizeof *r + strlen( value ) );
@@ -4528,14 +4525,11 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
para = r;
}
- if (opt.flags.rfc4880bis)
- {
- r = xmalloc_clear (sizeof *r + 20);
- r->key = for_subkey? pSUBVERSION : pVERSION;
- snprintf (r->u.value, 20, "%d", version);
- r->next = para;
- para = r;
- }
+ r = xmalloc_clear (sizeof *r + 20);
+ r->key = for_subkey? pSUBVERSION : pVERSION;
+ snprintf (r->u.value, 20, "%d", version);
+ r->next = para;
+ para = r;
if (keytime)
{