diff options
author | Werner Koch <[email protected]> | 2015-04-21 15:14:53 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-04-21 15:15:34 +0000 |
commit | a0dead5edce07838cf5ff3ec7205a3bff2a6ef70 (patch) | |
tree | 9cde273c57c7f1e97260f0da17d2475130849fd2 /dirmngr/dirmngr.c | |
parent | gpg: Do not use honor-keyserver-url sub-option by default. (diff) | |
download | gnupg-a0dead5edce07838cf5ff3ec7205a3bff2a6ef70.tar.gz gnupg-a0dead5edce07838cf5ff3ec7205a3bff2a6ef70.zip |
dirmngr: Add http proxy support for keyservers.
* dirmngr/dirmngr.h (server_control_s): Add field http_proxy.
* dirmngr/dirmngr.c (dirmngr_init_default_ctrl): Copy http_proxy value
from OPT.
(dirmngr_deinit_default_ctrl): New.
(main): Call dirmngr_deinit_default_ctrl.
* dirmngr/server.c (start_command_handler): Ditto.
(option_handler): Add option "http-proxy".
* dirmngr/crlfetch.c (crl_fetch): Take http_proxy from CTRL.
* dirmngr/ocsp.c (do_ocsp_request): Ditto.
* dirmngr/ks-engine-hkp.c (send_request): Add proxy support.
* dirmngr/ks-engine-http.c (ks_http_fetch): Ditto.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | dirmngr/dirmngr.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 4c17c8c46..437c6ebdd 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -1277,6 +1277,7 @@ main (int argc, char **argv) for (; !rc && argc; argc--, argv++) rc = crl_cache_load (&ctrlbuf, *argv); } + dirmngr_deinit_default_ctrl (&ctrlbuf); } else if (cmd == aFetchCRL) { @@ -1306,6 +1307,7 @@ main (int argc, char **argv) argv[0], gpg_strerror (rc)); crl_close_reader (reader); } + dirmngr_deinit_default_ctrl (&ctrlbuf); } else if (cmd == aFlush) { @@ -1465,9 +1467,18 @@ dirmngr_exit (int rc) void dirmngr_init_default_ctrl (ctrl_t ctrl) { - (void)ctrl; + if (opt.http_proxy) + ctrl->http_proxy = xstrdup (opt.http_proxy); +} + - /* Nothing for now. */ +void +dirmngr_deinit_default_ctrl (ctrl_t ctrl) +{ + if (!ctrl) + return; + xfree (ctrl->http_proxy); + ctrl->http_proxy = NULL; } |