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/dirmngr.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'dirmngr/dirmngr.c') diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index a11832746..ef30d2c3c 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -1383,6 +1383,7 @@ cleanup (void) { crl_cache_deinit (); cert_cache_deinit (1); + reload_dns_stuff (1); #if USE_LDAP ldapserver_list_free (opt.ldapservers); @@ -1689,6 +1690,7 @@ dirmngr_sighup_action (void) crl_cache_deinit (); cert_cache_init (); crl_cache_init (); + reload_dns_stuff (0); } -- cgit v1.2.3