From: Evan Hunt Date: Fri, 18 Apr 2014 14:27:50 +0000 (-0700) Subject: [master] setup tsig in dig/host/nslookup X-Git-Tag: v9.11.0a1~1742 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=58e291cb8dd77656048d6d7727f2bc2388110785;p=thirdparty%2Fbind9.git [master] setup tsig in dig/host/nslookup (Change #3813 had broken some system tests.) --- diff --git a/bin/dig/dig.c b/bin/dig/dig.c index bf3aa2fd911..8076f6b2671 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 cb0bcd2d4cd..519c2b649d2 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 460094b3ffc..73a8fcda594 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 a95fb0aa74e..5a958906694 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 ed58ce61bf0..a45f65099c0 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)