aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-03-16 13:52:28 +0000
committerWerner Koch <[email protected]>2023-03-16 13:52:28 +0000
commitf5347fbc25aee7adce6244112aae639b0ff00ccd (patch)
treeeaf144e3170939ca569d23b6d87770ae237e23d5 /dirmngr/dirmngr.c
parentgpgsm: New option --no-pretty-dn (diff)
downloadgnupg-f5347fbc25aee7adce6244112aae639b0ff00ccd.tar.gz
gnupg-f5347fbc25aee7adce6244112aae639b0ff00ccd.zip
dirmngr: Add framework to implement a fake CRL feature.
* dirmngr/fakecrl.c: New. * dirmngr/dirmngr.h (opt): Add fake_crl. * dirmngr/dirmngr.c (enum cmd_and_opt_values): Add oFakeCRL. (opts): Add "fake-crl" (parse_rereadable_options): Set opt.fake_crl. * dirmngr/server.c (cmd_isvalid): Take care of fakce CRLs.
Diffstat (limited to 'dirmngr/dirmngr.c')
-rw-r--r--dirmngr/dirmngr.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 66b7878e5..3c0818af9 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -158,6 +158,7 @@ enum cmd_and_opt_values {
oConnectTimeout,
oConnectQuickTimeout,
oListenBacklog,
+ oFakeCRL,
aTest
};
@@ -274,7 +275,7 @@ static gpgrt_opt_t opts[] = {
" points to serverlist")),
ARGPARSE_s_i (oLDAPTimeout, "ldaptimeout",
N_("|N|set LDAP timeout to N seconds")),
-
+ ARGPARSE_s_s (oFakeCRL, "fake-crl", "@"),
ARGPARSE_header ("OCSP", N_("Configuration for OCSP")),
@@ -709,6 +710,8 @@ parse_rereadable_options (gpgrt_argparse_t *pargs, int reread)
opt.ldaptimeout = DEFAULT_LDAP_TIMEOUT;
ldapserver_list_needs_reset = 1;
opt.debug_cache_expired_certs = 0;
+ xfree (opt.fake_crl);
+ opt.fake_crl = NULL;
return 1;
}
@@ -871,6 +874,11 @@ parse_rereadable_options (gpgrt_argparse_t *pargs, int reread)
opt.debug_cache_expired_certs = 0;
break;
+ case oFakeCRL:
+ xfree (opt.fake_crl);
+ opt.fake_crl = *pargs->r.ret_str? xstrdup (pargs->r.ret_str) : NULL;
+ break;
+
default:
return 0; /* Not handled. */
}