gnupg/dirmngr
Werner Koch 5b9025cfa1
dirmngr: Allow a timeout for HTTP and other TCP connects.
* dirmngr/http.c: Include fcntl.h.
(http_session_s): Add field 'connect_timeout'.
(http_session_new): Clear that.
(http_session_set_timeout): New function.
(my_wsagetlasterror) [W32]: New.
(connect_with_timeout): New function.
(connect_server): Add arg 'timeout' and call connect_with_timeout.
(send_request): Add arg 'timeout' and pass it to connect_server.
(http_raw_connect): Add arg 'timeout'.
(http_open): Pass TIMEOUT from the session to connect_server.
--

Note that the non-blocking connect we implement is traditional a
pretty non-portable thing due to slighly different semantics.  The
code uses the strategy W. Richard Stevens suggested in 1998.
Hopefully current OS versions got it all right.

The code has not been tested on Windows.

Signed-off-by: Werner Koch <wk@gnupg.org>
2017-06-08 09:37:36 +02:00
..
ChangeLog-2011 Fix spelling. 2017-02-21 13:11:46 -05:00
ChangeLog-2011-ks Remove the obsolete keyserver directory from the repo. 2015-04-20 18:20:45 +02:00
Makefile.am Remove -I option to common. 2017-03-07 20:25:54 +09:00
OAUTHORS Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
ONEWS Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
cdb.h Tweaks for gpgconf. 2010-12-14 19:17:58 +00:00
cdblib.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
certcache.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
certcache.h dirmngr: Load --hkp-cacert values into the certificate cache. 2017-02-21 13:57:24 +01:00
crlcache.c Clean up word replication. 2017-02-21 13:11:46 -05:00
crlcache.h move some file encodings to UTF-8 2016-09-17 15:57:31 +09:00
crlfetch.c dirmngr: New option --disable-ipv6 2017-04-03 20:56:12 +02:00
crlfetch.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
dirmngr-client.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
dirmngr-err.h Some work on porting dirmngr (unfinished) 2010-07-16 13:19:45 +00:00
dirmngr.c dirmngr: Fix final close of LISTEN_FD. 2017-04-18 09:04:11 +09:00
dirmngr.h dirmngr: New option --disable-ipv6 2017-04-03 20:56:12 +02:00
dirmngr_ldap.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
dns-stuff.c dirmngr: This towel should better detect a changed resolv.conf. 2017-05-25 20:26:54 +02:00
dns-stuff.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
dns.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
dns.h dirmngr: New libdns snapshot 2016-12-14 15:56:58 +01:00
http-common.c dirmngr: Fix commit de6d8313 2017-03-03 17:17:26 +01:00
http-common.h dirmngr: Rearrange files to fix de6d831. 2017-03-02 18:35:03 +01:00
http-ntbtls.c dirmngr: Rearrange files to fix de6d831. 2017-03-02 18:35:03 +01:00
http.c dirmngr: Allow a timeout for HTTP and other TCP connects. 2017-06-08 09:37:36 +02:00
http.h dirmngr: Allow a timeout for HTTP and other TCP connects. 2017-06-08 09:37:36 +02:00
ks-action.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ks-action.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ks-engine-finger.c dirmngr: New option --disable-ipv6 2017-04-03 20:56:12 +02:00
ks-engine-hkp.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
ks-engine-http.c dirmngr: New option --disable-ipv6 2017-04-03 20:56:12 +02:00
ks-engine-kdns.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
ks-engine-ldap.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
ks-engine.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ldap-parse-uri.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
ldap-parse-uri.h Remove -I option to common. 2017-03-07 20:25:54 +09:00
ldap-url.c dirmngr: Simplify strtok macro. 2014-03-07 19:00:31 +01:00
ldap-url.h Merged Dirmngr with GnuPG. 2010-06-09 16:53:51 +00:00
ldap-wrapper-ce.c dirmngr,w32: Fix ldap crl read on windows 2017-05-15 12:49:39 +02:00
ldap-wrapper.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ldap-wrapper.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ldap.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
ldapserver.c Improve spelling and grammar of some comments. 2015-03-23 19:58:30 +01:00
ldapserver.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
loadswdb.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
misc.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
misc.h dirmngr: Rearrange files to fix de6d831. 2017-03-02 18:35:03 +01:00
ocsp.c dirmngr: New option --disable-ipv6 2017-04-03 20:56:12 +02:00
ocsp.h Merged Dirmngr with GnuPG. 2010-06-09 16:53:51 +00:00
server.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
sks-keyservers.netCA.pem dirmngr: Add support for hkps keyservers. 2014-05-05 16:23:37 +02:00
t-dns-stuff.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
t-http.c dirmngr: Allow a timeout for HTTP and other TCP connects. 2017-06-08 09:37:36 +02:00
t-ldap-parse-uri.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-support.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
tls-ca.pem Move http module from common/ to dirmngr/. 2015-10-18 20:08:26 +02:00
validate.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
validate.h dirmngr: Add special treatment for the standard hkps pool to ntbtls. 2017-02-21 14:55:04 +01:00
w32-ldap-help.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00