diff --git a/bin/dig/dig.c b/bin/dig/dig.c index bf3aa2fd91..8076f6b267 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -1976,6 +1976,10 @@ main(int argc, char **argv) { setup_libs(); setup_system(); parse_args(ISC_FALSE, ISC_FALSE, argc, argv); + if (keyfile[0] != 0) + setup_file_key(); + else if (keysecret[0] != 0) + setup_text_key(); if (domainopt[0] != '\0') { set_search_domain(domainopt); usesearch = ISC_TRUE; diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index cb0bcd2d4c..519c2b649d 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -944,7 +944,7 @@ requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers) { } -static void +void setup_text_key(void) { isc_result_t result; dns_name_t keyname; @@ -1192,7 +1192,7 @@ read_confkey(void) { return (result); } -static void +void setup_file_key(void) { isc_result_t result; dst_key_t *dstkey = NULL; diff --git a/bin/dig/host.c b/bin/dig/host.c index 460094b3ff..73a8fcda59 100644 --- a/bin/dig/host.c +++ b/bin/dig/host.c @@ -894,6 +894,10 @@ main(int argc, char **argv) { setup_libs(); setup_system(); parse_args(ISC_FALSE, argc, argv); + if (keyfile[0] != 0) + setup_file_key(); + else if (keysecret[0] != 0) + setup_text_key(); result = isc_app_onrun(mctx, global_task, onrun_callback, NULL); check_result(result, "isc_app_onrun"); isc_app_run(); diff --git a/bin/dig/include/dig/dig.h b/bin/dig/include/dig/dig.h index a95fb0aa74..5a95890669 100644 --- a/bin/dig/include/dig/dig.h +++ b/bin/dig/include/dig/dig.h @@ -432,6 +432,9 @@ chase_sig(dns_message_t *msg); void save_opt(dig_lookup_t *lookup, char *code, char *value); +void setup_file_key(void); +void setup_text_key(void); + ISC_LANG_ENDDECLS #endif diff --git a/bin/dig/nslookup.c b/bin/dig/nslookup.c index ed58ce61bf..a45f65099c 100644 --- a/bin/dig/nslookup.c +++ b/bin/dig/nslookup.c @@ -911,6 +911,10 @@ main(int argc, char **argv) { setup_system(); parse_args(argc, argv); + if (keyfile[0] != 0) + setup_file_key(); + else if (keysecret[0] != 0) + setup_text_key(); if (domainopt[0] != '\0') set_search_domain(domainopt); if (in_use)