Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:branches:openSUSE:Factory:Rings:1-MinimalX
gpg2
gnupg-revert-rfc4880bis.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnupg-revert-rfc4880bis.patch of Package gpg2
From 4583f4fe2e11b3dd070066628c3f16776cc74f72 Mon Sep 17 00:00:00 2001 From: Werner Koch <wk@gnupg.org> Date: Mon, 31 Oct 2022 16:14:18 +0100 Subject: [PATCH GnuPG] 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. -- Index: gnupg-2.5.1/g10/gpg.c =================================================================== --- gnupg-2.5.1.orig/g10/gpg.c +++ gnupg-2.5.1/g10/gpg.c @@ -254,6 +254,7 @@ enum cmd_and_opt_values oGnuPG, oRFC2440, oRFC4880, + oRFC4880bis, oOpenPGP, oPGP7, oPGP8, @@ -653,6 +654,7 @@ 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", "@"), @@ -1006,7 +1008,6 @@ 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_s_n (oNoop, "override-compliance-check", "@"), @@ -2261,7 +2262,7 @@ static struct gnupg_compliance_option co { { "gnupg", oGnuPG }, { "openpgp", oOpenPGP }, - { "rfc4880bis", oGnuPG }, + { "rfc4880bis", oRFC4880bis }, { "rfc4880", oRFC4880 }, { "rfc2440", oRFC2440 }, { "pgp6", oPGP7 }, @@ -2277,8 +2278,28 @@ static struct gnupg_compliance_option co 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 @@ -2322,6 +2343,7 @@ set_compliance_option (enum cmd_and_opt_ case oPGP8: opt.compliance = CO_PGP8; break; case oGnuPG: opt.compliance = CO_GNUPG; + opt.flags.rfc4880bis = 1; break; case oDE_VS: @@ -2526,6 +2548,7 @@ main (int argc, char **argv) opt.weak_digests = NULL; opt.with_subkey_fingerprint = 1; opt.compliance = CO_GNUPG; + opt.flags.rfc4880bis = 1; /* Check special options given on the command line. */ orig_argc = argc; @@ -3085,6 +3108,7 @@ main (int argc, char **argv) case oOpenPGP: case oRFC2440: case oRFC4880: + case oRFC4880bis: case oPGP7: case oPGP8: case oGnuPG: @@ -3990,6 +4014,11 @@ 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"), @@ -4212,7 +4241,7 @@ main (int argc, char **argv) /* Check our chosen algorithms against the list of legal algorithms. */ - if(!GNUPG) + if(!GNUPG && !opt.flags.rfc4880bis) { const char *badalg=NULL; preftype_t badtype=PREFTYPE_NONE; Index: gnupg-2.5.1/g10/keygen.c =================================================================== --- gnupg-2.5.1.orig/g10/keygen.c +++ gnupg-2.5.1/g10/keygen.c @@ -453,7 +453,7 @@ keygen_set_std_prefs (const char *string strcat(dummy_string,"S7 "); strcat(dummy_string,"S2 "); /* 3DES */ - if (!openpgp_aead_test_algo (AEAD_ALGO_OCB)) + if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB)) strcat(dummy_string,"A2 "); if (personal) @@ -938,7 +938,7 @@ keygen_upd_std_prefs (PKT_signature *sig /* 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, 1); + add_feature_v5 (sig, opt.flags.rfc4880bis); add_keyserver_modify (sig,ks_modify); keygen_add_keyserver_url(sig,NULL); @@ -3974,7 +3974,10 @@ parse_key_parameter_part (ctrl_t ctrl, } } else if (!ascii_strcasecmp (s, "v5")) - keyversion = 5; + { + if (opt.flags.rfc4880bis) + keyversion = 5; + } else if (!ascii_strcasecmp (s, "v4")) keyversion = 4; else @@ -4235,7 +4238,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 + * v5 := Create version 5 key (requires option --rfc4880bis) * * There are several defaults and fallbacks depending on the * algorithm. PART can be used to select which part of STRING is @@ -5206,9 +5209,9 @@ read_parameter_file (ctrl_t ctrl, const } } - if ((keywords[i].key == pVERSION - || keywords[i].key == pSUBVERSION)) - ; /* Ignore version. */ + if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION + || keywords[i].key == pSUBVERSION)) + ; /* Ignore version unless --rfc4880bis is active. */ else { r = xmalloc_clear( sizeof *r + strlen( value ) ); @@ -5303,11 +5306,14 @@ quickgen_set_para (struct para_data_s *p 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 (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; + } if (keytime) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor