aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dns-stuff.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-11-12 19:29:47 +0000
committerWerner Koch <[email protected]>2019-11-12 19:35:12 +0000
commit12def3a84e0358528347107dc88cfe740a54941f (patch)
tree50fa8ff917a26e4dc5f963e03718133d9e0b0896 /dirmngr/dns-stuff.h
parentdirmngr: Tune down err on missing ldapservers file (diff)
downloadgnupg-12def3a84e0358528347107dc88cfe740a54941f.tar.gz
gnupg-12def3a84e0358528347107dc88cfe740a54941f.zip
dirmngr: Use IPv4 or IPv6 interface only if available.
* dirmngr/dns-stuff.c (cached_inet_support): New variable. (dns_stuff_housekeeping): New. (check_inet_support): New. * dirmngr/http.c (connect_server): Use only detected interfaces. * dirmngr/dirmngr.c (housekeeping_thread): Flush the new cache. -- This currently works only for Windows but that is where users really ran into problems. The old workaround was to configure disable-ipv4 or disable-ipv6. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/dns-stuff.h')
-rw-r--r--dirmngr/dns-stuff.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/dirmngr/dns-stuff.h b/dirmngr/dns-stuff.h
index 06a43122a..415eac59c 100644
--- a/dirmngr/dns-stuff.h
+++ b/dirmngr/dns-stuff.h
@@ -134,6 +134,9 @@ void set_dns_nameserver (const char *ipaddr);
/* SIGHUP action handler for this module. */
void reload_dns_stuff (int force);
+/* Housekeeping for this module. */
+void dns_stuff_housekeeping (void);
+
void free_dns_addrinfo (dns_addrinfo_t ai);
/* Function similar to getaddrinfo. */
@@ -170,4 +173,8 @@ gpg_error_t get_dns_srv (ctrl_t ctrl,
struct srventry **list, unsigned int *r_count);
+/* Store true in the variable if such an IP interface is usable. */
+void check_inet_support (int *r_v4, int *r_v6);
+
+
#endif /*GNUPG_DIRMNGR_DNS_STUFF_H*/