From a48e6de603c3a312f02b1b5fdb813032eeae9074 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 5 Oct 2015 17:44:20 +0200 Subject: dirmngr: Add option --keyserver. * dirmngr/dirmngr.c (oKeyServer): New. (opts): Add "keyserver". (parse_rereadable_options): Parse that options (main): Add option to the gpgconf list. * dirmngr/dirmngr.h (opt): Add field "keyserver". * dirmngr/server.c (ensure_keyserver): New. (make_keyserver_item): New. Factored out from (cmd_keyserver): here. Call ensure_keyserver. (cmd_ks_search): Call ensure_keyserver. (cmd_ks_get): Ditto. (cmd_ks_fetch): Ditto. (cmd_ks_put): Ditto. -- This option specifies the keyserver to be used if the client does not set another keyserver. We want to fade out the use of --keyserver in gpg.conf in favor of specifying it here. Signed-off-by: Werner Koch --- dirmngr/dirmngr.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'dirmngr/dirmngr.c') diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 31833ebd6..847a65d51 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -141,6 +141,7 @@ enum cmd_and_opt_values { oHTTPWrapperProgram, oIgnoreCertExtension, oUseTor, + oKeyServer, aTest }; @@ -213,6 +214,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_i (oMaxReplies, "max-replies", N_("|N|do not return more than N items in one query")), + ARGPARSE_s_s (oKeyServer, "keyserver", "@"), ARGPARSE_s_s (oHkpCaCert, "hkp-cacert", N_("|FILE|use the CA certificates in FILE for HKP over TLS")), @@ -520,7 +522,9 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) } FREE_STRLIST (opt.ignored_cert_extensions); http_register_tls_ca (NULL); - /* We do not allow resetting of opt.use_tor at runtime. */ + xfree (opt.keyserver); + opt.keyserver = NULL; + /* Note: We do not allow resetting of opt.use_tor at runtime. */ return 1; } @@ -585,6 +589,11 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) case oUseTor: opt.use_tor = 1; break; + case oKeyServer: + xfree (opt.keyserver); + opt.keyserver = *pargs->r.ret_str? xtrystrdup (pargs->r.ret_str) : NULL; + break; + default: return 0; /* Not handled. */ } @@ -1418,7 +1427,9 @@ main (int argc, char **argv) /* Note: The next one is to fix a typo in gpgconf - should be removed eventually. */ es_printf ("ignore-ocsp-servic-url:%lu:\n", flags | GC_OPT_FLAG_NONE); + es_printf ("use-tor:%lu:\n", flags | GC_OPT_FLAG_NONE); + es_printf ("keyserver:%lu:\n", flags | GC_OPT_FLAG_NONE); } cleanup (); return !!rc; -- cgit v1.2.3