aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-12-16 20:00:14 +0000
committerWerner Koch <[email protected]>2016-12-16 20:00:14 +0000
commitc4e8a3194d6b92f596a6483e486c645de7d2ddd1 (patch)
tree5d6eb7751981880a111f32ab9e3ac29110894346 /dirmngr/dirmngr.c
parentdirmngr: Pass Tor credentials to libdns. (diff)
downloadgnupg-c4e8a3194d6b92f596a6483e486c645de7d2ddd1.tar.gz
gnupg-c4e8a3194d6b92f596a6483e486c645de7d2ddd1.zip
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 <[email protected]>
Diffstat (limited to '')
-rw-r--r--dirmngr/dirmngr.c2
1 files changed, 2 insertions, 0 deletions
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);
}