mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
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 <wk@gnupg.org>
This commit is contained in:
parent
40daa0bc0b
commit
12def3a84e
4 changed files with 119 additions and 3 deletions
|
@ -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*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue