summaryrefslogtreecommitdiff
path: root/usr.sbin/bind
diff options
context:
space:
mode:
authorJakob Schlyter <jakob@cvs.openbsd.org>2004-09-28 16:48:21 +0000
committerJakob Schlyter <jakob@cvs.openbsd.org>2004-09-28 16:48:21 +0000
commitf8cf3a1e10132d9a4e78a4b974af9a00db94d722 (patch)
treea2ddae3d2ec5d7442368ce8bdeb0b4d7e61f91ae /usr.sbin/bind
parente394444e3d65f8eacd2ae338db53f48e478804c5 (diff)
remove unused files
Diffstat (limited to 'usr.sbin/bind')
-rw-r--r--usr.sbin/bind/EXCLUDED162
-rw-r--r--usr.sbin/bind/bin/dig/nslookup.8449
-rw-r--r--usr.sbin/bind/bin/tests/names/dns_label_countbits_data7
-rw-r--r--usr.sbin/bind/bin/tests/names/dns_label_getbit_data10
-rw-r--r--usr.sbin/bind/bin/tests/nxtify.c215
-rw-r--r--usr.sbin/bind/bin/tests/system/stress/ns1/root.db57
-rw-r--r--usr.sbin/bind/bin/tests/system/xfer/knowngood.dig.out105
-rw-r--r--usr.sbin/bind/bin/tests/system/xfer/ns2/example.db159
-rw-r--r--usr.sbin/bind/bin/tests/system/xfer/ns2/tsigzone.db159
-rw-r--r--usr.sbin/bind/lib/dns/a6.c237
-rw-r--r--usr.sbin/bind/lib/dns/include/dns/a6.h82
-rw-r--r--usr.sbin/bind/lib/dns/include/dns/nxt.h68
-rw-r--r--usr.sbin/bind/lib/dns/nxt.c186
-rw-r--r--usr.sbin/bind/lib/isccfg/check.c691
-rw-r--r--usr.sbin/bind/lib/isccfg/include/isccfg/check.h54
15 files changed, 0 insertions, 2641 deletions
diff --git a/usr.sbin/bind/EXCLUDED b/usr.sbin/bind/EXCLUDED
deleted file mode 100644
index eecb1f9d6ce..00000000000
--- a/usr.sbin/bind/EXCLUDED
+++ /dev/null
@@ -1,162 +0,0 @@
-
-1007. [port] config.guess, config.sub from autoconf-2.52.
-
-1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2.
-
-1009. [port] OpenUNIX 8 support. [RT #1728]
-
-1011. [cleanup] Removed isc_dir_current().
-
-1024. [port] Compilation failed on HP-UX 11.11 due to
- incompatible use of the SIOCGLIFCONF macro
- name. [RT #1831]
- [needs more work]
-
-1025. [bug] Don't use multicast addresses to resolve iterative
- queries. [RT #101]
-
-1034. [bug] Ignore the RD bit on multicast queries as specified
- in RFC 1123. [RT #137]
-
-1035. [bug] If we respond to multicast queries (which we
- currently do not), respond from a unicast address
- as specified in RFC 1123. [RT #137]
-
-1037. [bug] Negative responses whose authority section contain
- SOA or NS records whose owner names are not equal
- equal to or parents of the query name should be
- rejected. [RT #1862]
-
-1073. [bug] The ADB cache cleaning should also be space driven.
- [RT #1915, #1938]
- [ New function dns_adb_setadbsize() ]
-
-1079. [bug] BIND 8 compatibility: accept bare elements at top
- level of sort list treating them as if they were
- a single element list. [RT #1963]
-
-1080. [bug] BIND 8 compatibility: accept bare IP prefixes
- as the second element of a two-element top level
- sort list statement. [RT #1964]
-
-1105. [port] OpenUNIX 8 enable threads by default. [RT #1970]
- [Functional change]
-
-1110. [bug] dig should only accept valid abbreviations of +options.
- [RT #2003]
- [Potentially breaks scripts. Leave to 9.3.0.]
-
-1143. [bug] When a trusted-keys statement was present and named
- was built without crypto support, it would leak memory.
- [ Not applicable to 9.2 ]
-
-1150. [bug] named incorrectly accepted TTL values
- containing plus or minus signs, such as
- 1d+1h-1s.
- [ Uses new function isc_parse_uint32() ]
-
-1151. [bug] nslookup failed to check that the arguments to
- the port, timeout, and retry options were
- valid integers and in range. [RT #2099]
- [ Uses new function isc_parse_uint32() ]
-
-1159. [bug] MD and MF are not permitted to be loaded by RFC1123
- [ Could cause zones that loaded in 9.2.0 to fail
- to load. Leave such breakages to 9.3.0. ]
-
-1187. [bug] named was incorrectly returning DNSSEC records
- in negative responses when the DO bit was not set.
- [ Requires API change (new argument) to
- dns_rdataset_towire(), dns_rdataset_towirepartial()
- and dns_rdataset_towirepartial() ]
-
-1192. [bug] The seconds fields in LOC records were restricted
- to three decimal places. More decimal places should
- be allowed but warned about.
-
-1209. [bug] Dig, host, nslookup were not checking the message ids
- on the responses. [RT #2454]
-
-1224. [bug] 'rrset-order' and 'sortlist' should be additive
- not exclusive.
- [tightly coupled with 'cyclic' and 'random' support]
-
-1233. [bug] The flags field of a KEY record can be expressed in
- hex as well as decimal.
- [ Not applicable to 9.2.x ]
-
-1234. [bug] contrib/sdb: 'zonetodb' failed to call
- dns_result_register(). DNS_R_SEENINCLUDE should not
- be fatal.
-
-1243. [bug] It was possible to trigger a REQUIRE() in
- dns_message_findtype(). [RT #2659]
-
-1247. [bug] Don't reset the interface index for link/site local
- addresses. [RT #2576]
- [depends on new functions]
-
-1255. [bug] When verifying that an NXT proves nonexistence, check
- the rcode of the message and only do the matching NXT
- check. That is, for NXDOMAIN responses, check that
- the name is in the range between the NXT owner and
- next name, and for NOERROR NODATA responses, check
- that the type is not present in the NXT bitmap.
- [required changes from DS support]
-
-1271. [bug] "recursion available: {denied,approved}" was too
- confusing.
-
-1321. [bug] If the last RRset in a zone is glue, dnssec-signzone
- would incorrectly duplicate its output and sign it.
- [DS specific]
-
-1322. [bug] dnssec-signzone usage message was misleading.
- [DS specific]
-
-1328. [bug] The validator could incorrectly verify an invalid
- negative proof.
- [DS specific]
-
-1355. [bug] Fix DNSSEC wildcard proof for CNAME/DNAME.
-
-1362. [bug] remove IFF_RUNNING test when scanning interfaces.
-
-1371. [bug] notify-source-v6, transfer-source-v6 and
- query-source-v6 with explicit addresses and using the
- same ports as named was listening on could interfere
- with nameds ability to answer queries sent to those
- addresses.
-
-1386. [bug] named-checkzone -z stopped on errors in a zone.
- [RT #3653]
-
-1392. [bug] named-checkzone: update usage.
-
-1393. [port] Bind to individual IPv6 interfaces if IPV6_IPV6ONLY
- is not available in the kernel to prevent accidently
- listening on IPv4 interfaces.
-
-1398. [doc] ARM: notify-also should have been also-notify.
- [RT #4345]
-
-1400. [bug] Block the addition of wildcard NS records by IXFR
- or UPDATE. [RT #3502]
-
-1404. [bug] libbind: ns_name_ntol() could overwrite a zero length
- buffer.
-
-1409. [bug] DS should have attribute DNS_RDATATYPEATTR_DNSSEC.
-
-1430. [port] linux: IPv6 interface scanning support.
-
-1433. [bug] named could trigger a REQUIRE failure if it could
- not get a file descriptor when attempting to write
- a master file. [RT #4347]
-
-1454. [port] Use getifaddrs() if available for interface scanning.
- --disable-getifaddrs to override. Glibc currently
- has a getifaddrs() that does not support IPv6.
- Use --enable-getifaddrs=glibc to force the use of
- this version under linux machines.
-
diff --git a/usr.sbin/bind/bin/dig/nslookup.8 b/usr.sbin/bind/bin/dig/nslookup.8
deleted file mode 100644
index 207ae19e289..00000000000
--- a/usr.sbin/bind/bin/dig/nslookup.8
+++ /dev/null
@@ -1,449 +0,0 @@
-.\" $OpenBSD: nslookup.8,v 1.5 2003/07/02 08:19:58 jmc Exp $
-.\"
-.\" ++Copyright++ 1985, 1989
-.\" -
-.\" Copyright (c) 1985, 1989
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\" -
-.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
-.\"
-.\" 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, and that
-.\" the name of Digital Equipment Corporation not be used in advertising or
-.\" publicity pertaining to distribution of the document or software without
-.\" specific, written prior permission.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
-.\" CORPORATION 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.
-.\" -
-.\" --Copyright--
-.\"
-.\" @(#)nslookup.8 5.3 (Berkeley) 6/24/90
-.\"
-.Dd June 24, 1990
-.Dt NSLOOKUP 8
-.Os
-.Sh NAME
-.Nm nslookup
-.Nd query Internet name servers interactively
-.Sh SYNOPSIS
-.Nm nslookup
-.Op Fl option Ar ...
-.Op Ar host-to-find | Fl Op Ar server
-.Sh DESCRIPTION
-.Ic Nslookup
-is a program to query Internet domain name servers.
-.Ic Nslookup
-has two modes: interactive and non-interactive.
-Interactive mode allows the user to query name servers for
-information about various hosts and domains or to print a list of hosts
-in a domain.
-Non-interactive mode is used to print just the name and requested information
-for a host or domain.
-.Sh ARGUMENTS
-Interactive mode is entered in the following cases:
-.Bl -tag -width "a) "
-.It a)
-when no arguments are given (the default name server will be used),
-.It b)
-when the first argument is a hyphen (-) and the second argument
-is the host name or Internet address of a name server.
-.El
-.Pp
-Non-interactive mode is used when the name or Internet address
-of the host to be looked up
-is given as the first argument.
-The optional second argument specifies
-the host name or address of a name server.
-.Pp
-The options listed under the
-.Dq Li set
-command below can be specified in
-the
-.Pa .nslookuprc
-file in the user's home directory if they are listed
-one per line.
-Options can also be specified
-on the command line if they precede the arguments and are prefixed with
-a hyphen.
-For example, to change the default query type to host information,
-and the initial timeout to 10 seconds, type:
-.Bd -literal -offset indent
- nslookup -query=hinfo -timeout=10
-.Ed
-.Sh INTERACTIVE COMMANDS
-Commands may be interrupted at any time by typing a control-C.
-To exit, type a control-D
-.Pq Dv EOF
-or type
-.Li exit .
-The command line length must be less than 256 characters.
-To treat a built-in command as a host name,
-precede it with an escape character
-.Pq Sq \e .
-.Sy "N.B.: An unrecognized command will be interpreted as a host name."
-.Bl -tag -width "lserver"
-.It Ar host Op Ar server
-Look up information for
-.Ar host
-using the current default server or using
-.Ar server ,
-if specified.
-If
-.Ar host
-is an Internet address and the query type is
-.Dv A
-or
-.Dv PTR ,
-the name of the host is returned.
-If
-.Ar host
-is a name and does not have a trailing period, the default
-domain name is appended to the name.
-(This behavior depends on the state of the
-.Ic set
-options
-.Ic domain , srchlist , defname ,
-and
-.Ic search . )
-.Pp
-To look up a host not in the current domain, append a period to
-the name.
-.It Ic server Ar domain
-.It Ic lserver Ar domain
-Change the default server to
-.Ar domain ;
-.Ic lserver
-uses the initial server to look up information about
-.Ar domain ,
-while
-.Ic server
-uses the current default server.
-If an authoritative answer can't be found, the names of servers
-that might have the answer are returned.
-.It Ic exit
-Exits the program.
-.It Xo
-.Ic set
-.Ar keyword Ns Op = Ns Ar value
-.Xc
-This command is used to change state information that affects the lookups.
-Valid keywords are:
-.Bl -tag -width "class=v"
-.It Ic all
-Prints the current values of the frequently used options to
-.Ic set .
-Information about the current default server and host is also printed.
-.It Ic class Ns = Ns Ar value
-Change the query class to one of:
-.Bl -tag -width "HESIOD "
-.It Dv IN
-the Internet class
-.It Dv CHAOS
-the Chaos class
-.It Dv HESIOD
-the MIT Athena Hesiod class
-.It Dv ANY
-wildcard (any of the above)
-.El
-.Pp
-The class specifies the protocol group of the information.
-.Pp
-(Default =
-.Dv IN ;
-abbreviation =
-.Ic cl )
-.It Xo
-.Oo Ic no Oc Ns Ic debug
-.Xc
-Turn debugging mode on.
-A lot more information is printed about the
-packet sent to the server and the resulting answer.
-.Pp
-(Default =
-.Ic nodebug ;
-abbreviation =
-.Oo Ic no Oc Ns Ic deb )
-.It Xo
-.Oo Ic no Oc Ns Ic d2
-.Xc
-Turn exhaustive debugging mode on.
-Essentially all fields of every packet are printed.
-.Pp
-(Default =
-.Ic nod2 )
-.It Ic domain Ns = Ns Ar name
-Change the default domain name to
-.Ar name .
-The default domain name is appended to a lookup request depending on the
-state of the
-.Ic defname
-and
-.Ic search
-options.
-The domain search list contains the parents of the default domain if it has
-at least two components in its name.
-For example, if the default domain
-is CC.Berkeley.EDU, the search list is CC.Berkeley.EDU and Berkeley.EDU.
-Use the
-.Dq Ic set srchlist
-command to specify a different list.
-Use the
-.Dq Ic set all
-command to display the list.
-.Pp
-(Default = value from
-.Xr hostname 1 ,
-.Pa /etc/resolv.conf ,
-or
-.Ev LOCALDOMAIN ;
-abbreviation =
-.Ic do )
-.It Xo
-.Sm off
-.Ic srchlist No =
-.Ar name1 No /
-.Ar name2 No /
-.Ar ...
-.Sm on
-.Xc
-Change the default domain name to
-.Ar name1
-and the domain search list
-to
-.Ar name1 , name2 ,
-etc.
-A maximum of 6 names separated by slashes (/)
-can be specified.
-For example,
-.Bd -literal -offset indent
-set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
-.Ed
-.Pp
-sets the domain to lcs.MIT.EDU and the search list to the three names.
-This command overrides the
-default domain name and search list of the
-.Dq Ic set domain
-command.
-Use the
-.Dq Ic set all
-command to display the list.
-.Pp
-(Default = value based on
-.Xr hostname 1 ,
-.Pa /etc/resolv.conf ,
-or
-.Ev LOCALDOMAIN ;
-abbreviation =
-.Ic srchl )
-.It Xo
-.Oo Ic no Oc Ns Ic defname
-.Xc
-If set, append the default domain name to a single-component lookup request
-(i.e., one that does not contain a period).
-.Pp
-(Default =
-.Ic defname ;
-abbreviation =
-.Oo Ic no Oc Ns Ic defname )
-.It Xo
-.Oo Ic no Oc Ns Ic search
-.Xc
-If the lookup request contains at least one period but
-.Em doesn't
-end with a trailing period, append the domain names in the domain search list
-to the request until an answer is received.
-.Pp
-(Default =
-.Ic search ;
-abbreviation =
-.Oo Ic no Oc Ns Ic sea )
-.It Ic port Ns = Ns Ar value
-Change the default TCP/UDP name server port to
-.Ar value .
-.Pp
-(Default = 53;
-abbreviation =
-.Ic \&po )
-.It Ic querytype Ns = Ns Ar value
-.It Ic type Ns = Ns Ar value
-Change the type of information query to one of:
-.Bl -tag -width "HINFO "
-.It Dv A
-the host's Internet address.
-.It Dv CNAME
-the canonical name for an alias.
-.It Dv HINFO
-the host CPU and operating system type.
-.It Dv MINFO
-the mailbox or mail list information.
-.It Dv MX
-the mail exchanger.
-.It Dv NS
-the name server for the named zone.
-.It Dv PTR
-the host name if the query is an Internet address;
-otherwise, the pointer to other information.
-.It Dv SOA
-the domain's
-.Dq start-of-authority
-information.
-.It Dv TXT
-the text information.
-.It Dv UINFO
-the user information.
-.It Dv WKS
-the supported well-known services.
-.El
-.Pp
-Other types
-.Dv ( ANY , AXFR , MB ,
-.Dv MD , MF , NULL )
-are described in the RFC-1035 document.
-.Pp
-(Default =
-.Dv A ;
-abbreviations =
-.Ic q , ty )
-.It Xo
-.Oo Ic no Oc Ns Ic recurse
-.Xc
-Tell the name server to query other servers if it does not have the
-information.
-.Pp
-(Default =
-.Ic recurse ;
-abbreviation =
-.Oo Ic no Oc Ns Ic rec )
-.It Ic retry Ns = Ns Ar number
-Set the number of retries to
-.Ar number .
-When a reply to a request is not received within a certain
-amount of time (changed with
-.Dq Ic set timeout ) ,
-the timeout period is doubled and the request is resent.
-The retry value controls how many times a request is resent before giving up.
-.Pp
-(Default = 4, abbreviation =
-.Ic ret )
-.It Ic root Ns = Ns Ar host
-Change the name of the root server to
-.Ar host .
-This affects the
-.Dq Ic root
-command.
-.Pp
-(Default =
-.Ic ns.internic.net. ;
-abbreviation =
-.Ic ro )
-.It Ic timeout Ns = Ns Ar number
-Change the initial timeout interval for waiting for a reply to
-.Ar number
-seconds.
-Each retry doubles the timeout period.
-.Pp
-(Default = 5 seconds; abbreviation =
-.Ic ti )
-.It Xo
-.Oo Ic no Oc Ns Ic vc
-.Xc
-Always use a virtual circuit when sending requests to the server.
-.Pp
-(Default =
-.Ic novc ;
-abbreviation =
-.Oo Ic no Oc Ns Ic v )
-.El
-.El
-.Sh FILES
-.Bl -tag -width "/etc/resolv.confXXX" -compact
-.It Pa /etc/resolv.conf
-initial domain name and name server addresses
-.El
-.Sh DIAGNOSTICS
-If the lookup request was not successful, an error message is printed.
-Possible errors are:
-.Bl -tag -width "Timed"
-.It Li Timed out
-The server did not respond to a request after a certain amount of
-time (changed with
-.Dq Ic set timeout Ns = Ns Ar value )
-and a certain number of retries (changed with
-.Do
-.Ic set retry Ns = Ns Ar value
-.Dc ) .
-.It Li \&No response from server
-No name server is running on the server machine.
-.It Li \&No records
-The server does not have resource records of the current query type for the
-host, although the host name is valid.
-The query type is specified with the
-.Dq Ic set querytype
-command.
-.It Li Non-existent domain
-The host or domain name does not exist.
-.It Li Connection refused
-.It Li Network is unreachable
-The connection to the name or finger server could not be made
-at the current time.
-This error commonly occurs with
-.Ic ls
-and
-.Ic finger
-requests.
-.It Li Server failure
-The name server found an internal inconsistency in its database
-and could not return a valid answer.
-.It Li Refused
-The name server refused to service the request.
-.It Li Format error
-The name server found that the request packet was not in the proper format.
-It may indicate an error in
-.Nm nslookup .
-.El
-.Sh SEE ALSO
-.Xr dig 1 ,
-.Xr resolver 3 ,
-.Xr resolver 5 ,
-.Xr named 8
-.Pp
-.Bl -tag -width "RFC 1034 " -compact
-.It RFC 1034
-Domain Names \- Concepts and Facilities
-.It RFC 1035
-Domain Names \- Implementation and Specification
-.El
-.Sh AUTHORS
-Andrew Cherenson
diff --git a/usr.sbin/bind/bin/tests/names/dns_label_countbits_data b/usr.sbin/bind/bin/tests/names/dns_label_countbits_data
deleted file mode 100644
index 0888eff5ac6..00000000000
--- a/usr.sbin/bind/bin/tests/names/dns_label_countbits_data
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# format of file is <testname> <tab> <bitlabel_pos> <tab> <expected_bits>
-#
-\[x42/7] 0 7
-a.b.c.\[x42/7] 3 7
-\[o033/9] 0 9
-\[b01001/5] 0 5
diff --git a/usr.sbin/bind/bin/tests/names/dns_label_getbit_data b/usr.sbin/bind/bin/tests/names/dns_label_getbit_data
deleted file mode 100644
index 51240432b38..00000000000
--- a/usr.sbin/bind/bin/tests/names/dns_label_getbit_data
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# format is:
-# <testname> <tab> <labelpos> <tab> <bitpos> <tab> <expected value>
-#
-\[x42/7] 0 6 1
-a.b.c.\[x42/7] 3 5 0
-\[o033/9] 0 2 0
-\[o033/9] 0 3 0
-\[o033/9] 0 4 1
-\[b0101/4] 0 1 1
diff --git a/usr.sbin/bind/bin/tests/nxtify.c b/usr.sbin/bind/bin/tests/nxtify.c
deleted file mode 100644
index 2a0d9c4ee7f..00000000000
--- a/usr.sbin/bind/bin/tests/nxtify.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: nxtify.c,v 1.19 2001/01/09 21:41:26 bwelling Exp $ */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <isc/mem.h>
-#include <isc/string.h>
-
-#include <dns/db.h>
-#include <dns/dbiterator.h>
-#include <dns/fixedname.h>
-#include <dns/nxt.h>
-#include <dns/rdataset.h>
-#include <dns/rdatasetiter.h>
-#include <dns/result.h>
-
-static isc_mem_t *mctx = NULL;
-
-static inline void
-fatal(const char *message) {
- fprintf(stderr, "%s\n", message);
- exit(1);
-}
-
-static inline void
-check_result(isc_result_t result, const char *message) {
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "%s: %s\n", message,
- isc_result_totext(result));
- exit(1);
- }
-}
-
-static inline isc_boolean_t
-active_node(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node) {
- dns_rdatasetiter_t *rdsiter;
- isc_boolean_t active = ISC_FALSE;
- isc_result_t result;
- dns_rdataset_t rdataset;
-
- dns_rdataset_init(&rdataset);
- rdsiter = NULL;
- result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
- check_result(result, "dns_db_allrdatasets()");
- result = dns_rdatasetiter_first(rdsiter);
- while (result == ISC_R_SUCCESS) {
- dns_rdatasetiter_current(rdsiter, &rdataset);
- if (rdataset.type != dns_rdatatype_nxt)
- active = ISC_TRUE;
- dns_rdataset_disassociate(&rdataset);
- if (!active)
- result = dns_rdatasetiter_next(rdsiter);
- else
- result = ISC_R_NOMORE;
- }
- if (result != ISC_R_NOMORE)
- fatal("rdataset iteration failed");
- dns_rdatasetiter_destroy(&rdsiter);
-
- if (!active) {
- /*
- * Make sure there is no NXT record for this node.
- */
- result = dns_db_deleterdataset(db, node, version,
- dns_rdatatype_nxt, 0);
- if (result == DNS_R_UNCHANGED)
- result = ISC_R_SUCCESS;
- check_result(result, "dns_db_deleterdataset");
- }
-
- return (active);
-}
-
-static inline isc_result_t
-next_active(dns_db_t *db, dns_dbversion_t *version, dns_dbiterator_t *dbiter,
- dns_name_t *name, dns_dbnode_t **nodep)
-{
- isc_result_t result;
- isc_boolean_t active;
-
- do {
- active = ISC_FALSE;
- result = dns_dbiterator_current(dbiter, nodep, name);
- if (result == ISC_R_SUCCESS) {
- active = active_node(db, version, *nodep);
- if (!active) {
- dns_db_detachnode(db, nodep);
- result = dns_dbiterator_next(dbiter);
- }
- }
- } while (result == ISC_R_SUCCESS && !active);
-
- return (result);
-}
-
-static void
-nxtify(char *filename) {
- isc_result_t result;
- dns_db_t *db;
- dns_dbversion_t *wversion;
- dns_dbnode_t *node, *nextnode;
- char *origintext;
- dns_fixedname_t fname, fnextname;
- dns_name_t *name, *nextname, *target;
- isc_buffer_t b;
- size_t len;
- dns_dbiterator_t *dbiter;
- char newfilename[1024];
-
- dns_fixedname_init(&fname);
- name = dns_fixedname_name(&fname);
- dns_fixedname_init(&fnextname);
- nextname = dns_fixedname_name(&fnextname);
-
- origintext = strrchr(filename, '/');
- if (origintext == NULL)
- origintext = filename;
- else
- origintext++; /* Skip '/'. */
- len = strlen(origintext);
- isc_buffer_init(&b, origintext, len);
- isc_buffer_add(&b, len);
- result = dns_name_fromtext(name, &b, dns_rootname, ISC_FALSE, NULL);
- check_result(result, "dns_name_fromtext()");
-
- db = NULL;
- result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone,
- dns_rdataclass_in, 0, NULL, &db);
- check_result(result, "dns_db_create()");
- result = dns_db_load(db, filename);
- if (result == DNS_R_SEENINCLUDE)
- result = ISC_R_SUCCESS;
- check_result(result, "dns_db_load()");
- wversion = NULL;
- result = dns_db_newversion(db, &wversion);
- check_result(result, "dns_db_newversion()");
- dbiter = NULL;
- result = dns_db_createiterator(db, ISC_FALSE, &dbiter);
- check_result(result, "dns_db_createiterator()");
- result = dns_dbiterator_first(dbiter);
- node = NULL;
- result = next_active(db, wversion, dbiter, name, &node);
- while (result == ISC_R_SUCCESS) {
- nextnode = NULL;
- result = dns_dbiterator_next(dbiter);
- if (result == ISC_R_SUCCESS)
- result = next_active(db, wversion, dbiter, nextname,
- &nextnode);
- if (result == ISC_R_SUCCESS)
- target = nextname;
- else if (result == ISC_R_NOMORE)
- target = dns_db_origin(db);
- else {
- target = NULL; /* Make compiler happy. */
- fatal("db iteration failed");
- }
- dns_nxt_build(db, wversion, node, target, 3600); /* XXX BEW */
- dns_db_detachnode(db, &node);
- node = nextnode;
- }
- if (result != ISC_R_NOMORE)
- fatal("db iteration failed");
- dns_dbiterator_destroy(&dbiter);
- /*
- * XXXRTH For now, we don't increment the SOA serial.
- */
- dns_db_closeversion(db, &wversion, ISC_TRUE);
- len = strlen(filename);
- if (len + 4 + 1 > sizeof newfilename)
- fatal("filename too long");
- snprintf(newfilename, sizeof(newfilename), "%s.new", filename);
- result = dns_db_dump(db, NULL, newfilename);
- check_result(result, "dns_db_dump");
- dns_db_detach(&db);
-}
-
-int
-main(int argc, char *argv[]) {
- int i;
- isc_result_t result;
-
- dns_result_register();
-
- result = isc_mem_create(0, 0, &mctx);
- check_result(result, "isc_mem_create()");
-
- argc--;
- argv++;
-
- for (i = 0; i < argc; i++)
- nxtify(argv[i]);
-
- /* isc_mem_stats(mctx, stdout); */
- isc_mem_destroy(&mctx);
-
- return (0);
-}
diff --git a/usr.sbin/bind/bin/tests/system/stress/ns1/root.db b/usr.sbin/bind/bin/tests/system/stress/ns1/root.db
deleted file mode 100644
index b34dcda1a4d..00000000000
--- a/usr.sbin/bind/bin/tests/system/stress/ns1/root.db
+++ /dev/null
@@ -1,57 +0,0 @@
-; Copyright (C) 2000, 2001 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 INTERNET SOFTWARE CONSORTIUM
-; DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-; INTERNET SOFTWARE CONSORTIUM 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.
-
-; $ISC: root.db,v 1.2 2001/01/09 21:44:49 bwelling Exp $
-
- 300
-. IN SOA gson.nominum.com. a.root.servers.nil. (
- 2000042100 ; serial
- 600 ; refresh
- 600 ; retry
- 1200 ; expire
- 600 ; minimum
- )
-. NS a.root-servers.nil.
-a.root-servers.nil. A 10.53.0.1
-zone000000.example. NS ns2.zone000000.example.
-ns2.zone000000.example. A 10.53.0.2
-zone000000.example. NS ns3.zone000000.example.
-ns3.zone000000.example. A 10.53.0.3
-zone000000.example. NS ns4.zone000000.example.
-ns4.zone000000.example. A 10.53.0.4
-zone000001.example. NS ns2.zone000001.example.
-ns2.zone000001.example. A 10.53.0.2
-zone000001.example. NS ns3.zone000001.example.
-ns3.zone000001.example. A 10.53.0.3
-zone000001.example. NS ns4.zone000001.example.
-ns4.zone000001.example. A 10.53.0.4
-zone000002.example. NS ns2.zone000002.example.
-ns2.zone000002.example. A 10.53.0.2
-zone000002.example. NS ns3.zone000002.example.
-ns3.zone000002.example. A 10.53.0.3
-zone000002.example. NS ns4.zone000002.example.
-ns4.zone000002.example. A 10.53.0.4
-zone000003.example. NS ns2.zone000003.example.
-ns2.zone000003.example. A 10.53.0.2
-zone000003.example. NS ns3.zone000003.example.
-ns3.zone000003.example. A 10.53.0.3
-zone000003.example. NS ns4.zone000003.example.
-ns4.zone000003.example. A 10.53.0.4
-zone000004.example. NS ns2.zone000004.example.
-ns2.zone000004.example. A 10.53.0.2
-zone000004.example. NS ns3.zone000004.example.
-ns3.zone000004.example. A 10.53.0.3
-zone000004.example. NS ns4.zone000004.example.
-ns4.zone000004.example. A 10.53.0.4
diff --git a/usr.sbin/bind/bin/tests/system/xfer/knowngood.dig.out b/usr.sbin/bind/bin/tests/system/xfer/knowngood.dig.out
deleted file mode 100644
index 199398a2f9e..00000000000
--- a/usr.sbin/bind/bin/tests/system/xfer/knowngood.dig.out
+++ /dev/null
@@ -1,105 +0,0 @@
-example. 300 IN SOA ns2.example. hostmaster.example. 2000042795 20 20 1814400 3600
-example. 300 IN NS ns2.example.
-example. 300 IN NS ns3.example.
-*.example. 300 IN MX 10 mail.example.
-a.example. 300 IN TXT "foo foo foo"
-a.example. 300 IN PTR foo.net.
-a01.example. 3600 IN A 0.0.0.0
-a02.example. 3600 IN A 255.255.255.255
-a601.example. 3600 IN A6 0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
-a601.example. 3600 IN A6 64 ::ffff:ffff:ffff:ffff foo.
-a601.example. 3600 IN A6 127 ::1 foo.
-a601.example. 3600 IN A6 128 .
-afsdb01.example. 3600 IN AFSDB 0 hostname.example.
-afsdb02.example. 3600 IN AFSDB 65535 .
-b.example. 300 IN CNAME foo.net.
-c.example. 300 IN A 73.80.65.49
-cert01.example. 3600 IN CERT 65534 65535 PRIVATEOID MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6V AuHAoNUz4YoU1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY=
-cname01.example. 3600 IN CNAME cname-target.
-cname02.example. 3600 IN CNAME cname-target.example.
-cname03.example. 3600 IN CNAME .
-d.example. 300 IN A 73.80.65.49
-dname01.example. 3600 IN DNAME dname-target.
-dname02.example. 3600 IN DNAME dname-target.example.
-dname03.example. 3600 IN DNAME .
-e.example. 300 IN MX 10 mail.example.
-e.example. 300 IN TXT "one"
-e.example. 300 IN TXT "three"
-e.example. 300 IN TXT "two"
-e.example. 300 IN A 73.80.65.49
-e.example. 300 IN A 73.80.65.50
-e.example. 300 IN A 73.80.65.52
-e.example. 300 IN A 73.80.65.51
-f.example. 300 IN A 73.80.65.52
-gpos01.example. 3600 IN GPOS "-22.6882" "116.8652" "250.0"
-gpos02.example. 3600 IN GPOS "" "" ""
-hinfo01.example. 3600 IN HINFO "Generic PC clone" "NetBSD-1.4"
-hinfo02.example. 3600 IN HINFO "PC" "NetBSD"
-isdn01.example. 3600 IN ISDN "isdn-address"
-isdn02.example. 3600 IN ISDN "isdn-address" "subaddress"
-isdn03.example. 3600 IN ISDN "isdn-address"
-isdn04.example. 3600 IN ISDN "isdn-address" "subaddress"
-key01.example. 3600 IN KEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aRyzWZriO6i2od GWWQVucZqKVsENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esga60z yGW6LFe9r8n6paHrlG5ojqf0BaqHT+8=
-kx01.example. 3600 IN KX 10 kdc.example.
-kx02.example. 3600 IN KX 10 .
-loc01.example. 3600 IN LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-loc02.example. 3600 IN LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-mb01.example. 3600 IN MG madname.example.
-mb02.example. 3600 IN MG .
-md01.example. 3600 IN MD madname.example.
-md01.example. 3600 IN MD .
-mf01.example. 3600 IN MF madname.example.
-mf01.example. 3600 IN MF .
-mg01.example. 3600 IN MG mgmname.example.
-mg02.example. 3600 IN MG .
-minfo01.example. 3600 IN MINFO rmailbx.example. emailbx.example.
-minfo02.example. 3600 IN MINFO . .
-mr01.example. 3600 IN MR mrname.example.
-mr02.example. 3600 IN MR .
-mx01.example. 3600 IN MX 10 mail.example.
-mx02.example. 3600 IN MX 10 .
-naptr01.example. 3600 IN NAPTR 0 0 "" "" "" .
-naptr02.example. 3600 IN NAPTR 65535 65535 "blurgh" "blorf" "blegh" foo.
-ns2.example. 300 IN A 10.53.0.2
-ns3.example. 300 IN A 10.53.0.3
-nsap-ptr01.example. 3600 IN NSAP-PTR foo.
-nsap-ptr01.example. 3600 IN NSAP-PTR .
-nsap01.example. 3600 IN NSAP 0x47000580005a0000000001e133ffffff00016100
-nsap02.example. 3600 IN NSAP 0x47000580005a0000000001e133ffffff00016100
-nxt01.example. 3600 IN NXT a.secure.example. NS SOA MX SIG KEY LOC NXT
-nxt02.example. 3600 IN NXT . NSAP-PTR NXT
-nxt03.example. 3600 IN NXT . A
-nxt04.example. 3600 IN NXT . 127
-ptr01.example. 3600 IN PTR example.
-px01.example. 3600 IN PX 65535 foo. bar.
-px02.example. 3600 IN PX 65535 . .
-rp01.example. 3600 IN RP mbox-dname.example. txt-dname.example.
-rp02.example. 3600 IN RP . .
-rt01.example. 3600 IN RT 0 intermediate-host.example.
-rt02.example. 3600 IN RT 65535 .
-s.example. 300 IN NS ns.s.example.
-ns.s.example. 300 IN A 73.80.65.49
-sig01.example. 3600 IN SIG NXT 1 3 3600 20000102030405 19961211100908 2143 foo.example. MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6V AuHAoNUz4YoU1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY=
-srv01.example. 3600 IN SRV 0 0 0 .
-srv02.example. 3600 IN SRV 65535 65535 65535 old-slow-box.example.com.
-t.example. 301 IN A 73.80.65.49
-txt01.example. 3600 IN TXT "foo"
-txt02.example. 3600 IN TXT "foo" "bar"
-txt03.example. 3600 IN TXT "foo"
-txt04.example. 3600 IN TXT "foo" "bar"
-txt05.example. 3600 IN TXT "foo bar"
-txt06.example. 3600 IN TXT "foo bar"
-txt07.example. 3600 IN TXT "foo bar"
-txt08.example. 3600 IN TXT "foo\010bar"
-txt09.example. 3600 IN TXT "foo\010bar"
-txt10.example. 3600 IN TXT "foo bar"
-txt11.example. 3600 IN TXT "\"foo\""
-txt12.example. 3600 IN TXT "\"foo\""
-u.example. 300 IN TXT "txt-not-in-nxt"
-a.u.example. 300 IN A 73.80.65.49
-b.u.example. 300 IN A 73.80.65.49
-wks01.example. 3600 IN WKS 10.0.0.1 6 0 1 2 21 23
-wks02.example. 3600 IN WKS 10.0.0.1 17 0 1 2 53
-wks03.example. 3600 IN WKS 10.0.0.2 6 65535
-x2501.example. 3600 IN X25 "123456789"
-example. 300 IN SOA ns2.example. hostmaster.example. 2000042795 20 20 1814400 3600
diff --git a/usr.sbin/bind/bin/tests/system/xfer/ns2/example.db b/usr.sbin/bind/bin/tests/system/xfer/ns2/example.db
deleted file mode 100644
index fe180a771f0..00000000000
--- a/usr.sbin/bind/bin/tests/system/xfer/ns2/example.db
+++ /dev/null
@@ -1,159 +0,0 @@
-; Copyright (C) 2000, 2001 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 INTERNET SOFTWARE CONSORTIUM
-; DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-; INTERNET SOFTWARE CONSORTIUM 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.
-
-; $ISC: example.db,v 1.7 2001/01/09 21:45:49 bwelling Exp $
-
-$ORIGIN .
-$TTL 300 ; 5 minutes
-example IN SOA ns2.example. hostmaster.example. (
- 2000042795 ; serial
- 20 ; refresh (20 seconds)
- 20 ; retry (20 seconds)
- 1814400 ; expire (3 weeks)
- 3600 ; minimum (1 hour)
- )
-example. NS ns2.example.
-ns2.example. A 10.53.0.2
-example. NS ns3.example.
-ns3.example. A 10.53.0.3
-
-$ORIGIN example.
-* MX 10 mail
-a TXT "foo foo foo"
- PTR foo.net.
-$TTL 3600 ; 1 hour
-a01 A 0.0.0.0
-a02 A 255.255.255.255
-a601 A6 0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
- A6 64 ::ffff:ffff:ffff:ffff foo.
- A6 127 ::1 foo.
- A6 128 .
-afsdb01 AFSDB 0 hostname
-afsdb02 AFSDB 65535 .
-$TTL 300 ; 5 minutes
-b CNAME foo.net.
-c A 73.80.65.49
-$TTL 3600 ; 1 hour
-cert01 CERT 65534 65535 PRIVATEOID (
- MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi
- WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl
- d80jEeC8aTrO+KKmCaY= )
-cname01 CNAME cname-target.
-cname02 CNAME cname-target
-cname03 CNAME .
-$TTL 300 ; 5 minutes
-d A 73.80.65.49
-$TTL 3600 ; 1 hour
-dname01 DNAME dname-target.
-dname02 DNAME dname-target
-dname03 DNAME .
-$TTL 300 ; 5 minutes
-e MX 10 mail
- TXT "one"
- TXT "three"
- TXT "two"
- A 73.80.65.49
- A 73.80.65.50
- A 73.80.65.52
- A 73.80.65.51
-f A 73.80.65.52
-$TTL 3600 ; 1 hour
-gpos01 GPOS "-22.6882" "116.8652" "250.0"
-gpos02 GPOS "" "" ""
-hinfo01 HINFO "Generic PC clone" "NetBSD-1.4"
-hinfo02 HINFO "PC" "NetBSD"
-isdn01 ISDN "isdn-address"
-isdn02 ISDN "isdn-address" "subaddress"
-isdn03 ISDN "isdn-address"
-isdn04 ISDN "isdn-address" "subaddress"
-key01 KEY 512 255 1 (
- AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR
- yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3
- GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o
- jqf0BaqHT+8= )
-kx01 KX 10 kdc
-kx02 KX 10 .
-loc01 LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-loc02 LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-mb01 MG madname
-mb02 MG .
-md01 MD madname
- MD .
-mf01 MF madname
- MF .
-mg01 MG mgmname
-mg02 MG .
-minfo01 MINFO rmailbx emailbx
-minfo02 MINFO . .
-mr01 MR mrname
-mr02 MR .
-mx01 MX 10 mail
-mx02 MX 10 .
-naptr01 NAPTR 0 0 "" "" "" .
-naptr02 NAPTR 65535 65535 "blurgh" "blorf" "blegh" foo.
-nsap-ptr01 NSAP-PTR foo.
- NSAP-PTR .
-nsap01 NSAP 0x47000580005a0000000001e133ffffff00016100
-nsap02 NSAP 0x47000580005a0000000001e133ffffff00016100
-nxt01 NXT a.secure ( NS SOA MX SIG KEY LOC NXT )
-nxt02 NXT . ( NSAP-PTR NXT )
-nxt03 NXT . ( A )
-nxt04 NXT . ( 127 )
-ptr01 PTR example.
-px01 PX 65535 foo. bar.
-px02 PX 65535 . .
-rp01 RP mbox-dname txt-dname
-rp02 RP . .
-rt01 RT 0 intermediate-host
-rt02 RT 65535 .
-$TTL 300 ; 5 minutes
-s NS ns.s
-$ORIGIN s.example.
-ns A 73.80.65.49
-$ORIGIN example.
-$TTL 3600 ; 1 hour
-sig01 SIG NXT 1 3 3600 20000102030405 (
- 19961211100908 2143 foo
- MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi
- WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl
- d80jEeC8aTrO+KKmCaY= )
-srv01 SRV 0 0 0 .
-srv02 SRV 65535 65535 65535 old-slow-box.example.com.
-$TTL 301 ; 5 minutes 1 second
-t A 73.80.65.49
-$TTL 3600 ; 1 hour
-txt01 TXT "foo"
-txt02 TXT "foo" "bar"
-txt03 TXT "foo"
-txt04 TXT "foo" "bar"
-txt05 TXT "foo bar"
-txt06 TXT "foo bar"
-txt07 TXT "foo bar"
-txt08 TXT "foo\010bar"
-txt09 TXT "foo\010bar"
-txt10 TXT "foo bar"
-txt11 TXT "\"foo\""
-txt12 TXT "\"foo\""
-$TTL 300 ; 5 minutes
-u TXT "txt-not-in-nxt"
-$ORIGIN u.example.
-a A 73.80.65.49
-b A 73.80.65.49
-$ORIGIN example.
-$TTL 3600 ; 1 hour
-wks01 WKS 10.0.0.1 6 ( 0 1 2 21 23 )
-wks02 WKS 10.0.0.1 17 ( 0 1 2 53 )
-wks03 WKS 10.0.0.2 6 ( 65535 )
-x2501 X25 "123456789"
diff --git a/usr.sbin/bind/bin/tests/system/xfer/ns2/tsigzone.db b/usr.sbin/bind/bin/tests/system/xfer/ns2/tsigzone.db
deleted file mode 100644
index c84a64882a9..00000000000
--- a/usr.sbin/bind/bin/tests/system/xfer/ns2/tsigzone.db
+++ /dev/null
@@ -1,159 +0,0 @@
-; Copyright (C) 2000, 2001 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 INTERNET SOFTWARE CONSORTIUM
-; DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-; INTERNET SOFTWARE CONSORTIUM 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.
-
-; $ISC: tsigzone.db,v 1.6 2001/01/09 21:45:53 bwelling Exp $
-
-$ORIGIN .
-$TTL 300 ; 5 minutes
-tsigzone IN SOA ns2.tsigzone. hostmaster.tsigzone. (
- 2000042795 ; serial
- 20 ; refresh (20 seconds)
- 20 ; retry (20 seconds)
- 1814400 ; expire (3 weeks)
- 3600 ; minimum (1 hour)
- )
-tsigzone. NS ns2.tsigzone.
-ns2.tsigzone. A 10.53.0.2
-tsigzone. NS ns3.tsigzone.
-ns3.tsigzone. A 10.53.0.3
-
-$ORIGIN tsigzone.
-* MX 10 mail
-a TXT "foo foo foo"
- PTR foo.net.
-$TTL 3600 ; 1 hour
-a01 A 0.0.0.0
-a02 A 255.255.255.255
-a601 A6 0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
- A6 64 ::ffff:ffff:ffff:ffff foo.
- A6 127 ::1 foo.
- A6 128 .
-afsdb01 AFSDB 0 hostname
-afsdb02 AFSDB 65535 .
-$TTL 300 ; 5 minutes
-b CNAME foo.net.
-c A 73.80.65.49
-$TTL 3600 ; 1 hour
-cert01 CERT 65534 65535 PRIVATEOID (
- MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi
- WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl
- d80jEeC8aTrO+KKmCaY= )
-cname01 CNAME cname-target.
-cname02 CNAME cname-target
-cname03 CNAME .
-$TTL 300 ; 5 minutes
-d A 73.80.65.49
-$TTL 3600 ; 1 hour
-dname01 DNAME dname-target.
-dname02 DNAME dname-target
-dname03 DNAME .
-$TTL 300 ; 5 minutes
-e MX 10 mail
- TXT "one"
- TXT "three"
- TXT "two"
- A 73.80.65.49
- A 73.80.65.50
- A 73.80.65.52
- A 73.80.65.51
-f A 73.80.65.52
-$TTL 3600 ; 1 hour
-gpos01 GPOS "-22.6882" "116.8652" "250.0"
-gpos02 GPOS "" "" ""
-hinfo01 HINFO "Generic PC clone" "NetBSD-1.4"
-hinfo02 HINFO "PC" "NetBSD"
-isdn01 ISDN "isdn-address"
-isdn02 ISDN "isdn-address" "subaddress"
-isdn03 ISDN "isdn-address"
-isdn04 ISDN "isdn-address" "subaddress"
-key01 KEY 512 255 1 (
- AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aR
- yzWZriO6i2odGWWQVucZqKVsENW91IOW4vqudngPZsY3
- GvQ/xVA8/7pyFj6b7Esga60zyGW6LFe9r8n6paHrlG5o
- jqf0BaqHT+8= )
-kx01 KX 10 kdc
-kx02 KX 10 .
-loc01 LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-loc02 LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m
-mb01 MG madname
-mb02 MG .
-md01 MD madname
- MD .
-mf01 MF madname
- MF .
-mg01 MG mgmname
-mg02 MG .
-minfo01 MINFO rmailbx emailbx
-minfo02 MINFO . .
-mr01 MR mrname
-mr02 MR .
-mx01 MX 10 mail
-mx02 MX 10 .
-naptr01 NAPTR 0 0 "" "" "" .
-naptr02 NAPTR 65535 65535 "blurgh" "blorf" "blegh" foo.
-nsap-ptr01 NSAP-PTR foo.
- NSAP-PTR .
-nsap01 NSAP 0x47000580005a0000000001e133ffffff00016100
-nsap02 NSAP 0x47000580005a0000000001e133ffffff00016100
-nxt01 NXT a.secure ( NS SOA MX SIG KEY LOC NXT )
-nxt02 NXT . ( NSAP-PTR NXT )
-nxt03 NXT . ( A )
-nxt04 NXT . ( 127 )
-ptr01 PTR tsigzone.
-px01 PX 65535 foo. bar.
-px02 PX 65535 . .
-rp01 RP mbox-dname txt-dname
-rp02 RP . .
-rt01 RT 0 intermediate-host
-rt02 RT 65535 .
-$TTL 300 ; 5 minutes
-s NS ns.s
-$ORIGIN s.tsigzone.
-ns A 73.80.65.49
-$ORIGIN tsigzone.
-$TTL 3600 ; 1 hour
-sig01 SIG NXT 1 3 3600 20000102030405 (
- 19961211100908 2143 foo
- MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgi
- WCn/GxHhai6VAuHAoNUz4YoU1tVfSCSqQYn6//11U6Nl
- d80jEeC8aTrO+KKmCaY= )
-srv01 SRV 0 0 0 .
-srv02 SRV 65535 65535 65535 old-slow-box.tsigzone.com.
-$TTL 301 ; 5 minutes 1 second
-t A 73.80.65.49
-$TTL 3600 ; 1 hour
-txt01 TXT "foo"
-txt02 TXT "foo" "bar"
-txt03 TXT "foo"
-txt04 TXT "foo" "bar"
-txt05 TXT "foo bar"
-txt06 TXT "foo bar"
-txt07 TXT "foo bar"
-txt08 TXT "foo\010bar"
-txt09 TXT "foo\010bar"
-txt10 TXT "foo bar"
-txt11 TXT "\"foo\""
-txt12 TXT "\"foo\""
-$TTL 300 ; 5 minutes
-u TXT "txt-not-in-nxt"
-$ORIGIN u.tsigzone.
-a A 73.80.65.49
-b A 73.80.65.49
-$ORIGIN tsigzone.
-$TTL 3600 ; 1 hour
-wks01 WKS 10.0.0.1 6 ( 0 1 2 21 23 )
-wks02 WKS 10.0.0.1 17 ( 0 1 2 53 )
-wks03 WKS 10.0.0.2 6 ( 65535 )
-x2501 X25 "123456789"
diff --git a/usr.sbin/bind/lib/dns/a6.c b/usr.sbin/bind/lib/dns/a6.c
deleted file mode 100644
index c946ee5dfa8..00000000000
--- a/usr.sbin/bind/lib/dns/a6.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: a6.c,v 1.20 2001/06/04 19:32:54 tale Exp $ */
-
-#include <config.h>
-
-#include <isc/util.h>
-
-#include <dns/a6.h>
-#include <dns/name.h>
-#include <dns/rdata.h>
-#include <dns/rdataset.h>
-
-#define A6CONTEXT_MAGIC ISC_MAGIC('A', '6', 'X', 'X')
-#define VALID_A6CONTEXT(ac) ISC_MAGIC_VALID(ac, A6CONTEXT_MAGIC)
-
-#define MAX_CHAINS 8
-#define MAX_DEPTH 16
-
-static inline void
-maybe_disassociate(dns_rdataset_t *rdataset) {
- if (dns_rdataset_isassociated(rdataset))
- dns_rdataset_disassociate(rdataset);
-}
-
-static isc_result_t
-foreach(dns_a6context_t *a6ctx, dns_rdataset_t *parent, unsigned int depth,
- unsigned int oprefixlen)
-{
- dns_rdata_t rdata = DNS_RDATA_INIT;
- isc_region_t r;
- dns_name_t name;
- dns_rdataset_t child;
- dns_rdataset_t childsig;
- isc_result_t result;
- isc_uint8_t prefixlen, octets;
- isc_bitstring_t bitstring;
- isc_stdtime_t expiration;
-
- expiration = a6ctx->now + parent->ttl;
- if (expiration < a6ctx->expiration || a6ctx->expiration == 0)
- a6ctx->expiration = expiration;
-
- depth++;
- result = dns_rdataset_first(parent);
- while (result == ISC_R_SUCCESS) {
- dns_rdataset_current(parent, &rdata);
- dns_rdata_toregion(&rdata, &r);
- prefixlen = r.base[0];
- if (prefixlen > oprefixlen) {
- /*
- * Trying to go to a longer prefix is illegal.
- */
- goto next_a6;
- }
- if (prefixlen < 128) {
- isc_bitstring_init(&bitstring, &r.base[1],
- 128 - prefixlen, 128 - prefixlen,
- ISC_TRUE);
- isc_bitstring_copy(&bitstring, 128 - oprefixlen,
- &a6ctx->bitstring, 128 - oprefixlen,
- oprefixlen - prefixlen);
- }
- octets = 16 - prefixlen / 8;
- if (prefixlen != 0) {
- if (depth < MAX_DEPTH) {
- isc_region_consume(&r, octets + 1);
- dns_name_init(&name, NULL);
- dns_name_fromregion(&name, &r);
- dns_rdataset_init(&child);
- dns_rdataset_init(&childsig);
- result = (a6ctx->find)(a6ctx->arg, &name,
- dns_rdatatype_a6,
- a6ctx->now,
- &child, &childsig);
- if (result == ISC_R_SUCCESS) {
- /*
- * We've found a new A6 rrset.
- */
- if (a6ctx->rrset != NULL)
- (a6ctx->rrset)(a6ctx->arg,
- &name,
- &child,
- &childsig);
- /*
- * Keep following the chain.
- */
- result = foreach(a6ctx, &child, depth,
- prefixlen);
- dns_rdataset_disassociate(&child);
- maybe_disassociate(&childsig);
- if (result != ISC_R_SUCCESS)
- break;
- } else if (result == ISC_R_NOTFOUND &&
- a6ctx->missing != NULL) {
- /*
- * We can't follow this chain, because
- * we don't know the next link.
- *
- * We update the 'depth' and
- * 'prefixlen' values so that the
- * missing function can make a copy
- * of the a6context and resume
- * processing after it has found the
- * missing a6 context.
- */
- a6ctx->depth = depth;
- a6ctx->prefixlen = prefixlen;
- (a6ctx->missing)(a6ctx, &name);
- } else {
- /*
- * Either something went wrong, or
- * we got a negative cache response.
- * In either case, we can't follow
- * this chain further, and we don't
- * want to call the 'missing'
- * function.
- *
- * Note that we currently require that
- * the target of an A6 record is
- * a canonical domain name. If the
- * find routine returns DNS_R_CNAME or
- * DNS_R_DNAME, we do NOT follow the
- * chain.
- *
- * We do want to clean up...
- */
- maybe_disassociate(&child);
- maybe_disassociate(&childsig);
- }
- }
- } else {
- /*
- * We have a complete chain.
- */
- if (a6ctx->address != NULL)
- (a6ctx->address)(a6ctx);
- }
- next_a6:
- dns_rdata_reset(&rdata);
- result = dns_rdataset_next(parent);
- if (result == ISC_R_SUCCESS) {
- a6ctx->chains++;
- if (a6ctx->chains > MAX_CHAINS)
- return (ISC_R_QUOTA);
- }
- }
- if (result != ISC_R_NOMORE)
- return (result);
- return (ISC_R_SUCCESS);
-}
-
-void
-dns_a6_init(dns_a6context_t *a6ctx, dns_findfunc_t find, dns_rrsetfunc_t rrset,
- dns_in6addrfunc_t address, dns_a6missingfunc_t missing, void *arg)
-{
- REQUIRE(a6ctx != NULL);
- REQUIRE(find != NULL);
-
- a6ctx->magic = A6CONTEXT_MAGIC;
- a6ctx->find = find;
- a6ctx->rrset = rrset;
- a6ctx->missing = missing;
- a6ctx->address = address;
- a6ctx->arg = arg;
- a6ctx->chains = 1;
- a6ctx->depth = 0;
- a6ctx->now = 0;
- a6ctx->expiration = 0;
- a6ctx->prefixlen = 128;
- isc_bitstring_init(&a6ctx->bitstring,
- (unsigned char *)a6ctx->in6addr.s6_addr,
- 128, 128, ISC_TRUE);
-}
-
-void
-dns_a6_reset(dns_a6context_t *a6ctx) {
- REQUIRE(VALID_A6CONTEXT(a6ctx));
-
- a6ctx->chains = 1;
- a6ctx->depth = 0;
- a6ctx->expiration = 0;
- a6ctx->prefixlen = 128;
-}
-
-void
-dns_a6_invalidate(dns_a6context_t *a6ctx) {
- REQUIRE(VALID_A6CONTEXT(a6ctx));
-
- a6ctx->magic = 0;
-}
-
-void
-dns_a6_copy(dns_a6context_t *source, dns_a6context_t *target) {
- REQUIRE(VALID_A6CONTEXT(source));
- REQUIRE(VALID_A6CONTEXT(target));
-
- *target = *source;
- isc_bitstring_init(&target->bitstring,
- (unsigned char *)target->in6addr.s6_addr,
- 128, 128, ISC_TRUE);
-}
-
-isc_result_t
-dns_a6_foreach(dns_a6context_t *a6ctx, dns_rdataset_t *rdataset,
- isc_stdtime_t now)
-{
- isc_result_t result;
-
- REQUIRE(VALID_A6CONTEXT(a6ctx));
- REQUIRE(rdataset->type == dns_rdatatype_a6);
-
- if (now == 0)
- isc_stdtime_get(&now);
- a6ctx->now = now;
-
- result = foreach(a6ctx, rdataset, a6ctx->depth, a6ctx->prefixlen);
- if (result == ISC_R_QUOTA)
- result = ISC_R_SUCCESS;
-
- return (result);
-}
diff --git a/usr.sbin/bind/lib/dns/include/dns/a6.h b/usr.sbin/bind/lib/dns/include/dns/a6.h
deleted file mode 100644
index c360cfff88c..00000000000
--- a/usr.sbin/bind/lib/dns/include/dns/a6.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: a6.h,v 1.11 2001/01/09 21:52:14 bwelling Exp $ */
-
-#ifndef DNS_A6_H
-#define DNS_A6_H 1
-
-#include <isc/lang.h>
-#include <isc/stdtime.h>
-#include <isc/bitstring.h>
-#include <isc/net.h>
-
-#include <dns/types.h>
-
-typedef isc_result_t (*dns_findfunc_t)(void *arg, dns_name_t *name,
- dns_rdatatype_t type,
- isc_stdtime_t now,
- dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset);
-
-typedef void (*dns_rrsetfunc_t)(void *arg, dns_name_t *name,
- dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset);
-
-typedef void (*dns_in6addrfunc_t)(dns_a6context_t *a6ctx);
-
-typedef void (*dns_a6missingfunc_t)(dns_a6context_t *a6ctx, dns_name_t *name);
-
-struct dns_a6context {
- unsigned int magic;
- /* Public. */
- dns_findfunc_t find;
- dns_rrsetfunc_t rrset;
- dns_in6addrfunc_t address;
- dns_a6missingfunc_t missing;
- void * arg;
- unsigned int chains;
- unsigned int depth;
- isc_stdtime_t now;
- isc_stdtime_t expiration;
- unsigned int prefixlen;
- struct in6_addr in6addr;
- isc_bitstring_t bitstring;
-};
-
-ISC_LANG_BEGINDECLS
-
-void
-dns_a6_init(dns_a6context_t *a6ctx, dns_findfunc_t find, dns_rrsetfunc_t rrset,
- dns_in6addrfunc_t address, dns_a6missingfunc_t missing, void *arg);
-
-void
-dns_a6_reset(dns_a6context_t *a6ctx);
-
-void
-dns_a6_invalidate(dns_a6context_t *a6ctx);
-
-void
-dns_a6_copy(dns_a6context_t *source, dns_a6context_t *target);
-
-isc_result_t
-dns_a6_foreach(dns_a6context_t *a6ctx, dns_rdataset_t *rdataset,
- isc_stdtime_t now);
-
-ISC_LANG_ENDDECLS
-
-#endif /* DNS_A6_H */
diff --git a/usr.sbin/bind/lib/dns/include/dns/nxt.h b/usr.sbin/bind/lib/dns/include/dns/nxt.h
deleted file mode 100644
index ebce8121895..00000000000
--- a/usr.sbin/bind/lib/dns/include/dns/nxt.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: nxt.h,v 1.12 2001/01/09 21:53:08 bwelling Exp $ */
-
-#ifndef DNS_NXT_H
-#define DNS_NXT_H 1
-
-#include <isc/lang.h>
-
-#include <dns/types.h>
-
-#define DNS_NXT_BUFFERSIZE (256 + 16)
-
-ISC_LANG_BEGINDECLS
-
-isc_result_t
-dns_nxt_buildrdata(dns_db_t *db, dns_dbversion_t *version,
- dns_dbnode_t *node, dns_name_t *target,
- unsigned char *buffer, dns_rdata_t *rdata);
-/*
- * Build the rdata of a NXT record.
- *
- * Requires:
- * buffer Points to a temporary buffer of at least
- * DNS_NXT_BUFFERSIZE bytes.
- * rdata Points to an initialized dns_rdata_t.
- *
- * Ensures:
- * *rdata Contains a valid NXT rdata. The 'data' member refers
- * to 'buffer'.
- */
-
-isc_result_t
-dns_nxt_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
- dns_name_t *target, dns_ttl_t ttl);
-/*
- * Build a NXT record and add it to a database.
- */
-
-isc_boolean_t
-dns_nxt_typepresent(dns_rdata_t *nxt, dns_rdatatype_t type);
-/*
- * Determine if a type is marked as present in an NXT record.
- *
- * Requires:
- * 'nxt' points to a valid rdataset of type NXT
- * 'type' < 128
- *
- */
-
-ISC_LANG_ENDDECLS
-
-#endif /* DNS_NXT_H */
diff --git a/usr.sbin/bind/lib/dns/nxt.c b/usr.sbin/bind/lib/dns/nxt.c
deleted file mode 100644
index 00c67f291cd..00000000000
--- a/usr.sbin/bind/lib/dns/nxt.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 1999-2001, 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: nxt.c,v 1.26.2.2 2003/10/09 07:32:37 marka Exp $ */
-
-#include <config.h>
-
-#include <isc/string.h>
-#include <isc/util.h>
-
-#include <dns/db.h>
-#include <dns/nxt.h>
-#include <dns/rdata.h>
-#include <dns/rdatalist.h>
-#include <dns/rdataset.h>
-#include <dns/rdatasetiter.h>
-#include <dns/rdatastruct.h>
-#include <dns/result.h>
-
-#define RETERR(x) do { \
- result = (x); \
- if (result != ISC_R_SUCCESS) \
- goto failure; \
- } while (0)
-
-static void
-set_bit(unsigned char *array, unsigned int index, unsigned int bit) {
- unsigned int shift, mask;
-
- shift = 7 - (index % 8);
- mask = 1 << shift;
-
- if (bit != 0)
- array[index / 8] |= mask;
- else
- array[index / 8] &= (~mask & 0xFF);
-}
-
-static unsigned int
-bit_isset(unsigned char *array, unsigned int index) {
- unsigned int byte, shift, mask;
-
- byte = array[index / 8];
- shift = 7 - (index % 8);
- mask = 1 << shift;
-
- return ((byte & mask) != 0);
-}
-
-isc_result_t
-dns_nxt_buildrdata(dns_db_t *db, dns_dbversion_t *version,
- dns_dbnode_t *node, dns_name_t *target,
- unsigned char *buffer, dns_rdata_t *rdata)
-{
- isc_result_t result;
- dns_rdataset_t rdataset;
- isc_region_t r;
- int i;
-
- unsigned char *nxt_bits;
- unsigned int max_type;
- dns_rdatasetiter_t *rdsiter;
-
- memset(buffer, 0, DNS_NXT_BUFFERSIZE);
- dns_name_toregion(target, &r);
- memcpy(buffer, r.base, r.length);
- r.base = buffer;
- nxt_bits = r.base + r.length;
- set_bit(nxt_bits, dns_rdatatype_nxt, 1);
- max_type = dns_rdatatype_nxt;
- dns_rdataset_init(&rdataset);
- rdsiter = NULL;
- result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
- if (result != ISC_R_SUCCESS)
- return (result);
- for (result = dns_rdatasetiter_first(rdsiter);
- result == ISC_R_SUCCESS;
- result = dns_rdatasetiter_next(rdsiter))
- {
- dns_rdatasetiter_current(rdsiter, &rdataset);
- if (rdataset.type > 127)
- /* XXX "rdataset type too large" */
- return (ISC_R_RANGE);
- if (rdataset.type != dns_rdatatype_nxt) {
- if (rdataset.type > max_type)
- max_type = rdataset.type;
- set_bit(nxt_bits, rdataset.type, 1);
- }
- dns_rdataset_disassociate(&rdataset);
- }
-
- /*
- * At zone cuts, deny the existence of glue in the parent zone.
- */
- if (bit_isset(nxt_bits, dns_rdatatype_ns) &&
- ! bit_isset(nxt_bits, dns_rdatatype_soa)) {
- for (i = 0; i < 128; i++) {
- if (bit_isset(nxt_bits, i) &&
- ! dns_rdatatype_iszonecutauth((dns_rdatatype_t)i))
- set_bit(nxt_bits, i, 0);
- }
- }
-
- dns_rdatasetiter_destroy(&rdsiter);
- if (result != ISC_R_NOMORE)
- return (result);
-
- r.length += max_type / 8 + 1;
- INSIST(r.length <= DNS_NXT_BUFFERSIZE);
- dns_rdata_fromregion(rdata,
- dns_db_class(db),
- dns_rdatatype_nxt,
- &r);
-
- return (ISC_R_SUCCESS);
-}
-
-
-isc_result_t
-dns_nxt_build(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
- dns_name_t *target, dns_ttl_t ttl)
-{
- isc_result_t result;
- dns_rdata_t rdata = DNS_RDATA_INIT;
- unsigned char data[DNS_NXT_BUFFERSIZE];
- dns_rdatalist_t rdatalist;
- dns_rdataset_t rdataset;
-
- dns_rdataset_init(&rdataset);
- dns_rdata_init(&rdata);
-
- RETERR(dns_nxt_buildrdata(db, version, node, target, data, &rdata));
-
- rdatalist.rdclass = dns_db_class(db);
- rdatalist.type = dns_rdatatype_nxt;
- rdatalist.covers = 0;
- rdatalist.ttl = ttl;
- ISC_LIST_INIT(rdatalist.rdata);
- ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
- RETERR(dns_rdatalist_tordataset(&rdatalist, &rdataset));
- result = dns_db_addrdataset(db, node, version, 0, &rdataset,
- 0, NULL);
- if (result == DNS_R_UNCHANGED)
- result = ISC_R_SUCCESS;
- RETERR(result);
- failure:
- if (dns_rdataset_isassociated(&rdataset))
- dns_rdataset_disassociate(&rdataset);
- return (result);
-}
-
-isc_boolean_t
-dns_nxt_typepresent(dns_rdata_t *nxt, dns_rdatatype_t type) {
- dns_rdata_nxt_t nxtstruct;
- isc_result_t result;
- isc_boolean_t present;
-
- REQUIRE(nxt != NULL);
- REQUIRE(nxt->type == dns_rdatatype_nxt);
- REQUIRE(type < 128);
-
- /* This should never fail */
- result = dns_rdata_tostruct(nxt, &nxtstruct, NULL);
- INSIST(result == ISC_R_SUCCESS);
-
- if (type >= nxtstruct.len * 8)
- present = ISC_FALSE;
- else
- present = ISC_TF(bit_isset(nxtstruct.typebits, type));
- dns_rdata_freestruct(&nxt);
- return (present);
-}
diff --git a/usr.sbin/bind/lib/isccfg/check.c b/usr.sbin/bind/lib/isccfg/check.c
deleted file mode 100644
index 6c035b9cda0..00000000000
--- a/usr.sbin/bind/lib/isccfg/check.c
+++ /dev/null
@@ -1,691 +0,0 @@
-/*
- * Copyright (C) 2001-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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: check.c,v 1.14.2.21 2003/09/19 13:41:36 marka Exp $ */
-
-#include <config.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <isc/buffer.h>
-#include <isc/log.h>
-#include <isc/mem.h>
-#include <isc/netaddr.h>
-#include <isc/result.h>
-#include <isc/sockaddr.h>
-#include <isc/symtab.h>
-#include <isc/util.h>
-
-#include <dns/fixedname.h>
-
-#include <isccfg/cfg.h>
-#include <isccfg/check.h>
-
-static isc_result_t
-check_forward(cfg_obj_t *options, isc_log_t *logctx) {
- cfg_obj_t *forward = NULL;
- cfg_obj_t *forwarders = NULL;
-
- (void)cfg_map_get(options, "forward", &forward);
- (void)cfg_map_get(options, "forwarders", &forwarders);
-
- if (forward != NULL && forwarders == NULL) {
- cfg_obj_log(forward, logctx, ISC_LOG_ERROR,
- "no matching 'forwarders' statement");
- return (ISC_R_FAILURE);
- }
- return (ISC_R_SUCCESS);
-}
-
-typedef struct {
- const char *name;
- unsigned int scale;
-} intervaltable;
-
-static isc_result_t
-check_options(cfg_obj_t *options, isc_log_t *logctx) {
- isc_result_t result = ISC_R_SUCCESS;
- unsigned int i;
- cfg_obj_t *obj;
-
- static intervaltable intervals[] = {
- { "cleaning-interval", 60 },
- { "heartbeat-interval", 60 },
- { "interface-interval", 60 },
- { "max-transfer-idle-in", 60 },
- { "max-transfer-idle-out", 60 },
- { "max-transfer-time-in", 60 },
- { "max-transfer-time-out", 60 },
- { "sig-validity-interval", 86400},
- { "statistics-interval", 60 },
- };
-
- /*
- * Check that fields specified in units of time other than seconds
- * have reasonable values.
- */
- for (i = 0; i < sizeof(intervals) / sizeof(intervals[0]); i++) {
- isc_uint32_t val;
- cfg_obj_t *obj = NULL;
- (void)cfg_map_get(options, intervals[i].name, &obj);
- if (obj == NULL)
- continue;
- val = cfg_obj_asuint32(obj);
- if (val > (ISC_UINT32_MAX / intervals[i].scale)) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "%s '%d' is out of range",
- intervals[i].name, val);
- result = ISC_R_RANGE;
- }
- }
-
- obj = NULL;
- (void)cfg_map_get(options, "root-delegation-only", &obj);
- if (obj != NULL) {
- if (!cfg_obj_isvoid(obj)) {
- cfg_listelt_t *element;
- cfg_obj_t *exclude;
- char *str;
- dns_fixedname_t fixed;
- dns_name_t *name;
- isc_buffer_t b;
- isc_result_t tresult;
-
- dns_fixedname_init(&fixed);
- name = dns_fixedname_name(&fixed);
- for (element = cfg_list_first(obj);
- element != NULL;
- element = cfg_list_next(element)) {
- exclude = cfg_listelt_value(element);
- str = cfg_obj_asstring(exclude);
- isc_buffer_init(&b, str, strlen(str));
- isc_buffer_add(&b, strlen(str));
- tresult = dns_name_fromtext(name, &b,
- dns_rootname,
- ISC_FALSE, NULL);
- if (tresult != ISC_R_SUCCESS) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "bad domain name '%s'",
- str);
- result = tresult;
- }
- }
- }
- }
- return (result);
-}
-
-#define MASTERZONE 1
-#define SLAVEZONE 2
-#define STUBZONE 4
-#define HINTZONE 8
-#define FORWARDZONE 16
-#define DELEGATIONZONE 32
-
-typedef struct {
- const char *name;
- int allowed;
-} optionstable;
-
-static isc_result_t
-check_zoneconf(cfg_obj_t *zconfig, isc_symtab_t *symtab, isc_log_t *logctx,
- isc_mem_t *mctx)
-{
- const char *zname;
- const char *typestr;
- unsigned int ztype;
- cfg_obj_t *zoptions;
- cfg_obj_t *obj = NULL;
- cfg_obj_t *addrlist = NULL;
- isc_symvalue_t symvalue;
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult;
- unsigned int i;
- dns_fixedname_t fixedname;
- isc_buffer_t b;
-
- static optionstable options[] = {
- { "allow-query", MASTERZONE | SLAVEZONE | STUBZONE },
- { "allow-notify", SLAVEZONE },
- { "allow-transfer", MASTERZONE | SLAVEZONE },
- { "notify", MASTERZONE | SLAVEZONE },
- { "also-notify", MASTERZONE | SLAVEZONE },
- { "dialup", MASTERZONE | SLAVEZONE | STUBZONE },
- { "delegation-only", HINTZONE | STUBZONE },
- { "forward", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE},
- { "forwarders", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE},
- { "maintain-ixfr-base", MASTERZONE | SLAVEZONE },
- { "max-ixfr-log-size", MASTERZONE | SLAVEZONE },
- { "notify-source", MASTERZONE | SLAVEZONE },
- { "notify-source-v6", MASTERZONE | SLAVEZONE },
- { "transfer-source", SLAVEZONE | STUBZONE },
- { "transfer-source-v6", SLAVEZONE | STUBZONE },
- { "max-transfer-time-in", SLAVEZONE | STUBZONE },
- { "max-transfer-time-out", MASTERZONE | SLAVEZONE },
- { "max-transfer-idle-in", SLAVEZONE | STUBZONE },
- { "max-transfer-idle-out", MASTERZONE | SLAVEZONE },
- { "max-retry-time", SLAVEZONE | STUBZONE },
- { "min-retry-time", SLAVEZONE | STUBZONE },
- { "max-refresh-time", SLAVEZONE | STUBZONE },
- { "min-refresh-time", SLAVEZONE | STUBZONE },
- { "sig-validity-interval", MASTERZONE },
- { "zone-statistics", MASTERZONE | SLAVEZONE | STUBZONE },
- { "allow-update", MASTERZONE },
- { "allow-update-forwarding", SLAVEZONE },
- { "file", MASTERZONE | SLAVEZONE | STUBZONE | HINTZONE},
- { "ixfr-base", MASTERZONE | SLAVEZONE },
- { "ixfr-tmp-file", MASTERZONE | SLAVEZONE },
- { "masters", SLAVEZONE | STUBZONE },
- { "pubkey", MASTERZONE | SLAVEZONE | STUBZONE },
- { "update-policy", MASTERZONE },
- { "database", MASTERZONE | SLAVEZONE | STUBZONE },
- };
-
- static optionstable dialups[] = {
- { "notify", MASTERZONE | SLAVEZONE },
- { "notify-passive", SLAVEZONE },
- { "refresh", SLAVEZONE | STUBZONE },
- { "passive", SLAVEZONE | STUBZONE },
- };
-
- zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
-
- zoptions = cfg_tuple_get(zconfig, "options");
-
- obj = NULL;
- (void)cfg_map_get(zoptions, "type", &obj);
- if (obj == NULL) {
- cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR,
- "zone '%s': type not present", zname);
- return (ISC_R_FAILURE);
- }
-
- typestr = cfg_obj_asstring(obj);
- if (strcasecmp(typestr, "master") == 0)
- ztype = MASTERZONE;
- else if (strcasecmp(typestr, "slave") == 0)
- ztype = SLAVEZONE;
- else if (strcasecmp(typestr, "stub") == 0)
- ztype = STUBZONE;
- else if (strcasecmp(typestr, "forward") == 0)
- ztype = FORWARDZONE;
- else if (strcasecmp(typestr, "hint") == 0)
- ztype = HINTZONE;
- else if (strcasecmp(typestr, "delegation-only") == 0)
- ztype = DELEGATIONZONE;
- else {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "zone '%s': invalid type %s",
- zname, typestr);
- return (ISC_R_FAILURE);
- }
-
- /*
- * Look for an already existing zone.
- * We need to make this cannonical as isc_symtab_define()
- * deals with strings.
- */
- dns_fixedname_init(&fixedname);
- isc_buffer_init(&b, zname, strlen(zname));
- isc_buffer_add(&b, strlen(zname));
- result = dns_name_fromtext(dns_fixedname_name(&fixedname), &b,
- dns_rootname, ISC_TRUE, NULL);
- if (result != ISC_R_SUCCESS) {
- cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR,
- "zone '%s': is not a valid name", zname);
- result = ISC_R_FAILURE;
- } else {
- char namebuf[DNS_NAME_FORMATSIZE];
- char *key;
-
- dns_name_format(dns_fixedname_name(&fixedname),
- namebuf, sizeof(namebuf));
- key = isc_mem_strdup(mctx, namebuf);
- if (key == NULL)
- return (ISC_R_NOMEMORY);
- symvalue.as_pointer = NULL;
- tresult = isc_symtab_define(symtab, key,
- ztype == HINTZONE ? 1 : 2,
- symvalue, isc_symexists_reject);
- if (tresult == ISC_R_EXISTS) {
- isc_mem_free(mctx, key);
- cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR,
- "zone '%s': already exists ", zname);
- result = ISC_R_FAILURE;
- } else if (tresult != ISC_R_SUCCESS) {
- isc_mem_strdup(mctx, key);
- return (tresult);
- }
- }
-
- /*
- * Look for inappropriate options for the given zone type.
- */
- for (i = 0; i < sizeof(options) / sizeof(options[0]); i++) {
- obj = NULL;
- if ((options[i].allowed & ztype) == 0 &&
- cfg_map_get(zoptions, options[i].name, &obj) ==
- ISC_R_SUCCESS)
- {
- if (strcmp(options[i].name, "allow-update") != 0 ||
- ztype != SLAVEZONE) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "option '%s' is not allowed "
- "in '%s' zone '%s'",
- options[i].name, typestr, zname);
- result = ISC_R_FAILURE;
- } else
- cfg_obj_log(obj, logctx, ISC_LOG_WARNING,
- "option '%s' is not allowed "
- "in '%s' zone '%s'",
- options[i].name, typestr, zname);
- }
- }
-
- /*
- * Slave & stub zones must have a "masters" field.
- */
- if (ztype == SLAVEZONE || ztype == STUBZONE) {
- obj = NULL;
- if (cfg_map_get(zoptions, "masters", &obj) != ISC_R_SUCCESS) {
- cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR,
- "zone '%s': missing 'masters' entry",
- zname);
- result = ISC_R_FAILURE;
- } else {
- addrlist = cfg_tuple_get(obj, "addresses");
- if (cfg_list_first(addrlist) == NULL) {
- cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR,
- "zone '%s': empty 'masters' entry",
- zname);
- result = ISC_R_FAILURE;
- }
- }
- }
-
- /*
- * Master zones can't have both "allow-update" and "update-policy".
- */
- if (ztype == MASTERZONE) {
- isc_result_t res1, res2;
- obj = NULL;
- res1 = cfg_map_get(zoptions, "allow-update", &obj);
- obj = NULL;
- res2 = cfg_map_get(zoptions, "update-policy", &obj);
- if (res1 == ISC_R_SUCCESS && res2 == ISC_R_SUCCESS) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "zone '%s': 'allow-update' is ignored "
- "when 'update-policy' is present",
- zname);
- result = ISC_R_FAILURE;
- }
- }
-
- /*
- * Check the excessively complicated "dialup" option.
- */
- if (ztype == MASTERZONE || ztype == SLAVEZONE || ztype == STUBZONE) {
- cfg_obj_t *dialup = NULL;
- cfg_map_get(zoptions, "dialup", &dialup);
- if (dialup != NULL && cfg_obj_isstring(dialup)) {
- char *str = cfg_obj_asstring(dialup);
- for (i = 0;
- i < sizeof(dialups) / sizeof(dialups[0]);
- i++)
- {
- if (strcasecmp(dialups[i].name, str) != 0)
- continue;
- if ((dialups[i].allowed & ztype) == 0) {
- cfg_obj_log(obj, logctx,
- ISC_LOG_ERROR,
- "dialup type '%s' is not "
- "allowed in '%s' "
- "zone '%s'",
- str, typestr, zname);
- result = ISC_R_FAILURE;
- }
- break;
- }
- if (i == sizeof(dialups) / sizeof(dialups[0])) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "invalid dialup type '%s' in zone "
- "'%s'", str, zname);
- result = ISC_R_FAILURE;
- }
- }
- }
-
- /*
- * Check that forwarding is reasonable.
- */
- if (check_forward(zoptions, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
-
- /*
- * Check various options.
- */
- tresult = check_options(zoptions, logctx);
- if (tresult != ISC_R_SUCCESS)
- result = tresult;
-
- return (result);
-}
-
-isc_result_t
-cfg_check_key(cfg_obj_t *key, isc_log_t *logctx) {
- cfg_obj_t *algobj = NULL;
- cfg_obj_t *secretobj = NULL;
- const char *keyname = cfg_obj_asstring(cfg_map_getname(key));
-
- cfg_map_get(key, "algorithm", &algobj);
- cfg_map_get(key, "secret", &secretobj);
- if (secretobj == NULL || algobj == NULL) {
- cfg_obj_log(key, logctx, ISC_LOG_ERROR,
- "key '%s' must have both 'secret' and "
- "'algorithm' defined",
- keyname);
- return ISC_R_FAILURE;
- }
- return ISC_R_SUCCESS;
-}
-
-static isc_result_t
-check_keylist(cfg_obj_t *keys, isc_symtab_t *symtab, isc_log_t *logctx) {
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult;
- cfg_listelt_t *element;
-
- for (element = cfg_list_first(keys);
- element != NULL;
- element = cfg_list_next(element))
- {
- cfg_obj_t *key = cfg_listelt_value(element);
- const char *keyname = cfg_obj_asstring(cfg_map_getname(key));
- isc_symvalue_t symvalue;
-
- symvalue.as_pointer = NULL;
- tresult = isc_symtab_define(symtab, keyname, 1,
- symvalue, isc_symexists_reject);
- if (tresult == ISC_R_EXISTS) {
- cfg_obj_log(key, logctx, ISC_LOG_ERROR,
- "key '%s': already exists ", keyname);
- result = tresult;
- } else if (tresult != ISC_R_SUCCESS)
- return (tresult);
-
- tresult = cfg_check_key(key, logctx);
- if (tresult != ISC_R_SUCCESS)
- return (tresult);
- }
- return (result);
-}
-
-static void
-freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) {
- UNUSED(type);
- UNUSED(value);
- isc_mem_free(userarg, key);
-}
-
-static isc_result_t
-check_servers(cfg_obj_t *servers, isc_log_t *logctx) {
- isc_result_t result = ISC_R_SUCCESS;
- cfg_listelt_t *e1, *e2;
- cfg_obj_t *v1, *v2;
- isc_sockaddr_t *s1, *s2;
- isc_netaddr_t na;
-
- for (e1 = cfg_list_first(servers); e1 != NULL; e1 = cfg_list_next(e1)) {
- v1 = cfg_listelt_value(e1);
- s1 = cfg_obj_assockaddr(cfg_map_getname(v1));
- e2 = e1;
- while ((e2 = cfg_list_next(e2)) != NULL) {
- v2 = cfg_listelt_value(e2);
- s2 = cfg_obj_assockaddr(cfg_map_getname(v2));
- if (isc_sockaddr_eqaddr(s1, s2)) {
- isc_buffer_t target;
- char buf[128];
-
- isc_netaddr_fromsockaddr(&na, s2);
- isc_buffer_init(&target, buf, sizeof(buf) - 1);
- INSIST(isc_netaddr_totext(&na, &target)
- == ISC_R_SUCCESS);
- buf[isc_buffer_usedlength(&target)] = '\0';
-
- cfg_obj_log(v2, logctx, ISC_LOG_ERROR,
- "server '%s': already exists",
- buf);
- result = ISC_R_FAILURE;
- }
- }
- }
- return (result);
-}
-
-static isc_result_t
-check_viewconf(cfg_obj_t *config, cfg_obj_t *vconfig, isc_log_t *logctx, isc_mem_t *mctx)
-{
- cfg_obj_t *servers = NULL;
- cfg_obj_t *zones = NULL;
- cfg_obj_t *keys = NULL;
- cfg_listelt_t *element;
- isc_symtab_t *symtab = NULL;
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult = ISC_R_SUCCESS;
-
- /*
- * Check that all zone statements are syntactically correct and
- * there are no duplicate zones.
- */
- tresult = isc_symtab_create(mctx, 100, freekey, mctx,
- ISC_TRUE, &symtab);
- if (tresult != ISC_R_SUCCESS)
- return (ISC_R_NOMEMORY);
-
- if (vconfig != NULL)
- (void)cfg_map_get(vconfig, "zone", &zones);
- else
- (void)cfg_map_get(config, "zone", &zones);
-
- for (element = cfg_list_first(zones);
- element != NULL;
- element = cfg_list_next(element))
- {
- cfg_obj_t *zone = cfg_listelt_value(element);
-
- if (check_zoneconf(zone, symtab, logctx, mctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- }
-
- isc_symtab_destroy(&symtab);
-
- /*
- * Check that all key statements are syntactically correct and
- * there are no duplicate keys.
- */
- tresult = isc_symtab_create(mctx, 100, NULL, NULL, ISC_TRUE, &symtab);
- if (tresult != ISC_R_SUCCESS)
- return (ISC_R_NOMEMORY);
-
- cfg_map_get(config, "key", &keys);
- tresult = check_keylist(keys, symtab, logctx);
- if (tresult == ISC_R_EXISTS)
- result = ISC_R_FAILURE;
- else if (tresult != ISC_R_SUCCESS) {
- isc_symtab_destroy(&symtab);
- return (tresult);
- }
-
- if (vconfig != NULL) {
- keys = NULL;
- (void)cfg_map_get(vconfig, "key", &keys);
- tresult = check_keylist(keys, symtab, logctx);
- if (tresult == ISC_R_EXISTS)
- result = ISC_R_FAILURE;
- else if (tresult != ISC_R_SUCCESS) {
- isc_symtab_destroy(&symtab);
- return (tresult);
- }
- }
-
- isc_symtab_destroy(&symtab);
-
- /*
- * Check that forwarding is reasonable.
- */
- if (vconfig == NULL) {
- cfg_obj_t *options = NULL;
- cfg_map_get(config, "options", &options);
- if (options != NULL)
- if (check_forward(options, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- } else {
- if (check_forward(vconfig, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- }
-
-
- if (vconfig != NULL) {
- (void)cfg_map_get(vconfig, "server", &servers);
- if (servers != NULL &&
- check_servers(servers, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- }
-
- if (vconfig != NULL)
- tresult = check_options(vconfig, logctx);
- else
- tresult = check_options(config, logctx);
- if (tresult != ISC_R_SUCCESS)
- result = tresult;
-
- return (result);
-}
-
-
-isc_result_t
-cfg_check_namedconf(cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) {
- cfg_obj_t *options = NULL;
- cfg_obj_t *servers = NULL;
- cfg_obj_t *views = NULL;
- cfg_obj_t *acls = NULL;
- cfg_obj_t *obj;
- cfg_listelt_t *velement;
- isc_result_t result = ISC_R_SUCCESS;
- isc_result_t tresult;
-
- static const char *builtin[] = { "localhost", "localnets",
- "any", "none" };
-
- (void)cfg_map_get(config, "options", &options);
-
- if (options != NULL &&
- check_options(options, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
-
- (void)cfg_map_get(config, "server", &servers);
- if (servers != NULL &&
- check_servers(servers, logctx) != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
-
- (void)cfg_map_get(config, "view", &views);
-
- if (views == NULL) {
- if (check_viewconf(config, NULL, logctx, mctx)
- != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- } else {
- cfg_obj_t *zones = NULL;
-
- (void)cfg_map_get(config, "zone", &zones);
- if (zones != NULL) {
- cfg_obj_log(zones, logctx, ISC_LOG_ERROR,
- "when using 'view' statements, "
- "all zones must be in views");
- result = ISC_R_FAILURE;
- }
- }
-
- for (velement = cfg_list_first(views);
- velement != NULL;
- velement = cfg_list_next(velement))
- {
- cfg_obj_t *view = cfg_listelt_value(velement);
- cfg_obj_t *voptions = cfg_tuple_get(view, "options");
-
- if (check_viewconf(config, voptions, logctx, mctx)
- != ISC_R_SUCCESS)
- result = ISC_R_FAILURE;
- }
-
- if (views != NULL && options != NULL) {
- obj = NULL;
- tresult = cfg_map_get(options, "cache-file", &obj);
- if (tresult == ISC_R_SUCCESS) {
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "'cache-file' cannot be a global "
- "option if views are present");
- result = ISC_R_FAILURE;
- }
- }
-
- tresult = cfg_map_get(config, "acl", &acls);
- if (tresult == ISC_R_SUCCESS) {
- cfg_listelt_t *elt;
- cfg_listelt_t *elt2;
- const char *aclname;
-
- for (elt = cfg_list_first(acls);
- elt != NULL;
- elt = cfg_list_next(elt)) {
- cfg_obj_t *acl = cfg_listelt_value(elt);
- unsigned int i;
-
- aclname = cfg_obj_asstring(cfg_tuple_get(acl, "name"));
- for (i = 0;
- i < sizeof(builtin) / sizeof(builtin[0]);
- i++)
- if (strcasecmp(aclname, builtin[i]) == 0) {
- cfg_obj_log(acl, logctx, ISC_LOG_ERROR,
- "attempt to redefine "
- "builtin acl '%s'",
- aclname);
- result = ISC_R_FAILURE;
- break;
- }
-
- for (elt2 = cfg_list_next(elt);
- elt2 != NULL;
- elt2 = cfg_list_next(elt2)) {
- cfg_obj_t *acl2 = cfg_listelt_value(elt2);
- const char *name;
- name = cfg_obj_asstring(cfg_tuple_get(acl2,
- "name"));
- if (strcasecmp(aclname, name) == 0) {
- cfg_obj_log(acl2, logctx, ISC_LOG_ERROR,
- "attempt to redefine "
- "acl '%s'", name);
- result = ISC_R_FAILURE;
- break;
- }
- }
- }
- }
-
- return (result);
-}
diff --git a/usr.sbin/bind/lib/isccfg/include/isccfg/check.h b/usr.sbin/bind/lib/isccfg/include/isccfg/check.h
deleted file mode 100644
index 81d547cc465..00000000000
--- a/usr.sbin/bind/lib/isccfg/include/isccfg/check.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2001 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 INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM 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.
- */
-
-/* $ISC: check.h,v 1.4 2001/08/03 17:24:11 gson Exp $ */
-
-#ifndef ISCCFG_CHECK_H
-#define ISCCFG_CHECK_H 1
-
-#include <isc/lang.h>
-#include <isc/types.h>
-
-#include <isccfg/cfg.h>
-
-ISC_LANG_BEGINDECLS
-
-isc_result_t
-cfg_check_namedconf(cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx);
-/*
- * Check the syntactic validity of a configuration parse tree generated from
- * a named.conf file.
- *
- * Requires:
- * config is a valid parse tree
- *
- * logctx is a valid logging context.
- *
- * Returns:
- * ISC_R_SUCCESS
- * ISC_R_FAILURE
- */
-
-isc_result_t
-cfg_check_key(cfg_obj_t *config, isc_log_t *logctx);
-/*
- * As above, but for a single 'key' statement.
- */
-
-ISC_LANG_ENDDECLS
-
-#endif /* ISCCFG_CHECK_H */