aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2021-04-01 11:11:16 +0000
committerWerner Koch <[email protected]>2021-04-01 11:11:16 +0000
commita78475fbb7b60ca96137fbe179d8b939cfe2cd89 (patch)
tree322171ec8d1aceb1869e4dc52dd77ea066f2b9f8
parentcommon: Make the compliance check more robust. (diff)
downloadgnupg-a78475fbb7b60ca96137fbe179d8b939cfe2cd89.tar.gz
gnupg-a78475fbb7b60ca96137fbe179d8b939cfe2cd89.zip
gpgconf: Return a new pseudo option compliance_de_vs.
* tools/gpgconf-comp.c (known_pseudo_options_gpg): Add "compliance_de_vs". * g10/gpg.c (gpgconf_list): Returh that pseudo option. -- Of course this will always return false for this version of gnupg. But as soon as this version has been approved we have everything ready for a runtime check. Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--g10/gpg.c8
-rw-r--r--tools/gpgconf-comp.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index 9d64fa5d8..641dac4ab 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1953,6 +1953,14 @@ gpgconf_list (void)
the top of keygen.c */
es_printf ("default_pubkey_algo:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT,
get_default_pubkey_algo ());
+ /* This info only mode tells whether the we are running in de-vs
+ * compliance mode. This does not test all parameters but the basic
+ * conditions like a proper RNG and Libgcrypt. AS of now we always
+ * return 0 because this version of gnupg has not yet received an
+ * appoval. */
+ es_printf ("compliance_de_vs:%lu:%d:\n", GC_OPT_FLAG_DEFAULT,
+ 0 /*gnupg_rng_is_compliant (CO_DE_VS)*/);
+
}
diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c
index 7a39ccc02..ca15aa8e4 100644
--- a/tools/gpgconf-comp.c
+++ b/tools/gpgconf-comp.c
@@ -422,16 +422,20 @@ static known_option_t known_options_gpg[] =
{ "use-keyboxd", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE },
- /* The next is a pseudo option which we read via --gpgconf-list.
+ /* The next items are pseudo options which we read via --gpgconf-list.
* The meta information is taken from the table below. */
{ "default_pubkey_algo", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE },
-
+ { "compliance_de_vs", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE },
{ NULL }
};
static const char *known_pseudo_options_gpg[] =
{/* v-- ARGPARSE_TYPE_STRING */
"default_pubkey_algo:0:2:@:",
+ /* A basic compliance check for gpg. We use gpg here but the
+ * result is valid for all components.
+ * v-- ARGPARSE_TYPE_INT */
+ "compliance_de_vs:0:1:@:",
NULL
};