mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpgsm: New option --compatibility-flags.
* sm/gpgsm.c (oCompatibilityFlags): New option. (compatibility_flags): new. (main): Parse and print them in verbose mode. * sm/gpgsm.h (opt): Add field compat_glags.: (COMPAT_ALLOW_KA_TO_ENCR): New. * sm/keylist.c (print_capabilities): Take care of the new flag. * sm/certlist.c (cert_usage_p): Ditto. * common/miscellaneous.c (parse_compatibility_flags): New. * common/util.h (struct compatibility_flags_s): New. -- Backported-from-master:f0b373cec9
Backported-from-master:ce63eaa4f8
This commit is contained in:
parent
b356eddf3d
commit
77b6896f7a
7 changed files with 164 additions and 9 deletions
21
sm/gpgsm.c
21
sm/gpgsm.c
|
@ -200,6 +200,7 @@ enum cmd_and_opt_values {
|
|||
oIgnoreCertExtension,
|
||||
oIgnoreCertWithOID,
|
||||
oRequireCompliance,
|
||||
oCompatibilityFlags,
|
||||
oNoAutostart
|
||||
};
|
||||
|
||||
|
@ -422,6 +423,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||
ARGPARSE_s_s (oLCctype, "lc-ctype", "@"),
|
||||
ARGPARSE_s_s (oLCmessages, "lc-messages", "@"),
|
||||
ARGPARSE_s_s (oXauthority, "xauthority", "@"),
|
||||
ARGPARSE_s_s (oCompatibilityFlags, "compatibility-flags", "@"),
|
||||
|
||||
ARGPARSE_header (NULL, ""), /* Stop the header group. */
|
||||
|
||||
|
@ -457,6 +459,14 @@ static struct debug_flags_s debug_flags [] =
|
|||
};
|
||||
|
||||
|
||||
/* The list of compatibility flags. */
|
||||
static struct compatibility_flags_s compatibility_flags [] =
|
||||
{
|
||||
{ COMPAT_ALLOW_KA_TO_ENCR, "allow-ka-to-encr" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
|
||||
/* Global variable to keep an error count. */
|
||||
int gpgsm_errors_seen = 0;
|
||||
|
||||
|
@ -1233,6 +1243,15 @@ main ( int argc, char **argv)
|
|||
case oDebugNoChainValidation: opt.no_chain_validation = 1; break;
|
||||
case oDebugIgnoreExpiration: opt.ignore_expiration = 1; break;
|
||||
|
||||
case oCompatibilityFlags:
|
||||
if (parse_compatibility_flags (pargs.r.ret_str, &opt.compat_flags,
|
||||
compatibility_flags))
|
||||
{
|
||||
pargs.r_opt = ARGPARSE_INVALID_ARG;
|
||||
pargs.err = ARGPARSE_PRINT_ERROR;
|
||||
}
|
||||
break;
|
||||
|
||||
case oStatusFD:
|
||||
ctrl.status_fd = translate_sys2libc_fd_int (pargs.r.ret_int, 1);
|
||||
break;
|
||||
|
@ -1509,6 +1528,8 @@ main ( int argc, char **argv)
|
|||
gcry_control (GCRYCTL_RESUME_SECMEM_WARN);
|
||||
|
||||
set_debug ();
|
||||
if (opt.verbose) /* Print the compatibility flags. */
|
||||
parse_compatibility_flags (NULL, &opt.compat_flags, compatibility_flags);
|
||||
gnupg_set_compliance_extra_info (opt.min_rsa_length);
|
||||
|
||||
/* Although we always use gpgsm_exit, we better install a regualr
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue