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/t-dns-stuff.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dirmngr/t-dns-stuff.c') diff --git a/dirmngr/t-dns-stuff.c b/dirmngr/t-dns-stuff.c index 224e9484d..531513800 100644 --- a/dirmngr/t-dns-stuff.c +++ b/dirmngr/t-dns-stuff.c @@ -217,7 +217,6 @@ main (int argc, char **argv) { printf ("CNAME found: '%s'\n", cname); } - xfree (cname); } else if (opt_srv) @@ -291,6 +290,7 @@ main (int argc, char **argv) free_dns_addrinfo (aibuf); } + reload_dns_stuff (1); /* Release objects. */ return 0; } -- cgit v1.2.3