From c4e8a3194d6b92f596a6483e486c645de7d2ddd1 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 16 Dec 2016 21:00:14 +0100 Subject: dirmngr: Use one context for all libdns queries. * dirmngr/dns-stuff.c (libdns_reinit_pending): New var. (enable_recursive_resolver): Set var. (set_dns_nameserver): Ditto. (libdns_init): Avoid double initialization. (libdns_deinit): New. (reload_dns_stuff): New. (libdns_res_open): Act upon LIBDNS_REINIT_PENDING. * dirmngr/t-dns-stuff.c (main): Call reload_dns_stuff to release memory. * dirmngr/dirmngr.c (cleanup): Ditto. (dirmngr_sighup_action): Call reload_dns_stuff to set LIBDNS_REINIT_PENDING. Signed-off-by: Werner Koch --- dirmngr/dns-stuff.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'dirmngr/dns-stuff.h') diff --git a/dirmngr/dns-stuff.h b/dirmngr/dns-stuff.h index 20a4b41ef..2be972a53 100644 --- a/dirmngr/dns-stuff.h +++ b/dirmngr/dns-stuff.h @@ -116,6 +116,8 @@ gpg_error_t enable_dns_tormode (int new_circuit); next DNS query. Note that this is only used in Tor mode. */ void set_dns_nameserver (const char *ipaddr); +/* SIGHUP action handler for this module. */ +void reload_dns_stuff (int force); void free_dns_addrinfo (dns_addrinfo_t ai); -- cgit v1.2.3