aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/t-dns-stuff.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-12-20 08:53:58 +0000
committerWerner Koch <[email protected]>2016-12-20 08:53:58 +0000
commit81c012787fabf734d9c952c6f18ecac21929d4d8 (patch)
treea69f7064a65d66c5f623eb11d272f173e4f8f08f /dirmngr/t-dns-stuff.c
parentdirmngr: Fix problems with the getsrv function. (diff)
downloadgnupg-81c012787fabf734d9c952c6f18ecac21929d4d8.tar.gz
gnupg-81c012787fabf734d9c952c6f18ecac21929d4d8.zip
dirmngr: New option --resolver-timeout.
* dirmngr/dns-stuff.c (DEFAULT_TIMEOUT): New. (opt_timeout): New var. (set_dns_timeout): New. (libdns_res_open): Set the default timeout. (libdns_res_wait): Use configurable timeout. (resolve_name_libdns): Ditto. * dirmngr/dirmngr.c (oResolverTimeout): New const. (opts): New option --resolver-timeout. (parse_rereadable_options): Set that option. (main) <aGPGConfList>: Add --nameserver and --resolver-timeout. * tools/gpgconf-comp.c (gc_options_dirmngr): Add --resolver-timeout and --nameserver. * dirmngr/http.c (connect_server): Fix yesterday introduced bug in error diagnostic. -- This timeout is a pretty crude thing because libdns has a few other internal timeouts as well. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/t-dns-stuff.c')
-rw-r--r--dirmngr/t-dns-stuff.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/dirmngr/t-dns-stuff.c b/dirmngr/t-dns-stuff.c
index f58f3235a..b087b5ead 100644
--- a/dirmngr/t-dns-stuff.c
+++ b/dirmngr/t-dns-stuff.c
@@ -83,6 +83,7 @@ main (int argc, char **argv)
" --cert lookup a CERT RR\n"
" --srv lookup a SRV RR\n"
" --cname lookup a CNAME RR\n"
+ " --timeout SECONDS timeout after SECONDS\n"
, stdout);
exit (0);
}
@@ -137,6 +138,15 @@ main (int argc, char **argv)
any_options = opt_cname = 1;
argc--; argv++;
}
+ else if (!strcmp (*argv, "--timeout"))
+ {
+ argc--; argv++;
+ if (argc)
+ {
+ set_dns_timeout (atoi (*argv));
+ argc--; argv++;
+ }
+ }
else if (!strncmp (*argv, "--", 2))
{
fprintf (stderr, PGM ": unknown option '%s'\n", *argv);