diff options
Diffstat (limited to 'contrib/bind9/bin/check/named-checkzone.c')
-rw-r--r-- | contrib/bind9/bin/check/named-checkzone.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/contrib/bind9/bin/check/named-checkzone.c b/contrib/bind9/bin/check/named-checkzone.c index d023bd6..0eea166 100644 --- a/contrib/bind9/bin/check/named-checkzone.c +++ b/contrib/bind9/bin/check/named-checkzone.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.13.2.3.8.9 2004/03/06 10:21:11 marka Exp $ */ +/* $Id: named-checkzone.c,v 1.13.2.3.8.11 2004/10/25 01:36:06 marka Exp $ */ #include <config.h> @@ -24,6 +24,8 @@ #include <isc/app.h> #include <isc/commandline.h> #include <isc/dir.h> +#include <isc/entropy.h> +#include <isc/hash.h> #include <isc/log.h> #include <isc/mem.h> #include <isc/socket.h> @@ -44,6 +46,7 @@ static int quiet = 0; static isc_mem_t *mctx = NULL; +static isc_entropy_t *ectx = NULL; dns_zone_t *zone = NULL; dns_zonetype_t zonetype = dns_zone_master; static int dumpzone = 0; @@ -63,7 +66,8 @@ static void usage(void) { fprintf(stderr, "usage: named-checkzone [-djqvD] [-c class] [-o output] " - "[-t directory] [-w directory] [-k option] zonename filename\n"); + "[-t directory] [-w directory] [-k (ignore|warn|fail)] " + "[-n (ignore|warn|fail)] zonename filename\n"); exit(1); } @@ -111,12 +115,17 @@ main(int argc, char **argv) { break; case 'k': - if (!strcmp(isc_commandline_argument, "check-names")) { + if (!strcmp(isc_commandline_argument, "warn")) { zone_options |= DNS_ZONEOPT_CHECKNAMES; + zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL; } else if (!strcmp(isc_commandline_argument, - "check-names-fail")) { + "fail")) { zone_options |= DNS_ZONEOPT_CHECKNAMES | DNS_ZONEOPT_CHECKNAMESFAIL; + } else if (!strcmp(isc_commandline_argument, + "ignore")) { + zone_options &= ~(DNS_ZONEOPT_CHECKNAMES | + DNS_ZONEOPT_CHECKNAMESFAIL); } break; @@ -179,6 +188,9 @@ main(int argc, char **argv) { dns_log_init(lctx); dns_log_setcontext(lctx); } + RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS); + RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE) + == ISC_R_SUCCESS); dns_result_register(); @@ -195,6 +207,8 @@ main(int argc, char **argv) { destroy(); if (lctx != NULL) isc_log_destroy(&lctx); + isc_hash_destroy(); + isc_entropy_detach(&ectx); isc_mem_destroy(&mctx); return ((result == ISC_R_SUCCESS) ? 0 : 1); } |