aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/gpg.texi7
-rw-r--r--g10/gpg.c8
-rw-r--r--g10/options.h2
3 files changed, 17 insertions, 0 deletions
diff --git a/doc/gpg.texi b/doc/gpg.texi
index 6437b9061..3ea298eb4 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -2464,6 +2464,13 @@ Reset all packet, cipher and digest options to strict RFC-4880
behavior. Note that this is currently the same thing as
@option{--openpgp}.
+@item --rfc4880bis
+@opindex rfc4880bis
+Enable experimental features from proposed updates to RFC-4880. This
+option can be used in addition to the other compliance options.
+Warning: The behavior may change with any GnuPG release and created
+keys or data may not be usable with future GnuPG versions.
+
@item --rfc2440
@opindex rfc2440
Reset all packet, cipher and digest options to strict RFC-2440
diff --git a/g10/gpg.c b/g10/gpg.c
index 1f2d41685..ef27562f0 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -216,6 +216,7 @@ enum cmd_and_opt_values
oGnuPG,
oRFC2440,
oRFC4880,
+ oRFC4880bis,
oOpenPGP,
oPGP6,
oPGP7,
@@ -599,6 +600,7 @@ static ARGPARSE_OPTS 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 (oPGP6, "pgp6", "@"),
ARGPARSE_s_n (oPGP7, "pgp7", "@"),
@@ -2686,6 +2688,9 @@ main (int argc, char **argv)
/* Dummy so that gpg 1.4 conf files can work. Should
eventually be removed. */
break;
+ case oRFC4880bis:
+ opt.flags.rfc4880bis = 1;
+ /* fall thru. */
case oOpenPGP:
case oRFC4880:
/* This is effectively the same as RFC2440, but with
@@ -3399,6 +3404,9 @@ main (int argc, char **argv)
if( may_coredump && !opt.quiet )
log_info(_("WARNING: program may create a core file!\n"));
+ if (opt.flags.rfc4880bis)
+ log_info ("WARNING: using experimental features from RFC4880bis!\n");
+
if (eyes_only) {
if (opt.set_filename)
log_info(_("WARNING: %s overrides %s\n"),
diff --git a/g10/options.h b/g10/options.h
index 0a87b9011..e14bc07d3 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -235,6 +235,8 @@ struct
unsigned int allow_weak_digest_algos:1;
unsigned int large_rsa:1;
unsigned int disable_signer_uid:1;
+ /* Flag to enbale experimental features from RFC4880bis. */
+ unsigned int rfc4880bis:1;
} flags;
/* Linked list of ways to find a key if the key isn't on the local