summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/bin/check
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind9/bin/check')
-rw-r--r--contrib/bind9/bin/check/Makefile.in98
-rw-r--r--contrib/bind9/bin/check/check-tool.c543
-rw-r--r--contrib/bind9/bin/check/check-tool.h54
-rw-r--r--contrib/bind9/bin/check/named-checkconf.889
-rw-r--r--contrib/bind9/bin/check/named-checkconf.c488
-rw-r--r--contrib/bind9/bin/check/named-checkconf.docbook161
-rw-r--r--contrib/bind9/bin/check/named-checkconf.html92
-rw-r--r--contrib/bind9/bin/check/named-checkzone.8269
-rw-r--r--contrib/bind9/bin/check/named-checkzone.c429
-rw-r--r--contrib/bind9/bin/check/named-checkzone.docbook443
-rw-r--r--contrib/bind9/bin/check/named-checkzone.html256
11 files changed, 0 insertions, 2922 deletions
diff --git a/contrib/bind9/bin/check/Makefile.in b/contrib/bind9/bin/check/Makefile.in
deleted file mode 100644
index cd9ecf6..0000000
--- a/contrib/bind9/bin/check/Makefile.in
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 2000-2003 Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THIS SOFTWARE.
-
-# $Id: Makefile.in,v 1.24.18.6 2006/06/09 00:54:08 marka Exp $
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-top_srcdir = @top_srcdir@
-
-@BIND9_VERSION@
-
-@BIND9_MAKE_INCLUDES@
-
-CINCLUDES = ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
- ${ISC_INCLUDES}
-
-CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
-CWARNINGS =
-
-DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
-ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
-ISCLIBS = ../../lib/isc/libisc.@A@
-BIND9LIBS = ../../lib/bind9/libbind9.@A@
-
-DNSDEPLIBS = ../../lib/dns/libdns.@A@
-ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
-ISCDEPLIBS = ../../lib/isc/libisc.@A@
-BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
-
-LIBS = @LIBS@
-
-SUBDIRS =
-
-# Alphabetically
-TARGETS = named-checkconf@EXEEXT@ named-checkzone@EXEEXT@
-
-# Alphabetically
-SRCS = named-checkconf.c named-checkzone.c check-tool.c
-
-MANPAGES = named-checkconf.8 named-checkzone.8
-
-HTMLPAGES = named-checkconf.html named-checkzone.html
-
-MANOBJS = ${MANPAGES} ${HTMLPAGES}
-
-@BIND9_MAKE_RULES@
-
-named-checkconf.@O@: named-checkconf.c
- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
- -DVERSION=\"${VERSION}\" \
- -c ${srcdir}/named-checkconf.c
-
-named-checkzone.@O@: named-checkzone.c
- ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
- -DVERSION=\"${VERSION}\" \
- -c ${srcdir}/named-checkzone.c
-
-named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
- ${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
- ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
- named-checkconf.@O@ check-tool.@O@ ${BIND9LIBS} ${ISCCFGLIBS} \
- ${DNSLIBS} ${ISCLIBS} ${LIBS}
-
-named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
- ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
- named-checkzone.@O@ check-tool.@O@ ${ISCCFGLIBS} ${DNSLIBS} \
- ${ISCLIBS} ${LIBS}
-
-doc man:: ${MANOBJS}
-
-docclean manclean maintainer-clean::
- rm -f ${MANOBJS}
-
-installdirs:
- $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
- $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
-
-install:: named-checkconf@EXEEXT@ named-checkzone@EXEEXT@ installdirs
- ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf@EXEEXT@ ${DESTDIR}${sbindir}
- ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone@EXEEXT@ ${DESTDIR}${sbindir}
- (cd ${DESTDIR}${sbindir}; rm -f named-compilezone@EXEEXT@; ${LINK_PROGRAM} named-checkzone@EXEEXT@ named-compilezone@EXEEXT@)
- for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
- (cd ${DESTDIR}${mandir}/man8; rm -f named-compilezone.8; ${LINK_PROGRAM} named-checkzone.8 named-compilezone.8)
-
-clean distclean::
- rm -f ${TARGETS} r1.htm
diff --git a/contrib/bind9/bin/check/check-tool.c b/contrib/bind9/bin/check/check-tool.c
deleted file mode 100644
index 1f5f1cd..0000000
--- a/contrib/bind9/bin/check/check-tool.c
+++ /dev/null
@@ -1,543 +0,0 @@
-/*
- * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000-2002 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* $Id: check-tool.c,v 1.10.18.18 2007/09/13 05:04:01 each Exp $ */
-
-/*! \file */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "check-tool.h"
-#include <isc/util.h>
-
-#include <isc/buffer.h>
-#include <isc/log.h>
-#include <isc/net.h>
-#include <isc/netdb.h>
-#include <isc/region.h>
-#include <isc/stdio.h>
-#include <isc/string.h>
-#include <isc/types.h>
-
-#include <dns/fixedname.h>
-#include <dns/log.h>
-#include <dns/name.h>
-#include <dns/rdata.h>
-#include <dns/rdataclass.h>
-#include <dns/rdataset.h>
-#include <dns/types.h>
-#include <dns/zone.h>
-
-#include <isccfg/log.h>
-
-#ifdef HAVE_ADDRINFO
-#ifdef HAVE_GETADDRINFO
-#ifdef HAVE_GAISTRERROR
-#define USE_GETADDRINFO
-#endif
-#endif
-#endif
-
-#define CHECK(r) \
- do { \
- result = (r); \
- if (result != ISC_R_SUCCESS) \
- goto cleanup; \
- } while (0)
-
-static const char *dbtype[] = { "rbt" };
-
-int debug = 0;
-isc_boolean_t nomerge = ISC_TRUE;
-isc_boolean_t docheckmx = ISC_TRUE;
-isc_boolean_t dochecksrv = ISC_TRUE;
-isc_boolean_t docheckns = ISC_TRUE;
-unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
- DNS_ZONEOPT_CHECKMX |
- DNS_ZONEOPT_MANYERRORS |
- DNS_ZONEOPT_CHECKNAMES |
- DNS_ZONEOPT_CHECKINTEGRITY |
- DNS_ZONEOPT_CHECKWILDCARD |
- DNS_ZONEOPT_WARNMXCNAME |
- DNS_ZONEOPT_WARNSRVCNAME;
-
-/*
- * This needs to match the list in bin/named/log.c.
- */
-static isc_logcategory_t categories[] = {
- { "", 0 },
- { "client", 0 },
- { "network", 0 },
- { "update", 0 },
- { "queries", 0 },
- { "unmatched", 0 },
- { "update-security", 0 },
- { NULL, 0 }
-};
-
-static isc_boolean_t
-checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
- dns_rdataset_t *a, dns_rdataset_t *aaaa)
-{
-#ifdef USE_GETADDRINFO
- dns_rdataset_t *rdataset;
- dns_rdata_t rdata = DNS_RDATA_INIT;
- struct addrinfo hints, *ai, *cur;
- char namebuf[DNS_NAME_FORMATSIZE + 1];
- char ownerbuf[DNS_NAME_FORMATSIZE];
- char addrbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")];
- isc_boolean_t answer = ISC_TRUE;
- isc_boolean_t match;
- const char *type;
- void *ptr = NULL;
- int result;
-
- REQUIRE(a == NULL || !dns_rdataset_isassociated(a) ||
- a->type == dns_rdatatype_a);
- REQUIRE(aaaa == NULL || !dns_rdataset_isassociated(aaaa) ||
- aaaa->type == dns_rdatatype_aaaa);
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = PF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_protocol = IPPROTO_TCP;
-
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- /*
- * Turn off search.
- */
- if (dns_name_countlabels(name) > 1U)
- strcat(namebuf, ".");
- dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
-
- result = getaddrinfo(namebuf, NULL, &hints, &ai);
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- switch (result) {
- case 0:
- /*
- * Work around broken getaddrinfo() implementations that
- * fail to set ai_canonname on first entry.
- */
- cur = ai;
- while (cur != NULL && cur->ai_canonname == NULL &&
- cur->ai_next != NULL)
- cur = cur->ai_next;
- if (cur != NULL && cur->ai_canonname != NULL &&
- strcasecmp(ai->ai_canonname, namebuf) != 0) {
- dns_zone_log(zone, ISC_LOG_ERROR,
- "%s/NS '%s' (out of zone) "
- "is a CNAME (illegal)",
- ownerbuf, namebuf);
- /* XXX950 make fatal for 9.5.0 */
- /* answer = ISC_FALSE; */
- }
- break;
- case EAI_NONAME:
-#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
- case EAI_NODATA:
-#endif
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' (out of zone) "
- "has no addresses records (A or AAAA)",
- ownerbuf, namebuf);
- /* XXX950 make fatal for 9.5.0 */
- return (ISC_TRUE);
-
- default:
- dns_zone_log(zone, ISC_LOG_WARNING,
- "getaddrinfo(%s) failed: %s",
- namebuf, gai_strerror(result));
- return (ISC_TRUE);
- }
- if (a == NULL || aaaa == NULL)
- return (answer);
- /*
- * Check that all glue records really exist.
- */
- if (!dns_rdataset_isassociated(a))
- goto checkaaaa;
- result = dns_rdataset_first(a);
- while (result == ISC_R_SUCCESS) {
- dns_rdataset_current(a, &rdata);
- match = ISC_FALSE;
- for (cur = ai; cur != NULL; cur = cur->ai_next) {
- if (cur->ai_family != AF_INET)
- continue;
- ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
- if (memcmp(ptr, rdata.data, rdata.length) == 0) {
- match = ISC_TRUE;
- break;
- }
- }
- if (!match) {
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
- "extra GLUE A record (%s)",
- ownerbuf, namebuf,
- inet_ntop(AF_INET, rdata.data,
- addrbuf, sizeof(addrbuf)));
- /* XXX950 make fatal for 9.5.0 */
- /* answer = ISC_FALSE; */
- }
- dns_rdata_reset(&rdata);
- result = dns_rdataset_next(a);
- }
-
- checkaaaa:
- if (!dns_rdataset_isassociated(aaaa))
- goto checkmissing;
- result = dns_rdataset_first(aaaa);
- while (result == ISC_R_SUCCESS) {
- dns_rdataset_current(aaaa, &rdata);
- match = ISC_FALSE;
- for (cur = ai; cur != NULL; cur = cur->ai_next) {
- if (cur->ai_family != AF_INET6)
- continue;
- ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
- if (memcmp(ptr, rdata.data, rdata.length) == 0) {
- match = ISC_TRUE;
- break;
- }
- }
- if (!match) {
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
- "extra GLUE AAAA record (%s)",
- ownerbuf, namebuf,
- inet_ntop(AF_INET6, rdata.data,
- addrbuf, sizeof(addrbuf)));
- /* XXX950 make fatal for 9.5.0. */
- /* answer = ISC_FALSE; */
- }
- dns_rdata_reset(&rdata);
- result = dns_rdataset_next(aaaa);
- }
-
- checkmissing:
- /*
- * Check that all addresses appear in the glue.
- */
- for (cur = ai; cur != NULL; cur = cur->ai_next) {
- switch (cur->ai_family) {
- case AF_INET:
- rdataset = a;
- ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
- type = "A";
- break;
- case AF_INET6:
- rdataset = aaaa;
- ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
- type = "AAAA";
- break;
- default:
- continue;
- }
- match = ISC_FALSE;
- if (dns_rdataset_isassociated(rdataset))
- result = dns_rdataset_first(rdataset);
- else
- result = ISC_R_FAILURE;
- while (result == ISC_R_SUCCESS && !match) {
- dns_rdataset_current(rdataset, &rdata);
- if (memcmp(ptr, rdata.data, rdata.length) == 0)
- match = ISC_TRUE;
- dns_rdata_reset(&rdata);
- result = dns_rdataset_next(rdataset);
- }
- if (!match) {
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
- "missing GLUE %s record (%s)",
- ownerbuf, namebuf, type,
- inet_ntop(cur->ai_family, ptr,
- addrbuf, sizeof(addrbuf)));
- /* XXX950 make fatal for 9.5.0. */
- /* answer = ISC_FALSE; */
- }
- }
- freeaddrinfo(ai);
- return (answer);
-#else
- return (ISC_TRUE);
-#endif
-}
-
-static isc_boolean_t
-checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
-#ifdef USE_GETADDRINFO
- struct addrinfo hints, *ai, *cur;
- char namebuf[DNS_NAME_FORMATSIZE + 1];
- char ownerbuf[DNS_NAME_FORMATSIZE];
- int result;
- int level = ISC_LOG_ERROR;
- isc_boolean_t answer = ISC_TRUE;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = PF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_protocol = IPPROTO_TCP;
-
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- /*
- * Turn off search.
- */
- if (dns_name_countlabels(name) > 1U)
- strcat(namebuf, ".");
- dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
-
- result = getaddrinfo(namebuf, NULL, &hints, &ai);
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- switch (result) {
- case 0:
- /*
- * Work around broken getaddrinfo() implementations that
- * fail to set ai_canonname on first entry.
- */
- cur = ai;
- while (cur != NULL && cur->ai_canonname == NULL &&
- cur->ai_next != NULL)
- cur = cur->ai_next;
- if (cur != NULL && cur->ai_canonname != NULL &&
- strcasecmp(cur->ai_canonname, namebuf) != 0) {
- if ((zone_options & DNS_ZONEOPT_WARNMXCNAME) != 0)
- level = ISC_LOG_WARNING;
- if ((zone_options & DNS_ZONEOPT_IGNOREMXCNAME) == 0) {
- dns_zone_log(zone, ISC_LOG_WARNING,
- "%s/MX '%s' (out of zone) "
- "is a CNAME (illegal)",
- ownerbuf, namebuf);
- if (level == ISC_LOG_ERROR)
- answer = ISC_FALSE;
- }
- }
- freeaddrinfo(ai);
- return (answer);
-
- case EAI_NONAME:
-#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
- case EAI_NODATA:
-#endif
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/MX '%s' (out of zone) "
- "has no addresses records (A or AAAA)",
- ownerbuf, namebuf);
- /* XXX950 make fatal for 9.5.0. */
- return (ISC_TRUE);
-
- default:
- dns_zone_log(zone, ISC_LOG_WARNING,
- "getaddrinfo(%s) failed: %s",
- namebuf, gai_strerror(result));
- return (ISC_TRUE);
- }
-#else
- return (ISC_TRUE);
-#endif
-}
-
-static isc_boolean_t
-checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
-#ifdef USE_GETADDRINFO
- struct addrinfo hints, *ai, *cur;
- char namebuf[DNS_NAME_FORMATSIZE + 1];
- char ownerbuf[DNS_NAME_FORMATSIZE];
- int result;
- int level = ISC_LOG_ERROR;
- isc_boolean_t answer = ISC_TRUE;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = PF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_protocol = IPPROTO_TCP;
-
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- /*
- * Turn off search.
- */
- if (dns_name_countlabels(name) > 1U)
- strcat(namebuf, ".");
- dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
-
- result = getaddrinfo(namebuf, NULL, &hints, &ai);
- dns_name_format(name, namebuf, sizeof(namebuf) - 1);
- switch (result) {
- case 0:
- /*
- * Work around broken getaddrinfo() implementations that
- * fail to set ai_canonname on first entry.
- */
- cur = ai;
- while (cur != NULL && cur->ai_canonname == NULL &&
- cur->ai_next != NULL)
- cur = cur->ai_next;
- if (cur != NULL && cur->ai_canonname != NULL &&
- strcasecmp(cur->ai_canonname, namebuf) != 0) {
- if ((zone_options & DNS_ZONEOPT_WARNSRVCNAME) != 0)
- level = ISC_LOG_WARNING;
- if ((zone_options & DNS_ZONEOPT_IGNORESRVCNAME) == 0) {
- dns_zone_log(zone, level,
- "%s/SRV '%s' (out of zone) "
- "is a CNAME (illegal)",
- ownerbuf, namebuf);
- if (level == ISC_LOG_ERROR)
- answer = ISC_FALSE;
- }
- }
- freeaddrinfo(ai);
- return (answer);
-
- case EAI_NONAME:
-#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
- case EAI_NODATA:
-#endif
- dns_zone_log(zone, ISC_LOG_ERROR, "%s/SRV '%s' (out of zone) "
- "has no addresses records (A or AAAA)",
- ownerbuf, namebuf);
- /* XXX950 make fatal for 9.5.0. */
- return (ISC_TRUE);
-
- default:
- dns_zone_log(zone, ISC_LOG_WARNING,
- "getaddrinfo(%s) failed: %s",
- namebuf, gai_strerror(result));
- return (ISC_TRUE);
- }
-#else
- return (ISC_TRUE);
-#endif
-}
-
-isc_result_t
-setup_logging(isc_mem_t *mctx, isc_log_t **logp) {
- isc_logdestination_t destination;
- isc_logconfig_t *logconfig = NULL;
- isc_log_t *log = NULL;
-
- RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS);
- isc_log_registercategories(log, categories);
- isc_log_setcontext(log);
- dns_log_init(log);
- dns_log_setcontext(log);
- cfg_log_init(log);
-
- destination.file.stream = stdout;
- destination.file.name = NULL;
- destination.file.versions = ISC_LOG_ROLLNEVER;
- destination.file.maximum_size = 0;
- RUNTIME_CHECK(isc_log_createchannel(logconfig, "stderr",
- ISC_LOG_TOFILEDESC,
- ISC_LOG_DYNAMIC,
- &destination, 0) == ISC_R_SUCCESS);
- RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr",
- NULL, NULL) == ISC_R_SUCCESS);
-
- *logp = log;
- return (ISC_R_SUCCESS);
-}
-
-/*% load the zone */
-isc_result_t
-load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
- dns_masterformat_t fileformat, const char *classname,
- dns_zone_t **zonep)
-{
- isc_result_t result;
- dns_rdataclass_t rdclass;
- isc_textregion_t region;
- isc_buffer_t buffer;
- dns_fixedname_t fixorigin;
- dns_name_t *origin;
- dns_zone_t *zone = NULL;
-
- REQUIRE(zonep == NULL || *zonep == NULL);
-
- if (debug)
- fprintf(stderr, "loading \"%s\" from \"%s\" class \"%s\"\n",
- zonename, filename, classname);
-
- CHECK(dns_zone_create(&zone, mctx));
-
- dns_zone_settype(zone, dns_zone_master);
-
- isc_buffer_init(&buffer, zonename, strlen(zonename));
- isc_buffer_add(&buffer, strlen(zonename));
- dns_fixedname_init(&fixorigin);
- origin = dns_fixedname_name(&fixorigin);
- CHECK(dns_name_fromtext(origin, &buffer, dns_rootname,
- ISC_FALSE, NULL));
- CHECK(dns_zone_setorigin(zone, origin));
- CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
- CHECK(dns_zone_setfile2(zone, filename, fileformat));
-
- DE_CONST(classname, region.base);
- region.length = strlen(classname);
- CHECK(dns_rdataclass_fromtext(&rdclass, &region));
-
- dns_zone_setclass(zone, rdclass);
- dns_zone_setoption(zone, zone_options, ISC_TRUE);
- dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
- if (docheckmx)
- dns_zone_setcheckmx(zone, checkmx);
- if (docheckns)
- dns_zone_setcheckns(zone, checkns);
- if (dochecksrv)
- dns_zone_setchecksrv(zone, checksrv);
-
- CHECK(dns_zone_load(zone));
- if (zonep != NULL) {
- *zonep = zone;
- zone = NULL;
- }
-
- cleanup:
- if (zone != NULL)
- dns_zone_detach(&zone);
- return (result);
-}
-
-/*% dump the zone */
-isc_result_t
-dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
- dns_masterformat_t fileformat, const dns_master_style_t *style)
-{
- isc_result_t result;
- FILE *output = stdout;
-
- if (debug) {
- if (filename != NULL)
- fprintf(stderr, "dumping \"%s\" to \"%s\"\n",
- zonename, filename);
- else
- fprintf(stderr, "dumping \"%s\"\n", zonename);
- }
-
- if (filename != NULL) {
- result = isc_stdio_open(filename, "w+", &output);
-
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "could not open output "
- "file \"%s\" for writing\n", filename);
- return (ISC_R_FAILURE);
- }
- }
-
- result = dns_zone_dumptostream2(zone, output, fileformat, style);
-
- if (filename != NULL)
- (void)isc_stdio_close(output);
-
- return (result);
-}
diff --git a/contrib/bind9/bin/check/check-tool.h b/contrib/bind9/bin/check/check-tool.h
deleted file mode 100644
index ef9017f..0000000
--- a/contrib/bind9/bin/check/check-tool.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2000-2002 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* $Id: check-tool.h,v 1.7.18.4 2005/06/20 01:19:25 marka Exp $ */
-
-#ifndef CHECK_TOOL_H
-#define CHECK_TOOL_H
-
-/*! \file */
-
-#include <isc/lang.h>
-#include <isc/types.h>
-
-#include <dns/masterdump.h>
-#include <dns/types.h>
-
-ISC_LANG_BEGINDECLS
-
-isc_result_t
-setup_logging(isc_mem_t *mctx, isc_log_t **logp);
-
-isc_result_t
-load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
- dns_masterformat_t fileformat, const char *classname,
- dns_zone_t **zonep);
-
-isc_result_t
-dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
- dns_masterformat_t fileformat, const dns_master_style_t *style);
-
-extern int debug;
-extern isc_boolean_t nomerge;
-extern isc_boolean_t docheckmx;
-extern isc_boolean_t docheckns;
-extern isc_boolean_t dochecksrv;
-extern unsigned int zone_options;
-
-ISC_LANG_ENDDECLS
-
-#endif
diff --git a/contrib/bind9/bin/check/named-checkconf.8 b/contrib/bind9/bin/check/named-checkconf.8
deleted file mode 100644
index 364e6b9..0000000
--- a/contrib/bind9/bin/check/named-checkconf.8
+++ /dev/null
@@ -1,89 +0,0 @@
-.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
-.\" Copyright (C) 2000-2002 Internet Software Consortium.
-.\"
-.\" Permission to use, copy, modify, and distribute this software for any
-.\" purpose with or without fee is hereby granted, provided that the above
-.\" copyright notice and this permission notice appear in all copies.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-.\" PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: named-checkconf.8,v 1.16.18.13 2007/06/20 02:26:58 marka Exp $
-.\"
-.hy 0
-.ad l
-.\" Title: named\-checkconf
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
-.\" Date: June 14, 2000
-.\" Manual: BIND9
-.\" Source: BIND9
-.\"
-.TH "NAMED\-CHECKCONF" "8" "June 14, 2000" "BIND9" "BIND9"
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.SH "NAME"
-named\-checkconf \- named configuration file syntax checking tool
-.SH "SYNOPSIS"
-.HP 16
-\fBnamed\-checkconf\fR [\fB\-v\fR] [\fB\-j\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} [\fB\-z\fR]
-.SH "DESCRIPTION"
-.PP
-\fBnamed\-checkconf\fR
-checks the syntax, but not the semantics, of a named configuration file.
-.SH "OPTIONS"
-.PP
-\-t \fIdirectory\fR
-.RS 4
-Chroot to
-\fIdirectory\fR
-so that include directives in the configuration file are processed as if run by a similarly chrooted named.
-.RE
-.PP
-\-v
-.RS 4
-Print the version of the
-\fBnamed\-checkconf\fR
-program and exit.
-.RE
-.PP
-\-z
-.RS 4
-Perform a test load of all master zones found in
-\fInamed.conf\fR.
-.RE
-.PP
-\-j
-.RS 4
-When loading a zonefile read the journal if it exists.
-.RE
-.PP
-filename
-.RS 4
-The name of the configuration file to be checked. If not specified, it defaults to
-\fI/etc/named.conf\fR.
-.RE
-.SH "RETURN VALUES"
-.PP
-\fBnamed\-checkconf\fR
-returns an exit status of 1 if errors were detected and 0 otherwise.
-.SH "SEE ALSO"
-.PP
-\fBnamed\fR(8),
-\fBnamed\-checkzone\fR(8),
-BIND 9 Administrator Reference Manual.
-.SH "AUTHOR"
-.PP
-Internet Systems Consortium
-.SH "COPYRIGHT"
-Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
-.br
-Copyright \(co 2000\-2002 Internet Software Consortium.
-.br
diff --git a/contrib/bind9/bin/check/named-checkconf.c b/contrib/bind9/bin/check/named-checkconf.c
deleted file mode 100644
index cc63153..0000000
--- a/contrib/bind9/bin/check/named-checkconf.c
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2002 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* $Id: named-checkconf.c,v 1.28.18.14 2006/02/28 03:10:47 marka Exp $ */
-
-/*! \file */
-
-#include <config.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <stdio.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/result.h>
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <isccfg/namedconf.h>
-
-#include <bind9/check.h>
-
-#include <dns/fixedname.h>
-#include <dns/log.h>
-#include <dns/name.h>
-#include <dns/result.h>
-#include <dns/zone.h>
-
-#include "check-tool.h"
-
-isc_log_t *logc = NULL;
-
-#define CHECK(r)\
- do { \
- result = (r); \
- if (result != ISC_R_SUCCESS) \
- goto cleanup; \
- } while (0)
-
-/*% usage */
-static void
-usage(void) {
- fprintf(stderr, "usage: named-checkconf [-j] [-v] [-z] [-t directory] "
- "[named.conf]\n");
- exit(1);
-}
-
-/*% directory callback */
-static isc_result_t
-directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
- isc_result_t result;
- const char *directory;
-
- REQUIRE(strcasecmp("directory", clausename) == 0);
-
- UNUSED(arg);
- UNUSED(clausename);
-
- /*
- * Change directory.
- */
- directory = cfg_obj_asstring(obj);
- result = isc_dir_chdir(directory);
- if (result != ISC_R_SUCCESS) {
- cfg_obj_log(obj, logc, ISC_LOG_ERROR,
- "change directory to '%s' failed: %s\n",
- directory, isc_result_totext(result));
- return (result);
- }
-
- return (ISC_R_SUCCESS);
-}
-
-static isc_boolean_t
-get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
- int i;
- for (i = 0;; i++) {
- if (maps[i] == NULL)
- return (ISC_FALSE);
- if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
- return (ISC_TRUE);
- }
-}
-
-static isc_boolean_t
-get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
- const cfg_listelt_t *element;
- const cfg_obj_t *checknames;
- const cfg_obj_t *type;
- const cfg_obj_t *value;
- isc_result_t result;
- int i;
-
- for (i = 0;; i++) {
- if (maps[i] == NULL)
- return (ISC_FALSE);
- checknames = NULL;
- result = cfg_map_get(maps[i], "check-names", &checknames);
- if (result != ISC_R_SUCCESS)
- continue;
- if (checknames != NULL && !cfg_obj_islist(checknames)) {
- *obj = checknames;
- return (ISC_TRUE);
- }
- for (element = cfg_list_first(checknames);
- element != NULL;
- element = cfg_list_next(element)) {
- value = cfg_listelt_value(element);
- type = cfg_tuple_get(value, "type");
- if (strcasecmp(cfg_obj_asstring(type), "master") != 0)
- continue;
- *obj = cfg_tuple_get(value, "mode");
- return (ISC_TRUE);
- }
- }
-}
-
-static isc_result_t
-config_get(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
- int i;
-
- for (i = 0;; i++) {
- if (maps[i] == NULL)
- return (ISC_R_NOTFOUND);
- if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
- return (ISC_R_SUCCESS);
- }
-}
-
-/*% configure the zone */
-static isc_result_t
-configure_zone(const char *vclass, const char *view,
- const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
- const cfg_obj_t *config, isc_mem_t *mctx)
-{
- int i = 0;
- isc_result_t result;
- const char *zclass;
- const char *zname;
- const char *zfile;
- const cfg_obj_t *maps[4];
- const cfg_obj_t *zoptions = NULL;
- const cfg_obj_t *classobj = NULL;
- const cfg_obj_t *typeobj = NULL;
- const cfg_obj_t *fileobj = NULL;
- const cfg_obj_t *dbobj = NULL;
- const cfg_obj_t *obj = NULL;
- const cfg_obj_t *fmtobj = NULL;
- dns_masterformat_t masterformat;
-
- zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_MANYERRORS;
-
- zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
- classobj = cfg_tuple_get(zconfig, "class");
- if (!cfg_obj_isstring(classobj))
- zclass = vclass;
- else
- zclass = cfg_obj_asstring(classobj);
-
- zoptions = cfg_tuple_get(zconfig, "options");
- maps[i++] = zoptions;
- if (vconfig != NULL)
- maps[i++] = cfg_tuple_get(vconfig, "options");
- if (config != NULL) {
- cfg_map_get(config, "options", &obj);
- if (obj != NULL)
- maps[i++] = obj;
- }
- maps[i++] = NULL;
-
- cfg_map_get(zoptions, "type", &typeobj);
- if (typeobj == NULL)
- return (ISC_R_FAILURE);
- if (strcasecmp(cfg_obj_asstring(typeobj), "master") != 0)
- return (ISC_R_SUCCESS);
- cfg_map_get(zoptions, "database", &dbobj);
- if (dbobj != NULL)
- return (ISC_R_SUCCESS);
- cfg_map_get(zoptions, "file", &fileobj);
- if (fileobj == NULL)
- return (ISC_R_FAILURE);
- zfile = cfg_obj_asstring(fileobj);
-
- obj = NULL;
- if (get_maps(maps, "check-mx", &obj)) {
- if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
- zone_options |= DNS_ZONEOPT_CHECKMX;
- zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
- } else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
- zone_options |= DNS_ZONEOPT_CHECKMX;
- zone_options |= DNS_ZONEOPT_CHECKMXFAIL;
- } else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
- zone_options &= ~DNS_ZONEOPT_CHECKMX;
- zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
- } else
- INSIST(0);
- } else {
- zone_options |= DNS_ZONEOPT_CHECKMX;
- zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
- }
-
- obj = NULL;
- if (get_maps(maps, "check-integrity", &obj)) {
- if (cfg_obj_asboolean(obj))
- zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
- else
- zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
- }
-
- obj = NULL;
- if (get_maps(maps, "check-mx-cname", &obj)) {
- if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
- zone_options |= DNS_ZONEOPT_WARNMXCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
- } else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
- zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
- } else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
- zone_options |= DNS_ZONEOPT_WARNMXCNAME;
- zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
- } else
- INSIST(0);
- } else {
- zone_options |= DNS_ZONEOPT_WARNMXCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
- }
-
- obj = NULL;
- if (get_maps(maps, "check-srv-cname", &obj)) {
- if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
- zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
- } else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
- zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
- } else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
- zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
- zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
- } else
- INSIST(0);
- } else {
- zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
- }
-
- obj = NULL;
- if (get_maps(maps, "check-sibling", &obj)) {
- if (cfg_obj_asboolean(obj))
- zone_options |= DNS_ZONEOPT_CHECKSIBLING;
- else
- zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
- }
-
- obj = NULL;
- if (get_checknames(maps, &obj)) {
- if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
- zone_options |= DNS_ZONEOPT_CHECKNAMES;
- zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
- } else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
- zone_options |= DNS_ZONEOPT_CHECKNAMES;
- zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
- } else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
- zone_options &= ~DNS_ZONEOPT_CHECKNAMES;
- zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
- } else
- INSIST(0);
- } else {
- zone_options |= DNS_ZONEOPT_CHECKNAMES;
- zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
- }
-
- masterformat = dns_masterformat_text;
- fmtobj = NULL;
- result = config_get(maps, "masterfile-format", &fmtobj);
- if (result == ISC_R_SUCCESS) {
- const char *masterformatstr = cfg_obj_asstring(fmtobj);
- if (strcasecmp(masterformatstr, "text") == 0)
- masterformat = dns_masterformat_text;
- else if (strcasecmp(masterformatstr, "raw") == 0)
- masterformat = dns_masterformat_raw;
- else
- INSIST(0);
- }
-
- result = load_zone(mctx, zname, zfile, masterformat, zclass, NULL);
- if (result != ISC_R_SUCCESS)
- fprintf(stderr, "%s/%s/%s: %s\n", view, zname, zclass,
- dns_result_totext(result));
- return(result);
-}
-
-/*% configure a view */
-static isc_result_t
-configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
- const cfg_obj_t *vconfig, isc_mem_t *mctx)
-{
- const cfg_listelt_t *element;
- const cfg_obj_t *voptions;
- const cfg_obj_t *zonelist;
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult;
-
- voptions = NULL;
- if (vconfig != NULL)
- voptions = cfg_tuple_get(vconfig, "options");
-
- zonelist = NULL;
- if (voptions != NULL)
- (void)cfg_map_get(voptions, "zone", &zonelist);
- else
- (void)cfg_map_get(config, "zone", &zonelist);
-
- for (element = cfg_list_first(zonelist);
- element != NULL;
- element = cfg_list_next(element))
- {
- const cfg_obj_t *zconfig = cfg_listelt_value(element);
- tresult = configure_zone(vclass, view, zconfig, vconfig,
- config, mctx);
- if (tresult != ISC_R_SUCCESS)
- result = tresult;
- }
- return (result);
-}
-
-
-/*% load zones from the configuration */
-static isc_result_t
-load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx) {
- const cfg_listelt_t *element;
- const cfg_obj_t *classobj;
- const cfg_obj_t *views;
- const cfg_obj_t *vconfig;
- const char *vclass;
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult;
-
- views = NULL;
-
- (void)cfg_map_get(config, "view", &views);
- for (element = cfg_list_first(views);
- element != NULL;
- element = cfg_list_next(element))
- {
- const char *vname;
-
- vclass = "IN";
- vconfig = cfg_listelt_value(element);
- if (vconfig != NULL) {
- classobj = cfg_tuple_get(vconfig, "class");
- if (cfg_obj_isstring(classobj))
- vclass = cfg_obj_asstring(classobj);
- }
- vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name"));
- tresult = configure_view(vclass, vname, config, vconfig, mctx);
- if (tresult != ISC_R_SUCCESS)
- result = tresult;
- }
-
- if (views == NULL) {
- tresult = configure_view("IN", "_default", config, NULL, mctx);
- if (tresult != ISC_R_SUCCESS)
- result = tresult;
- }
- return (result);
-}
-
-/*% The main processing routine */
-int
-main(int argc, char **argv) {
- int c;
- cfg_parser_t *parser = NULL;
- cfg_obj_t *config = NULL;
- const char *conffile = NULL;
- isc_mem_t *mctx = NULL;
- isc_result_t result;
- int exit_status = 0;
- isc_entropy_t *ectx = NULL;
- isc_boolean_t load_zones = ISC_FALSE;
-
- while ((c = isc_commandline_parse(argc, argv, "djt:vz")) != EOF) {
- switch (c) {
- case 'd':
- debug++;
- break;
-
- case 'j':
- nomerge = ISC_FALSE;
- break;
-
- case 't':
- result = isc_dir_chroot(isc_commandline_argument);
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "isc_dir_chroot: %s\n",
- isc_result_totext(result));
- exit(1);
- }
- result = isc_dir_chdir("/");
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "isc_dir_chdir: %s\n",
- isc_result_totext(result));
- exit(1);
- }
- break;
-
- case 'v':
- printf(VERSION "\n");
- exit(0);
-
- case 'z':
- load_zones = ISC_TRUE;
- docheckmx = ISC_FALSE;
- docheckns = ISC_FALSE;
- dochecksrv = ISC_FALSE;
- break;
-
- default:
- usage();
- }
- }
-
- if (argv[isc_commandline_index] != NULL)
- conffile = argv[isc_commandline_index];
- if (conffile == NULL || conffile[0] == '\0')
- conffile = NAMED_CONFFILE;
-
- RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
-
- RUNTIME_CHECK(setup_logging(mctx, &logc) == ISC_R_SUCCESS);
-
- 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();
-
- RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
-
- cfg_parser_setcallback(parser, directory_callback, NULL);
-
- if (cfg_parse_file(parser, conffile, &cfg_type_namedconf, &config) !=
- ISC_R_SUCCESS)
- exit(1);
-
- result = bind9_check_namedconf(config, logc, mctx);
- if (result != ISC_R_SUCCESS)
- exit_status = 1;
-
- if (result == ISC_R_SUCCESS && load_zones) {
- result = load_zones_fromconfig(config, mctx);
- if (result != ISC_R_SUCCESS)
- exit_status = 1;
- }
-
- cfg_obj_destroy(parser, &config);
-
- cfg_parser_destroy(&parser);
-
- dns_name_destroy();
-
- isc_log_destroy(&logc);
-
- isc_hash_destroy();
- isc_entropy_detach(&ectx);
-
- isc_mem_destroy(&mctx);
-
- return (exit_status);
-}
diff --git a/contrib/bind9/bin/check/named-checkconf.docbook b/contrib/bind9/bin/check/named-checkconf.docbook
deleted file mode 100644
index af7a73d..0000000
--- a/contrib/bind9/bin/check/named-checkconf.docbook
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [<!ENTITY mdash "&#8212;">]>
-<!--
- - Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- - Copyright (C) 2000-2002 Internet Software Consortium.
- -
- - Permission to use, copy, modify, and/or distribute this software for any
- - purpose with or without fee is hereby granted, provided that the above
- - copyright notice and this permission notice appear in all copies.
- -
- - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- - PERFORMANCE OF THIS SOFTWARE.
--->
-
-<!-- $Id: named-checkconf.docbook,v 1.8.18.10 2007/08/28 07:19:55 tbox Exp $ -->
-<refentry id="man.named-checkconf">
- <refentryinfo>
- <date>June 14, 2000</date>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle><application>named-checkconf</application></refentrytitle>
- <manvolnum>8</manvolnum>
- <refmiscinfo>BIND9</refmiscinfo>
- </refmeta>
-
- <docinfo>
- <copyright>
- <year>2004</year>
- <year>2005</year>
- <year>2007</year>
- <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
- </copyright>
- <copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <holder>Internet Software Consortium.</holder>
- </copyright>
- </docinfo>
-
- <refnamediv>
- <refname><application>named-checkconf</application></refname>
- <refpurpose>named configuration file syntax checking tool</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>named-checkconf</command>
- <arg><option>-v</option></arg>
- <arg><option>-j</option></arg>
- <arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
- <arg choice="req">filename</arg>
- <arg><option>-z</option></arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>DESCRIPTION</title>
- <para><command>named-checkconf</command>
- checks the syntax, but not the semantics, of a named
- configuration file.
- </para>
- </refsect1>
-
- <refsect1>
- <title>OPTIONS</title>
-
- <variablelist>
- <varlistentry>
- <term>-t <replaceable class="parameter">directory</replaceable></term>
- <listitem>
- <para>
- Chroot to <filename>directory</filename> so that
- include
- directives in the configuration file are processed as if
- run by a similarly chrooted named.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-v</term>
- <listitem>
- <para>
- Print the version of the <command>named-checkconf</command>
- program and exit.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-z</term>
- <listitem>
- <para>
- Perform a test load of all master zones found in
- <filename>named.conf</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-j</term>
- <listitem>
- <para>
- When loading a zonefile read the journal if it exists.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>filename</term>
- <listitem>
- <para>
- The name of the configuration file to be checked. If not
- specified, it defaults to <filename>/etc/named.conf</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- </refsect1>
-
- <refsect1>
- <title>RETURN VALUES</title>
- <para><command>named-checkconf</command>
- returns an exit status of 1 if
- errors were detected and 0 otherwise.
- </para>
- </refsect1>
-
- <refsect1>
- <title>SEE ALSO</title>
- <para><citerefentry>
- <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>named-checkzone</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citetitle>BIND 9 Administrator Reference Manual</citetitle>.
- </para>
- </refsect1>
-
- <refsect1>
- <title>AUTHOR</title>
- <para><corpauthor>Internet Systems Consortium</corpauthor>
- </para>
- </refsect1>
-
-</refentry><!--
- - Local variables:
- - mode: sgml
- - End:
--->
diff --git a/contrib/bind9/bin/check/named-checkconf.html b/contrib/bind9/bin/check/named-checkconf.html
deleted file mode 100644
index 910df0d..0000000
--- a/contrib/bind9/bin/check/named-checkconf.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
- - Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- - Copyright (C) 2000-2002 Internet Software Consortium.
- -
- - Permission to use, copy, modify, and distribute this software for any
- - purpose with or without fee is hereby granted, provided that the above
- - copyright notice and this permission notice appear in all copies.
- -
- - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- - PERFORMANCE OF THIS SOFTWARE.
--->
-<!-- $Id: named-checkconf.html,v 1.9.18.20 2007/06/20 02:26:58 marka Exp $ -->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>named-checkconf</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="man.named-checkconf"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2>Name</h2>
-<p><span class="application">named-checkconf</span> &#8212; named configuration file syntax checking tool</p>
-</div>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543383"></a><h2>DESCRIPTION</h2>
-<p><span><strong class="command">named-checkconf</strong></span>
- checks the syntax, but not the semantics, of a named
- configuration file.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543395"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl>
-<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
- Chroot to <code class="filename">directory</code> so that
- include
- directives in the configuration file are processed as if
- run by a similarly chrooted named.
- </p></dd>
-<dt><span class="term">-v</span></dt>
-<dd><p>
- Print the version of the <span><strong class="command">named-checkconf</strong></span>
- program and exit.
- </p></dd>
-<dt><span class="term">-z</span></dt>
-<dd><p>
- Perform a test load of all master zones found in
- <code class="filename">named.conf</code>.
- </p></dd>
-<dt><span class="term">-j</span></dt>
-<dd><p>
- When loading a zonefile read the journal if it exists.
- </p></dd>
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the configuration file to be checked. If not
- specified, it defaults to <code class="filename">/etc/named.conf</code>.
- </p></dd>
-</dl></div>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543489"></a><h2>RETURN VALUES</h2>
-<p><span><strong class="command">named-checkconf</strong></span>
- returns an exit status of 1 if
- errors were detected and 0 otherwise.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543500"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
- <em class="citetitle">BIND 9 Administrator Reference Manual</em>.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543530"></a><h2>AUTHOR</h2>
-<p><span class="corpauthor">Internet Systems Consortium</span>
- </p>
-</div>
-</div></body>
-</html>
diff --git a/contrib/bind9/bin/check/named-checkzone.8 b/contrib/bind9/bin/check/named-checkzone.8
deleted file mode 100644
index bd538ac..0000000
--- a/contrib/bind9/bin/check/named-checkzone.8
+++ /dev/null
@@ -1,269 +0,0 @@
-.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
-.\" Copyright (C) 2000-2002 Internet Software Consortium.
-.\"
-.\" Permission to use, copy, modify, and distribute this software for any
-.\" purpose with or without fee is hereby granted, provided that the above
-.\" copyright notice and this permission notice appear in all copies.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-.\" PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: named-checkzone.8,v 1.18.18.23 2007/06/20 02:26:58 marka Exp $
-.\"
-.hy 0
-.ad l
-.\" Title: named\-checkzone
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
-.\" Date: June 13, 2000
-.\" Manual: BIND9
-.\" Source: BIND9
-.\"
-.TH "NAMED\-CHECKZONE" "8" "June 13, 2000" "BIND9" "BIND9"
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.SH "NAME"
-named\-checkzone, named\-compilezone \- zone file validity checking or converting tool
-.SH "SYNOPSIS"
-.HP 16
-\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
-.HP 18
-\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
-.SH "DESCRIPTION"
-.PP
-\fBnamed\-checkzone\fR
-checks the syntax and integrity of a zone file. It performs the same checks as
-\fBnamed\fR
-does when loading a zone. This makes
-\fBnamed\-checkzone\fR
-useful for checking zone files before configuring them into a name server.
-.PP
-\fBnamed\-compilezone\fR
-is similar to
-\fBnamed\-checkzone\fR, but it always dumps the zone contents to a specified file in a specified format. Additionally, it applies stricter check levels by default, since the dump output will be used as an actual zone file loaded by
-\fBnamed\fR. When manually specified otherwise, the check levels must at least be as strict as those specified in the
-\fBnamed\fR
-configuration file.
-.SH "OPTIONS"
-.PP
-\-d
-.RS 4
-Enable debugging.
-.RE
-.PP
-\-q
-.RS 4
-Quiet mode \- exit code only.
-.RE
-.PP
-\-v
-.RS 4
-Print the version of the
-\fBnamed\-checkzone\fR
-program and exit.
-.RE
-.PP
-\-j
-.RS 4
-When loading the zone file read the journal if it exists.
-.RE
-.PP
-\-c \fIclass\fR
-.RS 4
-Specify the class of the zone. If not specified "IN" is assumed.
-.RE
-.PP
-\-i \fImode\fR
-.RS 4
-Perform post\-load zone integrity checks. Possible modes are
-\fB"full"\fR
-(default),
-\fB"full\-sibling"\fR,
-\fB"local"\fR,
-\fB"local\-sibling"\fR
-and
-\fB"none"\fR.
-.sp
-Mode
-\fB"full"\fR
-checks that MX records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). Mode
-\fB"local"\fR
-only checks MX records which refer to in\-zone hostnames.
-.sp
-Mode
-\fB"full"\fR
-checks that SRV records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). Mode
-\fB"local"\fR
-only checks SRV records which refer to in\-zone hostnames.
-.sp
-Mode
-\fB"full"\fR
-checks that delegation NS records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). It also checks that glue address records in the zone match those advertised by the child. Mode
-\fB"local"\fR
-only checks NS records which refer to in\-zone hostnames or that some required glue exists, that is when the nameserver is in a child zone.
-.sp
-Mode
-\fB"full\-sibling"\fR
-and
-\fB"local\-sibling"\fR
-disable sibling glue checks but are otherwise the same as
-\fB"full"\fR
-and
-\fB"local"\fR
-respectively.
-.sp
-Mode
-\fB"none"\fR
-disables the checks.
-.RE
-.PP
-\-f \fIformat\fR
-.RS 4
-Specify the format of the zone file. Possible formats are
-\fB"text"\fR
-(default) and
-\fB"raw"\fR.
-.RE
-.PP
-\-F \fIformat\fR
-.RS 4
-Specify the format of the output file specified. Possible formats are
-\fB"text"\fR
-(default) and
-\fB"raw"\fR. For
-\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents.
-.RE
-.PP
-\-k \fImode\fR
-.RS 4
-Perform
-\fB"check\-names"\fR
-checks with the specified failure mode. Possible modes are
-\fB"fail"\fR
-(default for
-\fBnamed\-compilezone\fR),
-\fB"warn"\fR
-(default for
-\fBnamed\-checkzone\fR) and
-\fB"ignore"\fR.
-.RE
-.PP
-\-m \fImode\fR
-.RS 4
-Specify whether MX records should be checked to see if they are addresses. Possible modes are
-\fB"fail"\fR,
-\fB"warn"\fR
-(default) and
-\fB"ignore"\fR.
-.RE
-.PP
-\-M \fImode\fR
-.RS 4
-Check if a MX record refers to a CNAME. Possible modes are
-\fB"fail"\fR,
-\fB"warn"\fR
-(default) and
-\fB"ignore"\fR.
-.RE
-.PP
-\-n \fImode\fR
-.RS 4
-Specify whether NS records should be checked to see if they are addresses. Possible modes are
-\fB"fail"\fR
-(default for
-\fBnamed\-compilezone\fR),
-\fB"warn"\fR
-(default for
-\fBnamed\-checkzone\fR) and
-\fB"ignore"\fR.
-.RE
-.PP
-\-o \fIfilename\fR
-.RS 4
-Write zone output to
-\fIfilename\fR. This is mandatory for
-\fBnamed\-compilezone\fR.
-.RE
-.PP
-\-s \fIstyle\fR
-.RS 4
-Specify the style of the dumped zone file. Possible styles are
-\fB"full"\fR
-(default) and
-\fB"relative"\fR. The full format is most suitable for processing automatically by a separate script. On the other hand, the relative format is more human\-readable and is thus suitable for editing by hand. For
-\fBnamed\-checkzone\fR
-this does not cause any effects unless it dumps the zone contents. It also does not have any meaning if the output format is not text.
-.RE
-.PP
-\-S \fImode\fR
-.RS 4
-Check if a SRV record refers to a CNAME. Possible modes are
-\fB"fail"\fR,
-\fB"warn"\fR
-(default) and
-\fB"ignore"\fR.
-.RE
-.PP
-\-t \fIdirectory\fR
-.RS 4
-Chroot to
-\fIdirectory\fR
-so that include directives in the configuration file are processed as if run by a similarly chrooted named.
-.RE
-.PP
-\-w \fIdirectory\fR
-.RS 4
-chdir to
-\fIdirectory\fR
-so that relative filenames in master file $INCLUDE directives work. This is similar to the directory clause in
-\fInamed.conf\fR.
-.RE
-.PP
-\-D
-.RS 4
-Dump zone file in canonical format. This is always enabled for
-\fBnamed\-compilezone\fR.
-.RE
-.PP
-\-W \fImode\fR
-.RS 4
-Specify whether to check for non\-terminal wildcards. Non\-terminal wildcards are almost always the result of a failure to understand the wildcard matching algorithm (RFC 1034). Possible modes are
-\fB"warn"\fR
-(default) and
-\fB"ignore"\fR.
-.RE
-.PP
-zonename
-.RS 4
-The domain name of the zone being checked.
-.RE
-.PP
-filename
-.RS 4
-The name of the zone file.
-.RE
-.SH "RETURN VALUES"
-.PP
-\fBnamed\-checkzone\fR
-returns an exit status of 1 if errors were detected and 0 otherwise.
-.SH "SEE ALSO"
-.PP
-\fBnamed\fR(8),
-\fBnamed\-checkconf\fR(8),
-RFC 1035,
-BIND 9 Administrator Reference Manual.
-.SH "AUTHOR"
-.PP
-Internet Systems Consortium
-.SH "COPYRIGHT"
-Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
-.br
-Copyright \(co 2000\-2002 Internet Software Consortium.
-.br
diff --git a/contrib/bind9/bin/check/named-checkzone.c b/contrib/bind9/bin/check/named-checkzone.c
deleted file mode 100644
index 08e958e..0000000
--- a/contrib/bind9/bin/check/named-checkzone.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1999-2003 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* $Id: named-checkzone.c,v 1.29.18.19 2007/08/28 07:19:55 tbox Exp $ */
-
-/*! \file */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#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>
-#include <isc/string.h>
-#include <isc/task.h>
-#include <isc/timer.h>
-#include <isc/util.h>
-
-#include <dns/db.h>
-#include <dns/fixedname.h>
-#include <dns/log.h>
-#include <dns/masterdump.h>
-#include <dns/name.h>
-#include <dns/rdataclass.h>
-#include <dns/rdataset.h>
-#include <dns/result.h>
-#include <dns/types.h>
-#include <dns/zone.h>
-
-#include "check-tool.h"
-
-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;
-static const char *output_filename;
-static char *prog_name = NULL;
-static const dns_master_style_t *outputstyle = NULL;
-static enum { progmode_check, progmode_compile } progmode;
-
-#define ERRRET(result, function) \
- do { \
- if (result != ISC_R_SUCCESS) { \
- if (!quiet) \
- fprintf(stderr, "%s() returned %s\n", \
- function, dns_result_totext(result)); \
- return (result); \
- } \
- } while (0)
-
-static void
-usage(void) {
- fprintf(stderr,
- "usage: %s [-djqvD] [-c class] [-o output] "
- "[-f inputformat] [-F outputformat] "
- "[-t directory] [-w directory] [-k (ignore|warn|fail)] "
- "[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
- "[-i (full|local|none)] [-M (ignore|warn|fail)] "
- "[-S (ignore|warn|fail)] [-W (ignore|warn)] "
- "zonename filename\n", prog_name);
- exit(1);
-}
-
-static void
-destroy(void) {
- if (zone != NULL)
- dns_zone_detach(&zone);
- dns_name_destroy();
-}
-
-/*% main processing routine */
-int
-main(int argc, char **argv) {
- int c;
- char *origin = NULL;
- char *filename = NULL;
- isc_log_t *lctx = NULL;
- isc_result_t result;
- char classname_in[] = "IN";
- char *classname = classname_in;
- const char *workdir = NULL;
- const char *inputformatstr = NULL;
- const char *outputformatstr = NULL;
- dns_masterformat_t inputformat = dns_masterformat_text;
- dns_masterformat_t outputformat = dns_masterformat_text;
-
- outputstyle = &dns_master_style_full;
-
- prog_name = strrchr(argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr(argv[0], '\\');
- if (prog_name != NULL)
- prog_name++;
- else
- prog_name = argv[0];
- /*
- * Libtool doesn't preserve the program name prior to final
- * installation. Remove the libtool prefix ("lt-").
- */
- if (strncmp(prog_name, "lt-", 3) == 0)
- prog_name += 3;
- if (strcmp(prog_name, "named-checkzone") == 0)
- progmode = progmode_check;
- else if (strcmp(prog_name, "named-compilezone") == 0)
- progmode = progmode_compile;
- else
- INSIST(0);
-
- /* Compilation specific defaults */
- if (progmode == progmode_compile) {
- zone_options |= (DNS_ZONEOPT_CHECKNS |
- DNS_ZONEOPT_FATALNS |
- DNS_ZONEOPT_CHECKNAMES |
- DNS_ZONEOPT_CHECKNAMESFAIL |
- DNS_ZONEOPT_CHECKWILDCARD);
- }
-
-#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
-
- while ((c = isc_commandline_parse(argc, argv,
- "c:df:i:jk:m:n:qs:t:o:vw:DF:M:S:W:"))
- != EOF) {
- switch (c) {
- case 'c':
- classname = isc_commandline_argument;
- break;
-
- case 'd':
- debug++;
- break;
-
- case 'i':
- if (ARGCMP("full")) {
- zone_options |= DNS_ZONEOPT_CHECKINTEGRITY |
- DNS_ZONEOPT_CHECKSIBLING;
- docheckmx = ISC_TRUE;
- docheckns = ISC_TRUE;
- dochecksrv = ISC_TRUE;
- } else if (ARGCMP("full-sibling")) {
- zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
- zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
- docheckmx = ISC_TRUE;
- docheckns = ISC_TRUE;
- dochecksrv = ISC_TRUE;
- } else if (ARGCMP("local")) {
- zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
- zone_options |= DNS_ZONEOPT_CHECKSIBLING;
- docheckmx = ISC_FALSE;
- docheckns = ISC_FALSE;
- dochecksrv = ISC_FALSE;
- } else if (ARGCMP("local-sibling")) {
- zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
- zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
- docheckmx = ISC_FALSE;
- docheckns = ISC_FALSE;
- dochecksrv = ISC_FALSE;
- } else if (ARGCMP("none")) {
- zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
- zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
- docheckmx = ISC_FALSE;
- docheckns = ISC_FALSE;
- dochecksrv = ISC_FALSE;
- } else {
- fprintf(stderr, "invalid argument to -i: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'f':
- inputformatstr = isc_commandline_argument;
- break;
-
- case 'F':
- outputformatstr = isc_commandline_argument;
- break;
-
- case 'j':
- nomerge = ISC_FALSE;
- break;
-
- case 'k':
- if (ARGCMP("warn")) {
- zone_options |= DNS_ZONEOPT_CHECKNAMES;
- zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
- } else if (ARGCMP("fail")) {
- zone_options |= DNS_ZONEOPT_CHECKNAMES |
- DNS_ZONEOPT_CHECKNAMESFAIL;
- } else if (ARGCMP("ignore")) {
- zone_options &= ~(DNS_ZONEOPT_CHECKNAMES |
- DNS_ZONEOPT_CHECKNAMESFAIL);
- } else {
- fprintf(stderr, "invalid argument to -k: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'n':
- if (ARGCMP("ignore")) {
- zone_options &= ~(DNS_ZONEOPT_CHECKNS|
- DNS_ZONEOPT_FATALNS);
- } else if (ARGCMP("warn")) {
- zone_options |= DNS_ZONEOPT_CHECKNS;
- zone_options &= ~DNS_ZONEOPT_FATALNS;
- } else if (ARGCMP("fail")) {
- zone_options |= DNS_ZONEOPT_CHECKNS|
- DNS_ZONEOPT_FATALNS;
- } else {
- fprintf(stderr, "invalid argument to -n: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'm':
- if (ARGCMP("warn")) {
- zone_options |= DNS_ZONEOPT_CHECKMX;
- zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
- } else if (ARGCMP("fail")) {
- zone_options |= DNS_ZONEOPT_CHECKMX |
- DNS_ZONEOPT_CHECKMXFAIL;
- } else if (ARGCMP("ignore")) {
- zone_options &= ~(DNS_ZONEOPT_CHECKMX |
- DNS_ZONEOPT_CHECKMXFAIL);
- } else {
- fprintf(stderr, "invalid argument to -m: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'q':
- quiet++;
- break;
-
- case 't':
- result = isc_dir_chroot(isc_commandline_argument);
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "isc_dir_chroot: %s: %s\n",
- isc_commandline_argument,
- isc_result_totext(result));
- exit(1);
- }
- result = isc_dir_chdir("/");
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "isc_dir_chdir: %s\n",
- isc_result_totext(result));
- exit(1);
- }
- break;
-
- case 's':
- if (ARGCMP("full"))
- outputstyle = &dns_master_style_full;
- else if (ARGCMP("relative")) {
- outputstyle = &dns_master_style_default;
- } else {
- fprintf(stderr,
- "unknown or unsupported style: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'o':
- output_filename = isc_commandline_argument;
- break;
-
- case 'v':
- printf(VERSION "\n");
- exit(0);
-
- case 'w':
- workdir = isc_commandline_argument;
- break;
-
- case 'D':
- dumpzone++;
- break;
-
- case 'M':
- if (ARGCMP("fail")) {
- zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
- } else if (ARGCMP("warn")) {
- zone_options |= DNS_ZONEOPT_WARNMXCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
- } else if (ARGCMP("ignore")) {
- zone_options |= DNS_ZONEOPT_WARNMXCNAME;
- zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
- } else {
- fprintf(stderr, "invalid argument to -M: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'S':
- if (ARGCMP("fail")) {
- zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
- } else if (ARGCMP("warn")) {
- zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
- zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
- } else if (ARGCMP("ignore")) {
- zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
- zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
- } else {
- fprintf(stderr, "invalid argument to -S: %s\n",
- isc_commandline_argument);
- exit(1);
- }
- break;
-
- case 'W':
- if (ARGCMP("warn"))
- zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
- else if (ARGCMP("ignore"))
- zone_options &= ~DNS_ZONEOPT_CHECKWILDCARD;
- break;
-
- default:
- usage();
- }
- }
-
- if (progmode == progmode_compile) {
- dumpzone = 1; /* always dump */
- if (output_filename == NULL) {
- fprintf(stderr,
- "output file required, but not specified\n");
- usage();
- }
- }
-
- if (workdir != NULL) {
- result = isc_dir_chdir(workdir);
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "isc_dir_chdir: %s: %s\n",
- workdir, isc_result_totext(result));
- exit(1);
- }
- }
-
- if (inputformatstr != NULL) {
- if (strcasecmp(inputformatstr, "text") == 0)
- inputformat = dns_masterformat_text;
- else if (strcasecmp(inputformatstr, "raw") == 0)
- inputformat = dns_masterformat_raw;
- else {
- fprintf(stderr, "unknown file format: %s\n",
- inputformatstr);
- exit(1);
- }
- }
-
- if (outputformatstr != NULL) {
- if (strcasecmp(outputformatstr, "text") == 0)
- outputformat = dns_masterformat_text;
- else if (strcasecmp(outputformatstr, "raw") == 0)
- outputformat = dns_masterformat_raw;
- else {
- fprintf(stderr, "unknown file format: %s\n",
- outputformatstr);
- exit(1);
- }
- }
-
- if (isc_commandline_index + 2 > argc)
- usage();
-
- RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
- if (!quiet)
- RUNTIME_CHECK(setup_logging(mctx, &lctx) == ISC_R_SUCCESS);
- 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();
-
- origin = argv[isc_commandline_index++];
- filename = argv[isc_commandline_index++];
- result = load_zone(mctx, origin, filename, inputformat, classname,
- &zone);
-
- if (result == ISC_R_SUCCESS && dumpzone) {
- if (!quiet && progmode == progmode_compile) {
- fprintf(stdout, "dump zone to %s...", output_filename);
- fflush(stdout);
- }
- result = dump_zone(origin, zone, output_filename,
- outputformat, outputstyle);
- if (!quiet && progmode == progmode_compile)
- fprintf(stdout, "done\n");
- }
-
- if (!quiet && result == ISC_R_SUCCESS)
- fprintf(stdout, "OK\n");
- 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);
-}
diff --git a/contrib/bind9/bin/check/named-checkzone.docbook b/contrib/bind9/bin/check/named-checkzone.docbook
deleted file mode 100644
index 11b85ef..0000000
--- a/contrib/bind9/bin/check/named-checkzone.docbook
+++ /dev/null
@@ -1,443 +0,0 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [<!ENTITY mdash "&#8212;">]>
-<!--
- - Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- - Copyright (C) 2000-2002 Internet Software Consortium.
- -
- - Permission to use, copy, modify, and/or distribute this software for any
- - purpose with or without fee is hereby granted, provided that the above
- - copyright notice and this permission notice appear in all copies.
- -
- - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- - PERFORMANCE OF THIS SOFTWARE.
--->
-
-<!-- $Id: named-checkzone.docbook,v 1.11.18.21 2007/08/28 07:19:55 tbox Exp $ -->
-<refentry id="man.named-checkzone">
- <refentryinfo>
- <date>June 13, 2000</date>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle><application>named-checkzone</application></refentrytitle>
- <manvolnum>8</manvolnum>
- <refmiscinfo>BIND9</refmiscinfo>
- </refmeta>
-
- <docinfo>
- <copyright>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
- </copyright>
- <copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <holder>Internet Software Consortium.</holder>
- </copyright>
- </docinfo>
-
- <refnamediv>
- <refname><application>named-checkzone</application></refname>
- <refname><application>named-compilezone</application></refname>
- <refpurpose>zone file validity checking or converting tool</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>named-checkzone</command>
- <arg><option>-d</option></arg>
- <arg><option>-j</option></arg>
- <arg><option>-q</option></arg>
- <arg><option>-v</option></arg>
- <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
- <arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
- <arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
- <arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
- <arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
- <arg><option>-S <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
- <arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
- <arg><option>-D</option></arg>
- <arg><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
- <arg choice="req">zonename</arg>
- <arg choice="req">filename</arg>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>named-compilezone</command>
- <arg><option>-d</option></arg>
- <arg><option>-j</option></arg>
- <arg><option>-q</option></arg>
- <arg><option>-v</option></arg>
- <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
- <arg><option>-C <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
- <arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
- <arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
- <arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
- <arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
- <arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
- <arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
- <arg><option>-D</option></arg>
- <arg><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
- <arg choice="req">zonename</arg>
- <arg choice="req">filename</arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>DESCRIPTION</title>
- <para><command>named-checkzone</command>
- checks the syntax and integrity of a zone file. It performs the
- same checks as <command>named</command> does when loading a
- zone. This makes <command>named-checkzone</command> useful for
- checking zone files before configuring them into a name server.
- </para>
- <para>
- <command>named-compilezone</command> is similar to
- <command>named-checkzone</command>, but it always dumps the
- zone contents to a specified file in a specified format.
- Additionally, it applies stricter check levels by default,
- since the dump output will be used as an actual zone file
- loaded by <command>named</command>.
- When manually specified otherwise, the check levels must at
- least be as strict as those specified in the
- <command>named</command> configuration file.
- </para>
- </refsect1>
-
- <refsect1>
- <title>OPTIONS</title>
-
- <variablelist>
- <varlistentry>
- <term>-d</term>
- <listitem>
- <para>
- Enable debugging.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-q</term>
- <listitem>
- <para>
- Quiet mode - exit code only.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-v</term>
- <listitem>
- <para>
- Print the version of the <command>named-checkzone</command>
- program and exit.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-j</term>
- <listitem>
- <para>
- When loading the zone file read the journal if it exists.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-c <replaceable class="parameter">class</replaceable></term>
- <listitem>
- <para>
- Specify the class of the zone. If not specified "IN" is assumed.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-i <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Perform post-load zone integrity checks. Possible modes are
- <command>"full"</command> (default),
- <command>"full-sibling"</command>,
- <command>"local"</command>,
- <command>"local-sibling"</command> and
- <command>"none"</command>.
- </para>
- <para>
- Mode <command>"full"</command> checks that MX records
- refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). Mode <command>"local"</command> only
- checks MX records which refer to in-zone hostnames.
- </para>
- <para>
- Mode <command>"full"</command> checks that SRV records
- refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). Mode <command>"local"</command> only
- checks SRV records which refer to in-zone hostnames.
- </para>
- <para>
- Mode <command>"full"</command> checks that delegation NS
- records refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). It also checks that glue address records
- in the zone match those advertised by the child.
- Mode <command>"local"</command> only checks NS records which
- refer to in-zone hostnames or that some required glue exists,
- that is when the nameserver is in a child zone.
- </para>
- <para>
- Mode <command>"full-sibling"</command> and
- <command>"local-sibling"</command> disable sibling glue
- checks but are otherwise the same as <command>"full"</command>
- and <command>"local"</command> respectively.
- </para>
- <para>
- Mode <command>"none"</command> disables the checks.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-f <replaceable class="parameter">format</replaceable></term>
- <listitem>
- <para>
- Specify the format of the zone file.
- Possible formats are <command>"text"</command> (default)
- and <command>"raw"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-F <replaceable class="parameter">format</replaceable></term>
- <listitem>
- <para>
- Specify the format of the output file specified.
- Possible formats are <command>"text"</command> (default)
- and <command>"raw"</command>.
- For <command>named-checkzone</command>,
- this does not cause any effects unless it dumps the zone
- contents.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-k <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Perform <command>"check-names"</command> checks with the
- specified failure mode.
- Possible modes are <command>"fail"</command>
- (default for <command>named-compilezone</command>),
- <command>"warn"</command>
- (default for <command>named-checkzone</command>) and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-m <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Specify whether MX records should be checked to see if they
- are addresses. Possible modes are <command>"fail"</command>,
- <command>"warn"</command> (default) and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-M <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Check if a MX record refers to a CNAME.
- Possible modes are <command>"fail"</command>,
- <command>"warn"</command> (default) and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-n <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Specify whether NS records should be checked to see if they
- are addresses.
- Possible modes are <command>"fail"</command>
- (default for <command>named-compilezone</command>),
- <command>"warn"</command>
- (default for <command>named-checkzone</command>) and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-o <replaceable class="parameter">filename</replaceable></term>
- <listitem>
- <para>
- Write zone output to <filename>filename</filename>.
- This is mandatory for <command>named-compilezone</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-s <replaceable class="parameter">style</replaceable></term>
- <listitem>
- <para>
- Specify the style of the dumped zone file.
- Possible styles are <command>"full"</command> (default)
- and <command>"relative"</command>.
- The full format is most suitable for processing
- automatically by a separate script.
- On the other hand, the relative format is more
- human-readable and is thus suitable for editing by hand.
- For <command>named-checkzone</command>
- this does not cause any effects unless it dumps the zone
- contents.
- It also does not have any meaning if the output format
- is not text.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-S <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Check if a SRV record refers to a CNAME.
- Possible modes are <command>"fail"</command>,
- <command>"warn"</command> (default) and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-t <replaceable class="parameter">directory</replaceable></term>
- <listitem>
- <para>
- Chroot to <filename>directory</filename> so that
- include
- directives in the configuration file are processed as if
- run by a similarly chrooted named.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-w <replaceable class="parameter">directory</replaceable></term>
- <listitem>
- <para>
- chdir to <filename>directory</filename> so that
- relative
- filenames in master file $INCLUDE directives work. This
- is similar to the directory clause in
- <filename>named.conf</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-D</term>
- <listitem>
- <para>
- Dump zone file in canonical format.
- This is always enabled for <command>named-compilezone</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-W <replaceable class="parameter">mode</replaceable></term>
- <listitem>
- <para>
- Specify whether to check for non-terminal wildcards.
- Non-terminal wildcards are almost always the result of a
- failure to understand the wildcard matching algorithm (RFC 1034).
- Possible modes are <command>"warn"</command> (default)
- and
- <command>"ignore"</command>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>zonename</term>
- <listitem>
- <para>
- The domain name of the zone being checked.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>filename</term>
- <listitem>
- <para>
- The name of the zone file.
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- </refsect1>
-
- <refsect1>
- <title>RETURN VALUES</title>
- <para><command>named-checkzone</command>
- returns an exit status of 1 if
- errors were detected and 0 otherwise.
- </para>
- </refsect1>
-
- <refsect1>
- <title>SEE ALSO</title>
- <para><citerefentry>
- <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>named-checkconf</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citetitle>RFC 1035</citetitle>,
- <citetitle>BIND 9 Administrator Reference Manual</citetitle>.
- </para>
- </refsect1>
-
- <refsect1>
- <title>AUTHOR</title>
- <para><corpauthor>Internet Systems Consortium</corpauthor>
- </para>
- </refsect1>
-
-</refentry><!--
- - Local variables:
- - mode: sgml
- - End:
--->
diff --git a/contrib/bind9/bin/check/named-checkzone.html b/contrib/bind9/bin/check/named-checkzone.html
deleted file mode 100644
index 0e1015d..0000000
--- a/contrib/bind9/bin/check/named-checkzone.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!--
- - Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- - Copyright (C) 2000-2002 Internet Software Consortium.
- -
- - Permission to use, copy, modify, and distribute this software for any
- - purpose with or without fee is hereby granted, provided that the above
- - copyright notice and this permission notice appear in all copies.
- -
- - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- - PERFORMANCE OF THIS SOFTWARE.
--->
-<!-- $Id: named-checkzone.html,v 1.11.18.30 2007/06/20 02:26:58 marka Exp $ -->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>named-checkzone</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
-<a name="man.named-checkzone"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2>Name</h2>
-<p><span class="application">named-checkzone</span>, <span class="application">named-compilezone</span> &#8212; zone file validity checking or converting tool</p>
-</div>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
-<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543665"></a><h2>DESCRIPTION</h2>
-<p><span><strong class="command">named-checkzone</strong></span>
- checks the syntax and integrity of a zone file. It performs the
- same checks as <span><strong class="command">named</strong></span> does when loading a
- zone. This makes <span><strong class="command">named-checkzone</strong></span> useful for
- checking zone files before configuring them into a name server.
- </p>
-<p>
- <span><strong class="command">named-compilezone</strong></span> is similar to
- <span><strong class="command">named-checkzone</strong></span>, but it always dumps the
- zone contents to a specified file in a specified format.
- Additionally, it applies stricter check levels by default,
- since the dump output will be used as an actual zone file
- loaded by <span><strong class="command">named</strong></span>.
- When manually specified otherwise, the check levels must at
- least be as strict as those specified in the
- <span><strong class="command">named</strong></span> configuration file.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2543700"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl>
-<dt><span class="term">-d</span></dt>
-<dd><p>
- Enable debugging.
- </p></dd>
-<dt><span class="term">-q</span></dt>
-<dd><p>
- Quiet mode - exit code only.
- </p></dd>
-<dt><span class="term">-v</span></dt>
-<dd><p>
- Print the version of the <span><strong class="command">named-checkzone</strong></span>
- program and exit.
- </p></dd>
-<dt><span class="term">-j</span></dt>
-<dd><p>
- When loading the zone file read the journal if it exists.
- </p></dd>
-<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
- Specify the class of the zone. If not specified "IN" is assumed.
- </p></dd>
-<dt><span class="term">-i <em class="replaceable"><code>mode</code></em></span></dt>
-<dd>
-<p>
- Perform post-load zone integrity checks. Possible modes are
- <span><strong class="command">"full"</strong></span> (default),
- <span><strong class="command">"full-sibling"</strong></span>,
- <span><strong class="command">"local"</strong></span>,
- <span><strong class="command">"local-sibling"</strong></span> and
- <span><strong class="command">"none"</strong></span>.
- </p>
-<p>
- Mode <span><strong class="command">"full"</strong></span> checks that MX records
- refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). Mode <span><strong class="command">"local"</strong></span> only
- checks MX records which refer to in-zone hostnames.
- </p>
-<p>
- Mode <span><strong class="command">"full"</strong></span> checks that SRV records
- refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). Mode <span><strong class="command">"local"</strong></span> only
- checks SRV records which refer to in-zone hostnames.
- </p>
-<p>
- Mode <span><strong class="command">"full"</strong></span> checks that delegation NS
- records refer to A or AAAA record (both in-zone and out-of-zone
- hostnames). It also checks that glue address records
- in the zone match those advertised by the child.
- Mode <span><strong class="command">"local"</strong></span> only checks NS records which
- refer to in-zone hostnames or that some required glue exists,
- that is when the nameserver is in a child zone.
- </p>
-<p>
- Mode <span><strong class="command">"full-sibling"</strong></span> and
- <span><strong class="command">"local-sibling"</strong></span> disable sibling glue
- checks but are otherwise the same as <span><strong class="command">"full"</strong></span>
- and <span><strong class="command">"local"</strong></span> respectively.
- </p>
-<p>
- Mode <span><strong class="command">"none"</strong></span> disables the checks.
- </p>
-</dd>
-<dt><span class="term">-f <em class="replaceable"><code>format</code></em></span></dt>
-<dd><p>
- Specify the format of the zone file.
- Possible formats are <span><strong class="command">"text"</strong></span> (default)
- and <span><strong class="command">"raw"</strong></span>.
- </p></dd>
-<dt><span class="term">-F <em class="replaceable"><code>format</code></em></span></dt>
-<dd><p>
- Specify the format of the output file specified.
- Possible formats are <span><strong class="command">"text"</strong></span> (default)
- and <span><strong class="command">"raw"</strong></span>.
- For <span><strong class="command">named-checkzone</strong></span>,
- this does not cause any effects unless it dumps the zone
- contents.
- </p></dd>
-<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Perform <span><strong class="command">"check-names"</strong></span> checks with the
- specified failure mode.
- Possible modes are <span><strong class="command">"fail"</strong></span>
- (default for <span><strong class="command">named-compilezone</strong></span>),
- <span><strong class="command">"warn"</strong></span>
- (default for <span><strong class="command">named-checkzone</strong></span>) and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">-m <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Specify whether MX records should be checked to see if they
- are addresses. Possible modes are <span><strong class="command">"fail"</strong></span>,
- <span><strong class="command">"warn"</strong></span> (default) and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">-M <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Check if a MX record refers to a CNAME.
- Possible modes are <span><strong class="command">"fail"</strong></span>,
- <span><strong class="command">"warn"</strong></span> (default) and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">-n <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Specify whether NS records should be checked to see if they
- are addresses.
- Possible modes are <span><strong class="command">"fail"</strong></span>
- (default for <span><strong class="command">named-compilezone</strong></span>),
- <span><strong class="command">"warn"</strong></span>
- (default for <span><strong class="command">named-checkzone</strong></span>) and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">-o <em class="replaceable"><code>filename</code></em></span></dt>
-<dd><p>
- Write zone output to <code class="filename">filename</code>.
- This is mandatory for <span><strong class="command">named-compilezone</strong></span>.
- </p></dd>
-<dt><span class="term">-s <em class="replaceable"><code>style</code></em></span></dt>
-<dd><p>
- Specify the style of the dumped zone file.
- Possible styles are <span><strong class="command">"full"</strong></span> (default)
- and <span><strong class="command">"relative"</strong></span>.
- The full format is most suitable for processing
- automatically by a separate script.
- On the other hand, the relative format is more
- human-readable and is thus suitable for editing by hand.
- For <span><strong class="command">named-checkzone</strong></span>
- this does not cause any effects unless it dumps the zone
- contents.
- It also does not have any meaning if the output format
- is not text.
- </p></dd>
-<dt><span class="term">-S <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Check if a SRV record refers to a CNAME.
- Possible modes are <span><strong class="command">"fail"</strong></span>,
- <span><strong class="command">"warn"</strong></span> (default) and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
- Chroot to <code class="filename">directory</code> so that
- include
- directives in the configuration file are processed as if
- run by a similarly chrooted named.
- </p></dd>
-<dt><span class="term">-w <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
- chdir to <code class="filename">directory</code> so that
- relative
- filenames in master file $INCLUDE directives work. This
- is similar to the directory clause in
- <code class="filename">named.conf</code>.
- </p></dd>
-<dt><span class="term">-D</span></dt>
-<dd><p>
- Dump zone file in canonical format.
- This is always enabled for <span><strong class="command">named-compilezone</strong></span>.
- </p></dd>
-<dt><span class="term">-W <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
- Specify whether to check for non-terminal wildcards.
- Non-terminal wildcards are almost always the result of a
- failure to understand the wildcard matching algorithm (RFC 1034).
- Possible modes are <span><strong class="command">"warn"</strong></span> (default)
- and
- <span><strong class="command">"ignore"</strong></span>.
- </p></dd>
-<dt><span class="term">zonename</span></dt>
-<dd><p>
- The domain name of the zone being checked.
- </p></dd>
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the zone file.
- </p></dd>
-</dl></div>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2544299"></a><h2>RETURN VALUES</h2>
-<p><span><strong class="command">named-checkzone</strong></span>
- returns an exit status of 1 if
- errors were detected and 0 otherwise.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2544311"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
- <em class="citetitle">RFC 1035</em>,
- <em class="citetitle">BIND 9 Administrator Reference Manual</em>.
- </p>
-</div>
-<div class="refsect1" lang="en">
-<a name="id2544344"></a><h2>AUTHOR</h2>
-<p><span class="corpauthor">Internet Systems Consortium</span>
- </p>
-</div>
-</div></body>
-</html>
OpenPOWER on IntegriCloud