diff options
author | Werner Koch <[email protected]> | 2017-06-08 07:30:48 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-06-08 07:37:36 +0000 |
commit | 9b43220b8ad1a5c1cd51de3bbfff7ccbcc3fa877 (patch) | |
tree | 6ef342f715e143c390eff68629d909e94f6cbd6f /dirmngr/ks-engine-finger.c | |
parent | dirmngr: Allow a timeout for HTTP and other TCP connects. (diff) | |
download | gnupg-9b43220b8ad1a5c1cd51de3bbfff7ccbcc3fa877.tar.gz gnupg-9b43220b8ad1a5c1cd51de3bbfff7ccbcc3fa877.zip |
dirmngr: Implement HTTP connect timeouts of 15 or 2 seconds.
* dirmngr/dirmngr.c (oConnectTimeout, oConnectQuickTimeout): New
enums.
(opts): New options --connect-timeout and --connect-quick-timeout.
(DEFAULT_CONNECT_TIMEOUT): New.
(DEFAULT_CONNECT_QUICK_TIMEOUT): New.
(parse_rereadable_options): Handle new options.
(post_option_parsing): New. Use instead of direct calls to
set_debug() and set_tor_mode ().
(main): Setup default timeouts.
(dirmngr_init_default_ctrl): Set standard connect timeout.
* dirmngr/dirmngr.h (opt): New fields connect_timeout and
connect_quick_timeout.
(server_control_s): New field timeout.
* dirmngr/ks-engine-finger.c (ks_finger_fetch): Pass timeout to
http_raw_connect.
* dirmngr/ks-engine-hkp.c (send_request): Call
http_session_set_timeout.
* dirmngr/ks-engine-http.c (ks_http_fetch): Ditto.
* dirmngr/server.c (cmd_wkd_get, cmd_ks_search, cmd_ks_get)
(cmd_ks_fetch): Implement --quick option.
--
The standard connect timeouts are way to long so we add a timeout to
the connect calls. Also implement the --quick option which is already
used by gpg for non-important requests (e.g. looking up a key for
verification).
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/ks-engine-finger.c')
-rw-r--r-- | dirmngr/ks-engine-finger.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dirmngr/ks-engine-finger.c b/dirmngr/ks-engine-finger.c index f56a9ff8e..e53a0ee78 100644 --- a/dirmngr/ks-engine-finger.c +++ b/dirmngr/ks-engine-finger.c @@ -86,7 +86,7 @@ ks_finger_fetch (ctrl_t ctrl, parsed_uri_t uri, estream_t *r_fp) ((dirmngr_use_tor ()? HTTP_FLAG_FORCE_TOR : 0) | (opt.disable_ipv4? HTTP_FLAG_IGNORE_IPv4 : 0) | (opt.disable_ipv6? HTTP_FLAG_IGNORE_IPv6 : 0)), - NULL); + NULL, ctrl->timeout); if (err) { xfree (name); |