# Running the scripts below is bypassed when a separate
# build directory is used.
-check: test
+# Define the tests that can be run in parallel. This should be identical to
+# the definition of PARALLELDIRS in conf.sh.
+
+PARALLEL = acl additional addzone allow_query autosign \
+ builtin cacheclean chain \
+ checkconf checknames checkzone \
+ @CHECKDS@ @COVERAGE@ \
+ cookie database digdelv dlv dlz dlzexternal \
+ dns64 dnssec dscp dsdigest \
+ ednscompliance emptyzones \
+ fetchlimit filter-aaaa formerr forward \
+ geoip glue inline integrity ixfr \
+ legacy limits logfileconfig \
+ masterfile masterformat metadata \
+ notify nslookup nsupdate \
+ pending \
+ reclimit redirect resolver rndc rpz rpzrecurse \
+ rrchecker rrl rrsetorder rsabigexponent runtime \
+ smartsign sortlist \
+ spf staticstub statistics statschannel stub \
+ tcp tsig tsiggss \
+ unknown upforwd verify views wildcard \
+ xfer xferquota zero zonechecks
+
+# Produce intermediate makefile that assigns unique port numbers to each
+# parallel test. The start port number of 5,000 is arbitrary - it must just
+# be greater than the highest privileged port, 1024.
+#
+# Test names need to be sanitized because Solaris make does not like
+# underscores in target names and requires explicit differentiation
+# between a target name and a directory name (.PHONY is not supported).
+
+.PHONY: parallel.mk
+
+parallel.mk:
+ PARALLEL_SANITIZED=`echo $(PARALLEL) | sed "s|\([^ ][^ ]*\)|test-\1|g;" | tr _ -` ; \
+ echo ".PHONY: $$PARALLEL_SANITIZED" > $@ ; \
+ echo "" >> $@ ; \
+ echo "test check: $$PARALLEL_SANITIZED" >> $@ ; \
+ port=$${STARTPORT:-5000} ; \
+ for directory in $(PARALLEL) ; do \
+ echo "" >> $@ ; \
+ echo "test-`echo $$directory | tr _ -`:" >> $@ ; \
+ echo " @$(SHELL) ./run.sh $$NOCLEAN -r -p $$port $$directory 2>&1 | tee $$directory/test.output" >> $@ ; \
+ port=`expr $$port + 100` ; \
+ done
+
+# Targets to run the tests.
+
+test: parallel.mk subdirs
+ @$(MAKE) -f parallel.mk check
+ @$(SHELL) ./runsequential.sh $$NOCLEAN -r
+ @$(SHELL) ./testsummary.sh
-test: subdirs
- if test -f ./runall.sh; then sh ./runall.sh; fi
+check: test
testclean clean distclean::
if test -f ./cleanall.sh; then sh ./cleanall.sh; fi
This is a simple test environment for running bind9 system tests
involving multiple name servers.
-There are multiple test suites, each in a separate subdirectory and
-involving a different DNS setup. They are:
-
- dnssec/ DNSSEC tests
- forward/ Forwarding tests
- glue/ Glue handling tests
- limits/ Tests of handling of large data (close to server limits)
- lwresd/ Tests of the lightweight resolver library and daemon
- notify/ More NOTIFY tests
- nsupdate/ Dynamic update and IXFR tests
- resolver/ Regression tests for resolver bugs that have been fixed
- (not a complete resolver test suite)
- rrl/ query rate limiting
- rpz/ Tests of response policy zone (RPZ) rewriting
- stub/ Tests of stub zone functionality
- unknown/ Unknown type and class tests
- upforwd/ Update forwarding tests
- views/ Tests of the "views" statement
- xfer/ Zone transfer tests
- xferquota/ Zone transfer quota tests
-
-Typically each test suite sets up 2-5 name servers and then performs
-one or more tests against them. Within the test suite subdirectory,
-each name server has a separate subdirectory containing its
-configuration data. By convention, these subdirectories are named
-"ns1", "ns2", etc.
-
-The tests are completely self-contained and do not require access to
-the real DNS. Generally, one of the test servers (ns1) is set up as a
-root name server and is listed in the hints file of the others.
-
-To enable all servers to run on the same machine, they bind to
-separate virtual IP address on the loopback interface. ns1 runs on
-10.53.0.1, ns2 on 10.53.0.2, etc. Before running any tests, you must
-set up these addresses by running "ifconfig.sh up" as root.
-
-Mac OS X:
-If you wish to make the interfaces survive across reboots
-copy org.isc.bind.system and org.isc.bind.system to
-/Library/LaunchDaemons then run
-"launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist" as
-root.
-
-The servers use port 5300 instead of the usual port 53, so they can be
-run without root privileges once the interfaces have been set up.
-
-The tests can be run individually like this:
-
- sh run.sh xfer
- sh run.sh notify
- etc.
-
-To run all the tests, just type "make test".
-
-When running system tests, named and lwresd can be run under
-Valgrind. The output from Valgrind are sent to per-process files that
-can be reviewed after the test has completed. To enable this, set the
-USE_VALGRIND environment variable to "helgrind" to run the Helgrind
-tool, or any other value to run the Memcheck tool. To use "helgrind"
-effectively, build BIND with --disable-atomic.
+With the exception of "common" (which holds configuration information common to
+multiple tests) and "win32" (which holds files needed to run the tests in a
+Windows environment), each directory holds a set of scripts and configuration
+files to test different parts of BIND. The directories are named for the
+aspect of BIND they test, for example:
+
+ dnssec/ DNSSEC tests
+ forward/ Forwarding tests
+ glue/ Glue handling tests
+
+etc.
+
+Typically each set of tests sets up 2-5 name servers and then performs one or
+more tests against them. Within the test subdirectory, each name server has a
+separate subdirectory containing its configuration data. These subdirectories
+are named "nsN" or "ansN" (where N is a number between 1 and 8, e.g. ns1, ans2
+etc.)
+
+The tests are completely self-contained and do not require access to the real
+DNS. Generally, one of the test servers (usually ns1) is set up as a root
+nameserver and is listed in the hints file of the others.
+
+
+Preparing to Run the Tests
+===
+To enable all servers to run on the same machine, they bind to separate virtual
+IP addresses on the loopback interface. ns1 runs on 10.53.0.1, ns2 on
+10.53.0.2, etc. Before running any tests, you must set up these addresses by
+running the command
+
+ sh ifconfig.sh up
+
+as root. The interfaces can be removed by executing the command:
+
+ sh ifconfig.sh down
+
+... also as root.
+
+The servers use unprivileged ports (above 1024) instead of the usual port 53,
+so they can be run without root privileges once the interfaces have been set
+up.
+
+
+Note for MacOS Users
+---
+If you wish to make the interfaces survive across reboots, copy
+org.isc.bind.system and org.isc.bind.system.plist to /Library/LaunchDaemons
+then run
+
+ launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist
+
+... as root.
+
+
+Running the System Tests
+===
+
+Running an Individual Test
+---
+The tests can be run individually using the following command:
+
+ sh run.sh [flags] <test-name> [<test-arguments>]
+
+e.g.
+
+ sh run.sh [flags] notify
+
+Optional flags are:
+
+ -k Keep servers running after the test completes. Each test
+ usually starts a number of nameservers, either instances
+ of the "named" being tested, or custom servers (written in
+ Python or Perl) that feature test-specific behavior. The
+ servers are automatically started before the test is run
+ and stopped after it ends. This flag leaves them running
+ at the end of the test, so that additional queries can be
+ sent by hand. To stop the servers afterwards, use the
+ command "sh stop.sh <test-name>".
+
+ -n Noclean - do not remove the output files if the test
+ completes successfully. By default, files created by the
+ test are deleted if it passes; they are not deleted if the
+ test fails.
+
+ -p <number> Sets the range of ports used by the test. A block of 100
+ ports is available for each test, the number given to the
+ "-p" switch being the number of the start of that block
+ (e.g. "-p 7900" will mean that the test is able to use
+ ports 7900 through 7999). If not specified, the test will
+ have ports 5000 to 5099 available to it.
+
+ -r The "runall" flag. This is related to cleaning up after
+ the tests (see "Maintenance Notes" below). If specified,
+ it prevents a copy of the test's output listing from being
+ deleted when the directory is cleaned up after the test
+ completes. (The test's output listing comprises messages
+ produced by the test during its execution; it does not
+ include the output files produced by utilities such as
+ "dig" or "rndc", nor any logging output from named itself.)
+ It is usually only used when "run.sh" is being called
+ during a run of the entire test suite. Note that if "-n"
+ is specified on the "run.sh" command line, the test output
+ is retained even if this option is omitted.
+
+Arguments are:
+
+ test-name Mandatory. The name of the test, which is the name of the
+ subdirectory in bin/tests/system holding the test files.
+
+ test-arguments Optional arguments that are passed to each of the test's
+ scripts.
+
+
+Running All The System Tests
+---
+To run all the system tests, enter the command:
+
+ sh runall.sh [-n] [numproc]
+
+The optional flag "-n" has the same effect as it does for "run.sh" - it causes
+the retention of all output files from all tests.
+
+The optional "numproc" argument specifies the maximum number of tests that can
+run in parallel. The default is 1, which means that all of the tests run
+sequentially. If greater than 1, up to "numproc" tests will run simultaneously,
+new tests being started as tests finish. Each test will get a unique set of
+ports, so there is no danger of tests interfering with one another. Parallel
+running will reduce the total time taken to run the BIND system tests, but will
+mean that the output from all the tests sent to the screen will be mixed up
+with one another. However, the systests.output file produced at the end of the
+run (in the bin/tests/system directory) will contain the output from each test
+in sequential order.
+
+Note that it is not possible to pass arguments to tests though the "runall.sh"
+script.
+
+A run of all the system tests can also be initiated via make:
+
+ make [-j numproc] test
+
+In this case, retention of the output files after a test completes successfully
+is specified by setting the environment variable NOCLEAN to "-n" prior to
+running make, e.g.
+
+ NOCLEAN=-n make [-j numproc] test
+
+
+
+Running Multiple System Test Suites Simultaneously
+---
+In some cases it may be desirable to have multiple instances of the system test
+suite running simultaneously (e.g. from different terminal windows). To do
+this:
+
+1. Each installation must have its own directory tree. The system tests create
+files in the test directories, so separate directory trees are required to
+avoid interference between the same test running in the different
+installations.
+
+2. For one of the test suites, the starting port number must be specified by
+setting the environment variable STARTPORT before starting the test suite.
+Each test suite comprises about 100 tests, each being allocated a set of 100
+ports. The port ranges for each test are allocated sequentially, so each test
+suite requires about 10,000 ports to itself. By default, the port allocation
+starts at 5,000. So the following set of commands:
+
+ Terminal Window 1:
+ cd <installation-1>/bin/tests/system
+ sh runall.sh 4
+
+ Terminal Window 2:
+ cd <installation-2>/bin/tests/system
+ STARTPORT=20000 sh runall.sh 4
+
+... will start the test suite for installation-1 using the default base port
+of 5,000, so the test suite will use ports 5,000 through 15,000 (or there
+abouts). The use of "STARTPORT=20000" to prefix the run of the test suite for
+installation-2 will mean the test suite uses ports 20,000 through 30,000 or so.
+
+
+Format of Test Output
+---
+All output from the system tests is in the form of lines with the following
+structure:
+
+ <letter>:<test-name>:<message> [(<number>)]
+
+e.g.
+
+ I:catz:checking that dom1.example is not served by master (1)
+
+The meanings of the fields are as follows:
+
+<letter>
+This indicates the type of message. This is one of:
+
+ S Start of the test
+ A Start of test (retained for backwards compatibility)
+ T Start of test (retained for backwards compatibility)
+ E End of the test
+ I Information. A test will typically output many of these messages
+ during its run, indicating test progress. Note that such a message may
+ be of the form "I:testname:failed", indicating that a sub-test has
+ failed.
+ R Result. Each test will result in one such message, which is of the
+ form:
+
+ R:<test-name>:<result>
+
+ where <result> is one of:
+
+ PASS The test passed
+ FAIL The test failed
+ SKIPPED The test was not run, usually because some
+ prerequisites required to run the test are missing.
+ UNTESTED The test was not run for some other reason, e.g. a
+ prerequisite is available but is not compatible with
+ the platform on which the test is run.
+
+<test-name>
+This is the name of the test from which the message emanated, which is also the
+name of the subdirectory holding the test files.
+
+<message>
+This is text output by the test during its execution.
+
+(<number>)
+If present, this will correlate with a file created by the test. The tests
+execute commands and route the output of each command to a file. The name of
+this file depends on the command and the test, but will usually be of the form:
+
+ <command>.out.<suffix><number>
+
+e.g. nsupdate.out.test28, dig.out.q3. This aids diagnosis of problems by
+allowing the output that caused the problem message to be identified.
+
+
+Re-Running the Tests
+---
+If there is a requirement to re-run a test (or the entire test suite), the
+files produced by the tests should be deleted first. Normally, these files are
+deleted if the test succeeds but are retained on error.
+
+Deletion of files produced by an individual test can be done with the command:
+
+ sh clean.sh [-r] <test-name>
+
+The optional flag is:
+
+ -r The "runall" flag. This is related to cleaning up after
+ the tests (see "Maintenance Notes" below). If specified,
+ it prevents a copy of the test's output listing from being
+ deleted when the directory is cleaned after the test
+ completes.
+
+Deletion of the files produced by the set of tests (e.g. after the execution
+of "runall.sh") can be deleted by the command:
+
+ sh cleanall.sh
+
+or
+
+ make testclean
+
+(Note that the Makefile has two other targets for cleaning up files: "clean"
+will delete all the files produced by the tests, as well as the object and
+executable files used by the tests. "distclean" does all the work of "clean"
+as well as deleting configuration files produced by "configure".)
+
+
+Developer Notes
+===
+This section is intended for developers writing new tests.
+
+
+Overview
+---
+As noted above, each test is in a separate directory. To interact with the
+test framework, the directories contain the following standard files:
+
+prereq.sh Run at the beginning to determine whether the test can be run at
+ all; if not, we see a result of R:SKIPPED or R:UNTESTED. This file
+ is optional: if not present, the test is assumed to have all its
+ prerequisites met.
+
+setup.sh Run after prereq.sh, this sets up the preconditions for the tests.
+ Although optional, virtually all tests will require such a file to
+ set up the ports they should use for the test.
+
+tests.sh Runs the actual tests. This file is mandatory.
+
+clean.sh Run at the end to clean up temporary files, but only if the test
+ was completed successfully and its running was not inhibited by the
+ "-n" switch being passed to "run.sh". Otherwise the temporary
+ files are left in place for inspection.
+
+ns<N> These subdirectories contain test name servers that can be queried
+ or can interact with each other. The value of N indicates the
+ address the server listens on: for example, ns2 listens on
+ 10.53.0.2, and ns4 on 10.53.0.4. All test servers use an
+ unprivileged port, so they don't need to run as root. These
+ servers log at the highest debug level and the log is captured in
+ the file "named.run".
+
+ans<N> Like ns[X], but these are simple mock name servers implemented in
+ Perl or Python. They are generally programmed to misbehave in ways
+ named would not so as to exercise named's ability to interoperate
+ with badly behaved name servers.
+
+
+Port Usage
+---
+In order for the tests to run in parallel, each test requires a unique set of
+ports. These are specified by the "-p" option passed to "run.sh", which sets
+environment variables that the scripts listed above can reference.
+
+The convention used in the system tests is that the number passed is the start
+of a range of 100 ports. The test is free to use the ports as required,
+although the first ten ports in the block are named and generally tests use the
+named ports for their intended purpose. The names of the environment variables
+are:
+
+ PORT Number to be used for the query port.
+ CONTROLPORT Number to be used as the RNDC control port.
+ EXTRAPORT1 - EXTRAPORT8 Eight port numbers that can be used as needed.
+
+Two other environment variables are defined:
+
+ LOWPORT The lowest port number in the range.
+ HIGHPORT The highest port number in the range.
+
+Since port ranges usually start on a boundary of 10, the variables are set such
+that the last digit of the port number corresponds to the number of the
+EXTRAPORTn variable. For example, if the port range were to start at 5200, the
+port assignments would be:
+
+ PORT = 5200
+ EXTRAPORT1 = 5201
+ :
+ EXTRAPORT8 = 5208
+ CONTROLPORT = 5209
+ LOWPORT = 5200
+ HIGHPORT = 5299
+
+When running tests in parallel (i.e. giving a value of "numproc" greater than 1
+in the "make" or "runall.sh" commands listed above), it is guaranteed that each
+test will get a set of unique port numbers.
+
+
+Writing a Test
+---
+The test framework requires up to four shell scripts (listed above) as well as
+a number of nameserver instances to run. Certain expectations are put on each
+script:
+
+
+General
+---
+1. Each of the four scripts will be invoked with the command
+
+ (cd <test-directory> ; sh <script> [<arguments>] )
+
+... so that working directory when the script starts executing is the test
+directory.
+
+2. Arguments can be only passed to the script if the test is being run as a
+one-off with "run.sh". In this case, everything on the command line after the
+name of the test is passed to each script. For example, the command:
+
+ sh run.sh -p 12300 mytest -D xyz
+
+... will run "mytest" with a port range of 12300 to 12399. Each of the
+framework scripts provided by the test will be invoked using the remaining
+arguments, e.g.:
+
+ (cd mytest ; sh prereq.sh -D xyz)
+ (cd mytest ; sh setup.sh -D xyz)
+ (cd mytest ; sh tests.sh -D xyz)
+ (cd mytest ; sh clean.sh -D xyz)
+
+No arguments will be passed to the test scripts if the test is run as part of
+a run of the full test suite (e.g. the tests are started with "runall.sh").
+
+3. Each script should start with the following lines:
+
+ SYSTEMTESTTOP=..
+ . $SYSTEMTESTTOP/conf.sh
+
+"conf.sh" defines a series of environment variables together with functions
+useful for the test scripts. (conf.sh.win32 is the Windows equivalent of this
+file.)
+
+
+prereq.sh
+---
+As noted above, this is optional. If present, it should check whether specific
+software needed to run the test is available and/or whether BIND has been
+configured with the appropriate options required.
+
+ * If the software required to run the test is present and the BIND
+ configure options are correct, prereq.sh should return with a status code
+ of 0.
+
+ * If the software required to run the test is not available and/or BIND
+ has not been configured with the appropriate options, prereq.sh should
+ return with a status code of 1.
+
+ * If there is some other problem (e.g. prerequisite software is available
+ but is not properly configured), a status code of 255 should be returned.
+
+
+setup.sh
+---
+This is responsible for setting up the configuration files used in the test.
+
+To cope with the varying port number, ports are not hard-coded into
+configuration files (or, for that matter, scripts that emulate nameservers).
+Instead, setup.sh is responsible for editing the configuration files to set the
+port numbers.
+
+To do this, configuration files should be supplied in the form of templates
+containing tokens identifying ports. The tokens have the same name as the
+environment variables listed above, but are prefixed and suffixed by the "@"
+symbol. For example, a fragment of a configuration file template might look
+like:
+
+ controls {
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+ };
+
+ options {
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ allow-new-zones yes;
+ };
+
+setup.sh should copy the template to the desired filename using the
+"copy_setports" shell function defined in "conf.sh", i.e.
+
+ copy_setports ns1/named.conf.in ns1/named.conf
+
+This replaces the tokens @PORT@, @CONTROLPORT@, @EXTRAPORT1@ through
+@EXTRAPORT8@ with the contents of the environment variables listed above.
+setup.sh should do this for all configuration files required when the test
+starts.
+
+("setup.sh" should also use this method for replacing the tokens in any Perl or
+Python name servers used in the test.)
+
+
+tests.sh
+---
+This is the main test file and the contents depend on the test. The contents
+are completely up to the developer, although most test scripts have a form
+similar to the following for each sub-test:
+
+ 1. n=`expr $n + 1`
+ 2. echo_i "prime cache nodata.example ($n)"
+ 3. ret=0
+ 4. $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
+ 5. grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
+ 6. grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
+ 7. if [ $ret != 0 ]; then echo_i "failed"; fi
+ 8. status=`expr $status + $ret`
+
+1. Increment the test number "n" (initialized to zero at the start of the
+ script).
+
+2. Indicate that the sub-test is about to begin. Note that "echo_i" instead
+ of "echo" is used. echo_i is a function defined in "conf.sh" which will
+ prefix the message with "I:<testname>:", so allowing the output from each
+ test to be identified within the output. The test number is included in
+ the message in order to tie the sub-test with its output.
+
+3. Initialize return status.
+
+4 - 6. Carry out the sub-test. In this case, a nameserver is queried (note
+ that the port used is given by the PORT environment variable, which was set
+ by the inclusion of the file "conf.sh" at the start of the script). The
+ output is routed to a file whose suffix includes the test number. The
+ response from the server is examined and, in this case, if the required
+ string is not found, an error is indicated by setting "ret" to 1.
+
+7. If the sub-test failed, a message is printed. "echo_i" is used to print
+ the message to add the prefix "I:<test-name>:" before it is output.
+
+8. "status", used to track how many of the sub-tests have failed, is
+ incremented accordingly. The value of "status" determines the status
+ returned by "tests.sh", which in turn determines whether the framework
+ prints the PASS or FAIL message.
+
+Regardless of this, rules that should be followed are:
+
+a. Use the environment variables set by conf.sh to determine the ports to use
+ for sending and receiving queries.
+
+b. Use a counter to tag messages and to associate the messages with the output
+ files.
+
+c. Store all output produced by queries/commands into files. These files
+ should be named according to the command that produced them, e.g. "dig"
+ output should be stored in a file "dig.out.<suffix>", the suffix being
+ related to the value of the counter.
+
+d. Use "echo_i" to output informational messages.
+
+e. Retain a count of test failures and return this as the exit status from
+ the script.
+
+
+clean.sh
+---
+The inverse of "setup.sh", this is invoked by the framework to clean up the
+test directory. It should delete all files that have been created by the test
+during its run.
+
+
+Starting Nameservers
+---
+As noted earlier, a system test will involve a number of nameservers. These
+will be either instances of named, or special servers written in a language
+such as Perl or Python.
+
+For the former, the version of "named" being run is that in the "bin/named"
+directory in the tree holding the tests (i.e. if "make test" is being run
+immediately after "make", the version of "named" used is that just built). The
+configuration files, zone files etc. for these servers are located in
+subdirectories of the test directory named "nsN", where N is a small integer.
+The latter are special nameservers, mostly used for generating deliberately bad
+responses, located in subdirectories named "ansN" (again, N is an integer).
+In addition to configuration files, these directories should hold the
+appropriate script files as well.
+
+Note that the "N" for a particular test forms a single number space, e.g. if
+there is an "ns2" directory, there cannot be an "ans2" directory as well.
+Ideally, the directory numbers should start at 1 and work upwards.
+
+When running a test, the servers are started using "start.sh" (which is nothing
+more than a wrapper for start.pl). The options for "start.pl" are documented
+in the header for that file, so will not be repeated here. In summary, when
+invoked by "run.sh", start.pl looks for directories named "nsN" or "ansN" in
+the test directory and starts the servers it finds there.
+
+
+"named" Command-Line Options
+---
+By default, start.pl starts a "named" server with the following options:
+
+ -c named.conf Specifies the configuration file to use (so by implication,
+ each "nsN" nameserver's configuration file must be called
+ named.conf).
+
+ -d 99 Sets the maximum debugging level.
+
+ -D <name> The "-D" option sets a string used to identify the
+ nameserver in a process listing. In this case, the string
+ is the name of the subdirectory.
+
+ -g Runs the server in the foreground and logs everything to
+ stderr.
+
+ -m record,size,mctx
+ Turns on these memory usage debugging flags.
+
+ -U 4 Uses four listeners.
+
+ -X named.lock Acquires a lock on this file in the "nsN" directory, so
+ preventing multiple instances of this named running in this
+ directory (which could possibly interfere with the test).
+
+In addition, start.pl also sets the following undocumented flag:
+
+ -T clienttest Makes clients single-shot with their own memory context.
+
+All output is sent to a file called "named.run" in the nameserver directory.
+
+The options used to start named can be altered. There are three ways of doing
+this. "start.pl" checks the methods in a specific order: if a check succeeds,
+the options are set and any other specification is ignored. In order, these
+are:
+
+1. Specifying options to "start.sh"/"start.pl" after the name of the test
+directory, e.g.
+
+ sh start.sh reclimit ns1 -- "-c n.conf -d 43"
+
+(This is only really useful when running tests interactively.)
+
+2. Including a file called "named.args" in the "nsN" directory. If present,
+the contents of the first non-commented, non-blank line of the file are used as
+the named command-line arguments. The rest of the file is ignored.
+
+3. Tweaking the default command line arguments with "-T" options. This flag is
+used to alter the behavior of BIND for testing and is not documented in the
+ARM. The "clienttest" option has already been mentioned, but the presence of
+certain files in the "nsN" directory adds flags to the default command line
+(the content of the files is irrelevant - it is only the presence that counts):
+
+ named.noaa Appends "-T noaa" to the command line, which causes
+ "named" to never set the AA bit in an answer.
+
+ named.dropedns Adds "-T dropedns" to the command line, which causes
+ "named" to recognise EDNS options in messages, but drop
+ messages containing them.
+
+ named.maxudp1460 Adds "-T maxudp1460" to the command line, setting the
+ maximum UDP size handled by named to 1460.
+
+ named.maxudp512 Adds "-T maxudp512" to the command line, setting the
+ maximum UDP size handled by named to 512.
+
+ named.noedns Appends "-T noedns" to the command line, which disables
+ recognition of EDNS options in messages.
+
+ named.notcp Adds "-T notcp", which disables TCP in "named".
+
+ named.soa Appends "-T nosoa" to the command line, which disables
+ the addition of SOA records to negative responses (or to
+ the additional section if the response is triggered by RPZ
+ rewriting).
+
+
+Starting Other Nameservers
+---
+In contrast to "named", nameservers written in Perl or Python (whose script
+file should have the name "ans.pl" or "ans.py" respectively) are started with a
+fixed command line. In essence, the server is given the address and nothing
+else.
+
+(This is not strictly true: Python servers are provided with the number of the
+query port to use. Altering the port used by Perl servers currently requires
+creating a template file containing the "@PORT@" token, and having "setup.sh"
+substitute the actual port being used before the test starts.)
+
+
+Stopping Nameservers
+---
+As might be expected, the test system stops nameservers with the script
+"stop.sh", which is little more than a wrapper for "stop.pl". Like "start.pl",
+the options available are listed in the file's header and will not be repeated
+here.
+
+In summary though, the nameservers for a given test, if left running by
+specifying the "-k" flag to "run.sh" when the test is started, can be stopped
+by the command:
+
+ sh stop.sh <test-name> [server]
+
+... where if the server (e.g. "ns1", "ans3") is not specified, all servers
+associated with the test are stopped.
+
+
+Adding a Test to the System Test Suite
+---
+Once a test has been created, the following files should be edited:
+
+* conf.sh.in The name of the test should be added to the PARALLELDIRS or
+SEQUENTIALDIRS variables as appropriate. The former is used for tests that
+can run in parallel with other tests, the latter for tests that are unable to
+do so.
+
+* conf.sh.win32 This is the Windows equivalent of conf.sh.in. The name of the
+test should be added to the PARALLELDIRS or SEQUENTIALDIRS variables as
+appropriate.
+
+* Makefile.in The name of the test should be added to one of the the PARALLEL
+or SEQUENTIAL variables.
+
+(It is likely that a future iteration of the system test suite will remove the
+need to edit multiple files to add a test.)
+
+
+Valgrind
+---
+When running system tests, named can be run under Valgrind. The output from
+Valgrind are sent to per-process files that can be reviewed after the test has
+completed. To enable this, set the USE_VALGRIND environment variable to
+"helgrind" to run the Helgrind tool, or any other value to run the Memcheck
+tool. To use "helgrind" effectively, build BIND with --disable-atomic.
+
+
+Maintenance Notes
+===
+This section is aimed at developers maintaining BIND's system test framework.
+
+Notes on Parallel Execution
+---
+Although execution of an individual test is controlled by "run.sh", which
+executes the above shell scripts (and starts the relevant servers) for each
+test, the running of all tests in the test suite is controlled by the Makefile.
+("runall.sh" does little more than invoke "make" on the Makefile.)
+
+All system tests are capable of being run in parallel. For this to work, each
+test needs to use a unique set of ports. To avoid the need to define which
+tests use which ports (and so risk port clashes as further tests are added),
+the ports are assigned when the tests are run. This is achieved by having the
+"test" target in the Makefile depend on "parallel.mk". That file is created
+when "make check" is run, and contains a target for each test of the form:
+
+ <test-name>:
+ @$(SHELL) run.sh $$NOCLEAN -r -p <baseport> <test-name>
+
+The <baseport> is unique and the values of <baseport> for each test are
+separated by at least 100 ports.
+
+
+Cleaning Up From Tests
+---
+When a test is run, files are created in the test directory. These files fall
+into three categories:
+
+1. Files generated by the test itself, e.g. output from "dig" and "rndc".
+
+2. Files produced by named which may not be cleaned up if named exits
+abnormally, e.g. core files, PID files etc.
+
+3. The file "test.output" containing the text written to stdout by the test.
+This is only produced when the test is run as part of the entire test suite
+(e.g. via "runall.sh").
+
+If the test fails, all these files are retained. But if the test succeeds,
+they are cleaned up at different times:
+
+1. Files generated by the test itself are cleaned up by the test's own
+"clean.sh". This is called from the system's "clean.sh", which in turn is
+called from "run.sh".
+
+2. Files that may not be cleaned up if named exits abnormally are removed
+by the system's "clean.sh".
+
+3. "test.output" files are deleted when the test suite ends. At this point,
+the file "testsummary.sh" is called which concatenates all the "test.output"
+files into a single "systest.output" file before deleting them.
+
+A complication arises with the "test.output" file however:
+
+1. "clean.sh" is called by "run.sh" if the test ends successfully. For
+this reason, "clean.sh" cannot delete "test.output" as, if the test is
+being run as part of a test suite, the file must be retained.
+
+2. If the deletion of "test.output" were to be solely the responsibility of
+"testsummary.sh", should a test suite terminate abnormally, cleaning up a test
+directory with "sh clean.sh <test-directory>" would leave the file present.
+
+3. An additional step could be added to "cleanall.sh" (which calls the
+system's "clean.sh" for each test) to remove the "test.output" file. However,
+although the file would be deleted should all test directories be cleaned,
+it would still mean that running "clean.sh" on a particular test directory
+could leave the file present.
+
+To get round this, the system's "clean.sh" script takes an optional flag, "-r"
+(the "runall" flag). When the test suite is run, each invocation of "run.sh"
+is passed the runall flag. In turn, "run.sh" passes the flag to "clean.sh",
+which causes that script not to delete the "tests.output" file. In other
+words, when the system's "clean.sh" is invoked standalone on a test directory
+(or as part of a run of "cleanall.sh"), it will delete the "test.output" if it
+is present. When invoked during a run of the entire test suite, it won't.
#
rm -f dig.out.*
-rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl ns2/named.conf
+rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
rm -f ns*/*.nzf
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-controls { /* empty */ };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
-
key one {
algorithm hmac-md5;
secret "1234abcd8765";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.3 2008/01/21 20:38:54 each Exp $ */
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-controls { /* empty */ };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
-
key one {
algorithm hmac-md5;
secret "1234abcd8765";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named3.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-controls { /* empty */ };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
-
key one {
algorithm hmac-md5;
secret "1234abcd8765";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named4.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-controls { /* empty */ };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
-
key one {
algorithm hmac-md5;
secret "1234abcd8765";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-controls { /* empty */ };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-query-on { 10.53.0.2; };
};
-include "../../common/controls.conf";
-
key one {
algorithm hmac-md5;
secret "1234abcd8765";
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key rndc_key {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key rndc_key {
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
$SHELL ../genzone.sh 2 3 >ns2/example.db
$SHELL ../genzone.sh 2 3 >ns2/tsigzone.db
-cp -f ns2/named1.conf ns2/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
status=0
t=0
-echo "I:testing basic ACL processing"
+echo_i "testing basic ACL processing"
# key "one" should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# any other key should be fine
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
-cp -f ns2/named2.conf ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+copy_setports ns2/named2.conf.in ns2/named.conf
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 5
# prefix 10/8 should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# any other address should work, as long as it sends key "one"
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 127.0.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 127.0.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
-echo "I:testing nested ACL processing"
+echo_i "testing nested ACL processing"
# all combinations of 10.53.0.{1|2} with key {one|two}, should succeed
-cp -f ns2/named3.conf ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+copy_setports ns2/named3.conf.in ns2/named.conf
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 5
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# but only one or the other should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.2 axfr -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $tt failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.2 axfr > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $tt failed" ; status=1; }
# and other values? right out
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 127.0.0.1 axfr -y three:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 127.0.0.1 axfr -y three:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# now we only allow 10.53.0.1 *and* key one, or 10.53.0.2 *and* key two
-cp -f ns2/named4.conf ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+copy_setports ns2/named4.conf.in ns2/named.conf
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 5
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# should succeed
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 && { echo_i "test $t failed" ; status=1; }
# should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# should fail
t=`expr $t + 1`
$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 -b 10.53.0.3 axfr -y one:1234abcd8765 -p 5300 > dig.out.${t}
-grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+ @10.53.0.2 -b 10.53.0.3 axfr -y one:1234abcd8765 > dig.out.${t}
+grep "^;" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
-echo "I:testing allow-query-on ACL processing"
-cp -f ns2/named5.conf ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+echo_i "testing allow-query-on ACL processing"
+copy_setports ns2/named5.conf.in ns2/named.conf
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 5
t=`expr $t + 1`
-$DIG +tcp soa example. \
- @10.53.0.2 -b 10.53.0.3 -p 5300 > dig.out.${t}
-grep "status: NOERROR" dig.out.${t} > /dev/null 2>&1 || { echo "I:test $t failed" ; status=1; }
+$DIG -p ${PORT} +tcp soa example. \
+ @10.53.0.2 -b 10.53.0.3 > dig.out.${t}
+grep "status: NOERROR" dig.out.${t} > /dev/null 2>&1 || { echo_i "test $t failed" ; status=1; }
# AXFR tests against ns3
-echo "I:testing allow-transfer ACLs against ns3 (no existing zones)"
-
-echo "I:calling addzone example.com on ns3"
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
+echo_i "testing allow-transfer ACLs against ns3 (no existing zones)"
+echo_i "calling addzone example.com on ns3"
+$RNDCCMD 10.53.0.3 addzone 'example.com {type master; file "example.db"; }; '
sleep 1
t=`expr $t + 1`
ret=0
-echo "I:checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
-$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
+echo_i "checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
+$DIG -p ${PORT} @10.53.0.3 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:calling rndc reconfig"
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig
+echo_i "calling rndc reconfig"
+$RNDCCMD 10.53.0.3 reconfig 2>&1 | sed 's/^/ns3 /' | cat_i
sleep 1
t=`expr $t + 1`
ret=0
-echo "I:re-checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
-$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
+echo_i "re-checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
+$DIG -p ${PORT} @10.53.0.3 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
# AXFR tests against ns4
-echo "I:testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
-
-echo "I:calling addzone example.com on ns4"
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
+echo_i "testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
+echo_i "calling addzone example.com on ns4"
+$RNDCCMD 10.53.0.4 addzone 'example.com {type master; file "example.db"; }; '
sleep 1
t=`expr $t + 1`
ret=0
-echo "I:checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
-$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
+echo_i "checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
+$DIG -p ${PORT} @10.53.0.4 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:calling rndc reconfig"
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig
+echo_i "calling rndc reconfig"
+$RNDCCMD 10.53.0.4 reconfig 2>&1 | sed 's/^/ns4 /' | cat_i
sleep 1
t=`expr $t + 1`
ret=0
-echo "I:re-checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
-$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
+echo_i "re-checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
+$DIG -p ${PORT} @10.53.0.4 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f dig.out.*
rm -f */named.memstats
-rm -f ns1/named.conf
+rm -f */named.conf
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2007/06/19 23:47:06 tbox Exp $ */
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
recursion no;
additional-from-auth no;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
include "../../common/rndc.key";
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "rt.example" {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2007/06/19 23:47:06 tbox Exp $ */
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
recursion no;
additional-from-auth no;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
include "../../common/rndc.key";
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "rt.example" {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-cp -f ns1/named1.conf ns1/named.conf
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named1.conf.in ns1/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.7 2011/11/06 23:46:40 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
dotests() {
n=`expr $n + 1`
- echo "I:test with RT, single zone ($n)"
+ echo_i "test with RT, single zone ($n)"
ret=0
- $DIG -t RT rt.rt.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t RT rt.rt.example @10.53.0.1 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with RT, two zones ($n)"
+ echo_i "test with RT, two zones ($n)"
ret=0
- $DIG -t RT rt.rt2.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t RT rt.rt2.example @10.53.0.1 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with NAPTR, single zone ($n)"
+ echo_i "test with NAPTR, single zone ($n)"
ret=0
- $DIG -t NAPTR nap.naptr.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t NAPTR nap.naptr.example @10.53.0.1 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with NAPTR, two zones ($n)"
+ echo_i "test with NAPTR, two zones ($n)"
ret=0
- $DIG -t NAPTR nap.hang3b.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t NAPTR nap.hang3b.example @10.53.0.1 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with LP ($n)"
+ echo_i "test with LP ($n)"
ret=0
- $DIG -t LP nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t LP nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
grep "L64" dig.out.$n > /dev/null || ret=1
grep "L32" dig.out.$n > /dev/null || ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with NID ($n)"
+ echo_i "test with NID ($n)"
ret=0
- $DIG -t NID ns1.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t NID ns1.nid.example @10.53.0.1 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
# change && to || when we support NID additional processing
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
- echo "I:test with NID + LP ($n)"
+ echo_i "test with NID + LP ($n)"
ret=0
- $DIG -t NID nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+ $DIG $DIGOPTS -t NID nid2.nid.example @10.53.0.1 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
# change && to || when we support NID additional processing
grep "LP" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
}
-echo "I:testing with 'minimal-responses yes;'"
+echo_i "testing with 'minimal-responses yes;'"
minimal=yes
dotests
-echo "I:reconfiguring server: minimal-responses no"
-cp ns1/named2.conf ns1/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
+echo_i "reconfiguring server: minimal-responses no"
+copy_setports ns1/named2.conf.in ns1/named.conf
+$RNDCCMD 10.53.0.1 reconfig 2>&1 | sed 's/^/ns1 /' | cat_i
sleep 2
-echo "I:testing with 'minimal-responses no;'"
+echo_i "testing with 'minimal-responses no;'"
minimal=no
dotests
n=`expr $n + 1`
-echo "I:testing NS handling in ANY responses (authoritative) ($n)"
+echo_i "testing NS handling in ANY responses (authoritative) ($n)"
ret=0
-$DIG -t ANY rt.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
+$DIG $DIGOPTS -t ANY rt.example @10.53.0.1 > dig.out.$n || ret=1
grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
n=`expr $n + 1`
-echo "I:testing NS handling in ANY responses (recursive) ($n)"
+echo_i "testing NS handling in ANY responses (recursive) ($n)"
ret=0
-$DIG -t ANY rt.example @10.53.0.3 -p 5300 > dig.out.$n || ret=1
+$DIG $DIGOPTS -t ANY rt.example @10.53.0.3 > dig.out.$n || ret=1
grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i " failed"; status=1
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.3 2010/09/15 03:32:34 marka Exp $
-
rm -f dig.out.*
-rm -f rndc.out.*
-rm -f ns2/named.conf
+rm -f rndc.out*
+rm -f */named.conf
rm -f */named.memstats
rm -f ns2/*.nzf
rm -f ns2/core*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.2 2010/08/11 18:14:19 each Exp $ */
-
-controls { /* empty */ };
+controls {
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.2 2010/08/11 18:14:19 each Exp $ */
-
-controls { /* empty */ };
-
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-new-zones yes;
};
-include "../../common/controls.conf";
+include "../../common/rndc.key";
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
zone "." {
type hint;
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
+include "../../common/rndc.key";
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
-include "../../common/controls.conf";
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-key rndc_key {
- secret "1234abcd8765";
- algorithm hmac-sha256;
-};
+include "../../common/rndc.key";
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
$SHELL clean.sh
-cp -f ns2/named1.conf ns2/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
cp -f ns2/default.nzf.in ns2/3bf305731dd26307.nzf
-cp -f ns3/named1.conf ns3/named.conf
+copy_setports ns3/named1.conf.in ns3/named.conf
+
rm -f ns3/*.nzf ns3/*.nzf~
rm -f ns3/*.nzd ns3/*.nzd-lock
rm -f ns3/inlineslave.db
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="+tcp +nosea +nostat +nocmd +norec +noques +noauth +noadd +nostats +dnssec -p 5300"
+DIGOPTS="+tcp +nosea +nostat +nocmd +norec +noques +noauth +noadd +nostats +dnssec -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
-echo "I:checking normally loaded zone ($n)"
+echo_i "checking normally loaded zone ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.2 a.normal.example a > dig.out.ns2.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.normal.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking previously added zone ($n)"
+echo_i "checking previously added zone ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.2 a.previous.example a > dig.out.ns2.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.previous.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:adding new zone ($n)"
+echo_i "adding new zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'added.example { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 addzone 'added.example { type master; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 a.added.example a > dig.out.ns2.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.added.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:adding a zone that requires quotes ($n)"
+echo_i "adding a zone that requires quotes ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone '"32/1.0.0.127-in-addr.added.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 addzone '"32/1.0.0.127-in-addr.added.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 "a.32/1.0.0.127-in-addr.added.example" a > dig.out.ns2.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.32/1.0.0.127-in-addr.added.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:adding a zone with a quote in the name ($n)"
+echo_i "adding a zone with a quote in the name ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone '"foo\"bar.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 addzone '"foo\"bar.example" { check-names ignore; type master; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 "a.foo\"bar.example" a > dig.out.ns2.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.foo\\"bar.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:adding new zone with missing master file ($n)"
+echo_i "adding new zone with missing master file ($n)"
ret=0
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.pre.$n || ret=1
grep "status: REFUSED" dig.out.ns2.pre.$n > /dev/null || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'missing.example { type master; file "missing.db"; };' 2> rndc.out.ns2.$n
+$RNDCCMD 10.53.0.2 addzone 'missing.example { type master; file "missing.db"; };' 2> rndc.out.ns2.$n
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.post.$n || ret=1
grep "status: REFUSED" dig.out.ns2.post.$n > /dev/null || ret=1
$PERL ../digcomp.pl dig.out.ns2.pre.$n dig.out.ns2.post.$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:verifying no comments in nzf file ($n)"
+echo_i "verifying no comments in nzf file ($n)"
ret=0
hcount=`grep "^# New zone file for view: _default" ns2/3bf305731dd26307.nzf | wc -l`
[ $hcount -eq 0 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:deleting previously added zone ($n)"
+echo_i "deleting previously added zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone previous.example 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 delzone previous.example 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 a.previous.example a > dig.out.ns2.$n
grep 'status: REFUSED' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.previous.example' dig.out.ns2.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking nzf file now has comment ($n)"
+echo_i "checking nzf file now has comment ($n)"
ret=0
hcount=`grep "^# New zone file for view: _default" ns2/3bf305731dd26307.nzf | wc -l`
[ $hcount -eq 1 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:deleting newly added zone ($n)"
+echo_i "deleting newly added zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone added.example 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 delzone added.example 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 a.added.example a > dig.out.ns2.$n
grep 'status: REFUSED' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.added.example' dig.out.ns2.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:deleting newly added zone with escaped quote ($n)"
+echo_i "deleting newly added zone with escaped quote ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone "foo\\\"bar.example" 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 delzone "foo\\\"bar.example" 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.2 "a.foo\"bar.example" a > dig.out.ns2.$n
grep 'status: REFUSED' dig.out.ns2.$n > /dev/null || ret=1
grep "^a.foo\"bar.example" dig.out.ns2.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempt to delete a normally-loaded zone ($n)"
+echo_i "attempt to delete a normally-loaded zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone normal.example 2> rndc.out.ns2.$n
+$RNDCCMD 10.53.0.2 delzone normal.example 2> rndc.out.ns2.$n
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.2 a.normal.example a > dig.out.ns2.$n
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.normal.example' dig.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempting to add master zone with inline signing ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'inline.example { type master; file "inline.db"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
+echo_i "attempting to add master zone with inline signing ($n)"
+$RNDCCMD 10.53.0.2 addzone 'inline.example { type master; file "inline.db"; inline-signing yes; };' 2>&1 | sed 's/^/ns2 /' | cat_i
for i in 1 2 3 4 5
do
ret=0
sleep 1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempting to add master zone with inline signing and missing master ($n)"
+echo_i "attempting to add master zone with inline signing and missing master ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'inlinemissing.example { type master; file "missing.db"; inline-signing yes; };' 2> rndc.out.ns2.$n
+$RNDCCMD 10.53.0.2 addzone 'inlinemissing.example { type master; file "missing.db"; inline-signing yes; };' 2> rndc.out.ns2.$n
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempting to add slave zone with inline signing ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'inlineslave.example { type slave; masters { 10.53.0.1; }; file "inlineslave.bk"; inline-signing yes; };' 2>&1 | sed 's/^/I:ns2 /'
+echo_i "attempting to add slave zone with inline signing ($n)"
+$RNDCCMD 10.53.0.2 addzone 'inlineslave.example { type slave; masters { 10.53.0.1; }; file "inlineslave.bk"; inline-signing yes; };' 2>&1 | sed 's/^/ns2 /' | cat_i
for i in 1 2 3 4 5
do
ret=0
sleep 1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that adding a 'stub' zone works ($n)"
+echo_i "check that adding a 'stub' zone works ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'stub.example { type stub; masters { 1.2.3.4; }; file "stub.example.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
+$RNDCCMD 10.53.0.2 addzone 'stub.example { type stub; masters { 1.2.3.4; }; file "stub.example.bk"; };' > rndc.out.ns2.$n 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that adding a 'static-stub' zone works ($n)"
+echo_i "check that adding a 'static-stub' zone works ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'static-stub.example { type static-stub; server-addresses { 1.2.3.4; }; };' > rndc.out.ns2.$n 2>&1 || ret=1
+$RNDCCMD 10.53.0.2 addzone 'static-stub.example { type static-stub; server-addresses { 1.2.3.4; }; };' > rndc.out.ns2.$n 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone type 'redirect' (master) is properly rejected ($n)"
+echo_i "check that zone type 'redirect' (master) is properly rejected ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone '"." { type redirect; file "redirect.db"; };' > rndc.out.ns2.$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 addzone '"." { type redirect; file "redirect.db"; };' > rndc.out.ns2.$n 2>&1 && ret=1
grep "zones not supported by addzone" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone type 'redirect' (slave) is properly rejected ($n)"
+echo_i "check that zone type 'redirect' (slave) is properly rejected ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone '"." { type redirect; masters { 1.2.3.4; }; file "redirect.bk"; };' > rndc.out.ns2.$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 addzone '"." { type redirect; masters { 1.2.3.4; }; file "redirect.bk"; };' > rndc.out.ns2.$n 2>&1 && ret=1
grep "zones not supported by addzone" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone type 'hint' is properly rejected ($n)"
+echo_i "check that zone type 'hint' is properly rejected ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone '"." { type hint; file "hints.db"; };' > rndc.out.ns2.$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 addzone '"." { type hint; file "hints.db"; };' > rndc.out.ns2.$n 2>&1 && ret=1
grep "zones not supported by addzone" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone type 'forward' is properly rejected ($n)"
+echo_i "check that zone type 'forward' is properly rejected ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'forward.example { type forward; forwarders { 1.2.3.4; }; forward only; };' > rndc.out.ns2.$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 addzone 'forward.example { type forward; forwarders { 1.2.3.4; }; forward only; };' > rndc.out.ns2.$n 2>&1 && ret=1
grep "zones not supported by addzone" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone type 'delegation-only' is properly rejected ($n)"
+echo_i "check that zone type 'delegation-only' is properly rejected ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'delegation-only.example { type delegation-only; };' > rndc.out.ns2.$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 addzone 'delegation-only.example { type delegation-only; };' > rndc.out.ns2.$n 2>&1 && ret=1
grep "zones not supported by addzone" rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:reconfiguring server with multiple views"
+echo_i "reconfiguring server with multiple views"
rm -f ns2/named.conf
-cp -f ns2/named2.conf ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig 2>&1 | sed 's/^/I:ns2 /'
+copy_setports ns2/named2.conf.in ns2/named.conf
+$RNDCCMD 10.53.0.2 reconfig 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 5
-echo "I:adding new zone to external view ($n)"
+echo_i "adding new zone to external view ($n)"
# NOTE: The internal view has "recursion yes" set, and so queries for
# nonexistent zones should return NOERROR. The external view is
# "recursion no", so queries for nonexistent zones should return
grep 'status: NOERROR' dig.out.ns2.intpre.$n > /dev/null || ret=1
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.extpre.$n || ret=1
grep 'status: REFUSED' dig.out.ns2.extpre.$n > /dev/null || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'added.example in external { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 addzone 'added.example in external { type master; file "added.db"; };' 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.ext.$n > /dev/null || ret=1
grep '^a.added.example' dig.out.ns2.ext.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking new nzf file has comment ($n)"
+echo_i "checking new nzf file has comment ($n)"
ret=0
hcount=`grep "^# New zone file for view: external" ns2/3c4623849a49a539.nzf | wc -l`
[ $hcount -eq 1 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking rndc reload causes named to reload the external view's NZF file ($n)"
+echo_i "checking rndc reload causes named to reload the external view's NZF file ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
$DIG +norec $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.ext.$n > /dev/null || ret=1
grep '^a.added.example' dig.out.ns2.ext.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:deleting newly added zone ($n)"
+echo_i "deleting newly added zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone 'added.example in external' 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 delzone 'added.example in external' 2>&1 | sed 's/^/ns2 /' | cat_i
$DIG $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.$n || ret=1
grep 'status: REFUSED' dig.out.ns2.$n > /dev/null || ret=1
grep '^a.added.example' dig.out.ns2.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempting to add zone to internal view ($n)"
+echo_i "attempting to add zone to internal view ($n)"
ret=0
$DIG +norec $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.pre.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.pre.$n > /dev/null || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'added.example in internal { type master; file "added.db"; };' 2> rndc.out.ns2.$n
+$RNDCCMD 10.53.0.2 addzone 'added.example in internal { type master; file "added.db"; };' 2> rndc.out.ns2.$n
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.int.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.int.$n > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.4 -b 10.53.0.4 a.added.example a > dig.out.ns2.ext.$n || ret=1
grep 'status: REFUSED' dig.out.ns2.ext.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:attempting to delete a policy zone ($n)"
+echo_i "attempting to delete a policy zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone 'policy in internal' 2> rndc.out.ns2.$n >&1
+$RNDCCMD 10.53.0.2 delzone 'policy in internal' 2> rndc.out.ns2.$n >&1
grep 'cannot be deleted' rndc.out.ns2.$n > /dev/null ||
grep 'permission denied' rndc.out.ns2.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:ensure the configuration context is cleaned up correctly ($n)"
+echo_i "ensure the configuration context is cleaned up correctly ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.2 reconfig > /dev/null 2>&1 || ret=1
sleep 5
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 status > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.2 status > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check delzone after reconfig failure ($n)"
+echo_i "check delzone after reconfig failure ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone 'inlineslave.example. IN { type slave; file "inlineslave.db"; masterfile-format text; masters { testmaster; }; };' > /dev/null 2>&1 || ret=1
-cp -f ns3/named2.conf ns3/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 addzone 'inlineslave.example. IN { type slave; file "inlineslave.db"; masterfile-format text; masters { testmaster; }; };' > /dev/null 2>&1 || ret=1
+copy_setports ns3/named2.conf.in ns3/named.conf
+$RNDCCMD 10.53.0.3 reconfig > /dev/null 2>&1 && ret=1
sleep 5
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 delzone inlineslave.example > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 delzone inlineslave.example > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
#
# This is the name server from hell. It provides canned
# responses based on pattern matching the queries, and
# can be reprogrammed on-the-fly over a TCP connection.
#
-# The server listens for control connections on port 5301.
+# The server listens for queries on port 5300 (or PORT).
+#
+# The server listens for control connections on port 5301 (or EXTRAPORT1).
+#
# A control connection is a TCP stream of lines like
#
# /pattern/
$server_addr = @ARGV[0];
}
+my $mainport = int($ENV{'PORT'});
+if (!$mainport) { $mainport = 5300; }
+my $ctrlport = int($ENV{'EXTRAPORT1'});
+if (!$ctrlport) { $ctrlport = 5301; }
+
# XXX: we should also be able to set the port numbers to listen on.
my $ctlsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5301, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
+ LocalPort => $ctrlport, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
my $udpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "udp", Reuse => 1) or die "$!";
+ LocalPort => $mainport, Proto => "udp", Reuse => 1) or die "$!";
my $tcpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
+ LocalPort => $mainport, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
-print "listening on $server_addr:5300,5301.\n";
+print "listening on $server_addr:$mainport,$ctrlport.\n";
print "Using Net::DNS $Net::DNS::VERSION\n";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
rm -f */example.bk
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
rm -f activate-now-publish-1day.key
rm -f active.key inact.key del.key unpub.key standby.key rev.key
rm -f delayksk.key delayzsk.key autoksk.key autozsk.key
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2009/11/30 23:48:02 tbox Exp $ */
-
// NS1
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.7 2011/04/29 23:47:17 tbox Exp $ */
-
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS3
controls { /* empty */ };
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
session-keyfile "session.key";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2009/11/30 23:48:02 tbox Exp $ */
-
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2009/11/30 23:48:02 tbox Exp $ */
-
// NS5
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+
echo "I:generating keys and preparing zones"
cd ns1 && $SHELL keygen.sh
status=0
n=0
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
# convert private-type records to readable form
showprivate () {
fi
echo "$x"
- echo "I:failed"
+ echo_i "failed"
return 1
}
# NSEC records to appear before proceeding with a counter to prevent
# infinite loops if there is a error.
#
-echo "I:waiting for autosign changes to take effect"
+echo_i "waiting for autosign changes to take effect"
i=0
while [ $i -lt 30 ]
do
done
i=`expr $i + 1`
if [ $ret = 0 ]; then break; fi
- echo "I:waiting ... ($i)"
+ echo_i "waiting ... ($i)"
sleep 2
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; else echo "I:done"; fi
+if [ $ret != 0 ]; then echo_i "done"; fi
status=`expr $status + $ret`
#
# Check that DNSKEY is initially signed with a KSK and not a ZSK.
#
-echo "I:check that zone with active and inactive KSK and active ZSK is properly"
-echo "I: resigned after the active KSK is deleted - stage 1: Verify that DNSKEY"
-echo "I: is initially signed with a KSK and not a ZSK. ($n)"
+echo_i "check that zone with active and inactive KSK and active ZSK is properly"
+echo_i " resigned after the active KSK is deleted - stage 1: Verify that DNSKEY"
+echo_i " is initially signed with a KSK and not a ZSK. ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inacksk3.example > dig.out.ns3.test$n
id=`awk "${awk}" dig.out.ns3.test$n`
$SETTIME -D now+5 ns3/Kinacksk3.example.+007+${id}
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 loadkeys inacksk3.example
+$RNDCCMD 10.53.0.3 loadkeys inacksk3.example
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# Check that zone is initially signed with a ZSK and not a KSK.
#
-echo "I:check that zone with active and inactive ZSK and active KSK is properly"
-echo "I: resigned after the active ZSK is deleted - stage 1: Verify that zone"
-echo "I: is initially signed with a ZSK and not a KSK. ($n)"
+echo_i "check that zone with active and inactive ZSK and active KSK is properly"
+echo_i " resigned after the active ZSK is deleted - stage 1: Verify that zone"
+echo_i " is initially signed with a ZSK and not a KSK. ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inaczsk3.example > dig.out.ns3.test$n
kskid=`awk '$4 == "DNSKEY" && $5 == 257 { print }' dig.out.ns3.test$n |
test $count -eq 3 || ret=1
id=`awk '$4 == "RRSIG" && $5 == "CNAME" { printf "%05u\n", $11 }' dig.out.ns3.test$n`
$SETTIME -D now+5 ns3/Kinaczsk3.example.+007+${id}
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 loadkeys inaczsk3.example
+$RNDCCMD 10.53.0.3 loadkeys inaczsk3.example
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC->NSEC3 conversion prerequisites ($n)"
+echo_i "checking NSEC->NSEC3 conversion prerequisites ($n)"
ret=0
# these commands should result in an empty file:
$DIG $DIGOPTS +noall +answer nsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.1.test$n || ret=1
$DIG $DIGOPTS +noall +answer autonsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.2.test$n || ret=1
grep "NSEC3PARAM" dig.out.ns3.2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC3->NSEC conversion prerequisites ($n)"
+echo_i "checking NSEC3->NSEC conversion prerequisites ($n)"
ret=0
$DIG $DIGOPTS +noall +answer nsec3-to-nsec.example. nsec3param @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "NSEC3PARAM" dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:converting zones from nsec to nsec3"
+echo_i "converting zones from nsec to nsec3"
$NSUPDATE > /dev/null 2>&1 <<END || status=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone nsec3.nsec3.example.
update add nsec3.nsec3.example. 3600 NSEC3PARAM 1 0 10 BEEF
send
END
# try to convert nsec.example; this should fail due to non-NSEC key
-echo "I:preset nsec3param in unsigned zone via nsupdate ($n)"
+echo_i "preset nsec3param in unsigned zone via nsupdate ($n)"
$NSUPDATE > nsupdate.out 2>&1 <<END
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone nsec.example.
update add nsec.example. 3600 NSEC3PARAM 1 0 10 BEEF
send
END
-echo "I:checking for nsec3param in unsigned zone ($n)"
+echo_i "checking for nsec3param in unsigned zone ($n)"
ret=0
$DIG $DIGOPTS +noall +answer autonsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "NSEC3PARAM" dig.out.ns3.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for nsec3param signing record ($n)"
+echo_i "checking for nsec3param signing record ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list autonsec3.example. > signing.out.test$n 2>&1
+$RNDCCMD 10.53.0.3 signing -list autonsec3.example. > signing.out.test$n 2>&1
grep "Pending NSEC3 chain 1 0 20 DEAF" signing.out.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:resetting nsec3param via rndc signing ($n)"
+echo_i "resetting nsec3param via rndc signing ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all autonsec3.example. > /dev/null 2>&1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 1 10 beef autonsec3.example. > /dev/null 2>&1
+$RNDCCMD 10.53.0.3 signing -clear all autonsec3.example. > /dev/null 2>&1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 1 10 beef autonsec3.example. > /dev/null 2>&1
for i in 0 1 2 3 4 5 6 7 8 9; do
ret=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list autonsec3.example. > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list autonsec3.example. > signing.out.test$n 2>&1
grep "Pending NSEC3 chain 1 1 10 BEEF" signing.out.test$n > /dev/null || ret=1
num=`grep "Pending " signing.out.test$n | wc -l`
[ $num -eq 1 ] || ret=1
[ $ret -eq 0 ] && break
- echo "I:waiting ... ($i)"
+ echo_i "waiting ... ($i)"
sleep 2
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:signing preset nsec3 zone"
+echo_i "signing preset nsec3 zone"
zsk=`cat autozsk.key`
ksk=`cat autoksk.key`
$SETTIME -K ns3 -P now -A now $zsk > /dev/null 2>&1
$SETTIME -K ns3 -P now -A now $ksk > /dev/null 2>&1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 loadkeys autonsec3.example. 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 loadkeys autonsec3.example. 2>&1 | sed 's/^/I:ns3 /'
-echo "I:waiting for changes to take effect"
+echo_i "waiting for changes to take effect"
sleep 3
-echo "I:converting zone from nsec3 to nsec"
+echo_i "converting zone from nsec3 to nsec"
$NSUPDATE > /dev/null 2>&1 << END || status=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone nsec3-to-nsec.example.
update delete nsec3-to-nsec.example. NSEC3PARAM
send
END
-echo "I:waiting for change to take effect"
+echo_i "waiting for change to take effect"
sleep 3
-echo "I:checking that expired RRSIGs from missing key are not deleted ($n)"
+echo_i "checking that expired RRSIGs from missing key are not deleted ($n)"
ret=0
missing=`sed 's/^K.*+007+0*\([0-9]\)/\1/' < missingzsk.key`
$JOURNALPRINT ns3/nozsk.example.db.jnl | \
awk '{if ($1 == "del" && $5 == "RRSIG" && $12 == id) {exit 1}} END {exit 0}' id=$missing || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that expired RRSIGs from inactive key are not deleted ($n)"
+echo_i "checking that expired RRSIGs from inactive key are not deleted ($n)"
ret=0
inactive=`sed 's/^K.*+007+0*\([0-9]\)/\1/' < inactivezsk.key`
$JOURNALPRINT ns3/inaczsk.example.db.jnl | \
awk '{if ($1 == "del" && $5 == "RRSIG" && $12 == id) {exit 1}} END {exit 0}' id=$inactive || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that non-replaceable RRSIGs are logged only once (missing private key) ($n)"
+echo_i "checking that non-replaceable RRSIGs are logged only once (missing private key) ($n)"
ret=0
loglines=`grep "Key nozsk.example/NSEC3RSASHA1/$missing .* retaining signatures" ns3/named.run | wc -l`
[ "$loglines" -eq 1 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that non-replaceable RRSIGs are logged only once (inactive private key) ($n)"
+echo_i "checking that non-replaceable RRSIGs are logged only once (inactive private key) ($n)"
ret=0
loglines=`grep "Key inaczsk.example/NSEC3RSASHA1/$inactive .* retaining signatures" ns3/named.run | wc -l`
[ "$loglines" -eq 1 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Send rndc sync command to ns1, ns2 and ns3, to force the dynamically
# signed zones to be dumped to their zone files
-echo "I:dumping zone files"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 sync 2>&1 | sed 's/^/I:ns1 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 sync 2>&1 | sed 's/^/I:ns2 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sync 2>&1 | sed 's/^/I:ns3 /'
+echo_i "dumping zone files"
+$RNDCCMD 10.53.0.1 sync 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.2 sync 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.3 sync 2>&1 | sed 's/^/I:ns3 /'
-echo "I:checking expired signatures were updated ($n)"
+echo_i "checking expired signatures were updated ($n)"
for i in 1 2 3 4 5 6 7 8 9
do
ret=0
[ $ret = 0 ] && break
sleep 1
done
-if [ $ret != 0 ]; then cat digcomp.out.test$n; echo "I:failed"; fi
+if [ $ret != 0 ]; then cat digcomp.out.test$n; echo_i "failed"; fi
n=`expr $n + 1`
status=`expr $status + $ret`
-echo "I:checking NSEC->NSEC3 conversion succeeded ($n)"
+echo_i "checking NSEC->NSEC3 conversion succeeded ($n)"
ret=0
$DIG $DIGOPTS nsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.ok.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.ok.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking direct NSEC3 autosigning succeeded ($n)"
+echo_i "checking direct NSEC3 autosigning succeeded ($n)"
ret=0
$DIG $DIGOPTS +noall +answer autonsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.ok.test$n || ret=1
[ -s dig.out.ns3.ok.test$n ] || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC->NSEC3 conversion failed with NSEC-only key ($n)"
+echo_i "checking NSEC->NSEC3 conversion failed with NSEC-only key ($n)"
ret=0
grep "failed: REFUSED" nsupdate.out > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC3->NSEC conversion succeeded ($n)"
+echo_i "checking NSEC3->NSEC conversion succeeded ($n)"
ret=0
# this command should result in an empty file:
$DIG $DIGOPTS +noall +answer nsec3-to-nsec.example. nsec3param @10.53.0.3 > dig.out.ns3.nx.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC3->NSEC conversion with 'rndc signing -nsec3param none' ($n)"
+echo_i "checking NSEC3->NSEC conversion with 'rndc signing -nsec3param none' ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param none autonsec3.example. > /dev/null 2>&1
+$RNDCCMD 10.53.0.3 signing -nsec3param none autonsec3.example. > /dev/null 2>&1
sleep 2
# this command should result in an empty file:
$DIG $DIGOPTS +noall +answer autonsec3.example. nsec3param @10.53.0.3 > dig.out.ns3.nx.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking TTLs of imported DNSKEYs (no default) ($n)"
+echo_i "checking TTLs of imported DNSKEYs (no default) ($n)"
ret=0
$DIG $DIGOPTS +tcp +noall +answer dnskey ttl1.example. @10.53.0.3 > dig.out.ns3.test$n || ret=1
[ -s dig.out.ns3.test$n ] || ret=1
awk 'BEGIN {r=0} $2 != 300 {r=1; print "I:found TTL " $2} END {exit r}' dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking TTLs of imported DNSKEYs (with default) ($n)"
+echo_i "checking TTLs of imported DNSKEYs (with default) ($n)"
ret=0
$DIG $DIGOPTS +tcp +noall +answer dnskey ttl2.example. @10.53.0.3 > dig.out.ns3.test$n || ret=1
[ -s dig.out.ns3.test$n ] || ret=1
awk 'BEGIN {r=0} $2 != 60 {r=1; print "I:found TTL " $2} END {exit r}' dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking TTLs of imported DNSKEYs (mismatched) ($n)"
+echo_i "checking TTLs of imported DNSKEYs (mismatched) ($n)"
ret=0
$DIG $DIGOPTS +tcp +noall +answer dnskey ttl3.example. @10.53.0.3 > dig.out.ns3.test$n || ret=1
[ -s dig.out.ns3.test$n ] || ret=1
awk 'BEGIN {r=0} $2 != 30 {r=1; print "I:found TTL " $2} END {exit r}' dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking TTLs of imported DNSKEYs (existing RRset) ($n)"
+echo_i "checking TTLs of imported DNSKEYs (existing RRset) ($n)"
ret=0
$DIG $DIGOPTS +tcp +noall +answer dnskey ttl4.example. @10.53.0.3 > dig.out.ns3.test$n || ret=1
[ -s dig.out.ns3.test$n ] || ret=1
awk 'BEGIN {r=0} $2 != 30 {r=1; print "I:found TTL " $2} END {exit r}' dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation NSEC ($n)"
+echo_i "checking positive validation NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth a.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation NSEC3 ($n)"
+echo_i "checking positive validation NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation OPTOUT ($n)"
+echo_i "checking positive validation OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NXDOMAIN NSEC ($n)"
+echo_i "checking negative validation NXDOMAIN NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth q.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth q.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NXDOMAIN NSEC3 ($n)"
+echo_i "checking negative validation NXDOMAIN NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth q.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NXDOMAIN OPTOUT ($n)"
+echo_i "checking negative validation NXDOMAIN OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth q.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NODATA NSEC ($n)"
+echo_i "checking negative validation NODATA NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth a.example. @10.53.0.4 txt > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NODATA NSEC3 ($n)"
+echo_i "checking negative validation NODATA NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 txt > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation NODATA OPTOUT ($n)"
+echo_i "checking negative validation NODATA OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 txt > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the insecure.example domain
-echo "I:checking 1-server insecurity proof NSEC ($n)"
+echo_i "checking 1-server insecurity proof NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.insecure.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking 1-server negative insecurity proof NSEC ($n)"
+echo_i "checking 1-server negative insecurity proof NSEC ($n)"
ret=0
$DIG $DIGOPTS q.insecure.example. a @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the secure.example domain
-echo "I:checking multi-stage positive validation NSEC/NSEC ($n)"
+echo_i "checking multi-stage positive validation NSEC/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation NSEC/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation NSEC/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/NSEC ($n)"
+echo_i "checking multi-stage positive validation NSEC3/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation NSEC3/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation NSEC3/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/NSEC ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking empty NODATA OPTOUT ($n)"
+echo_i "checking empty NODATA OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth empty.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
#grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the insecure.secure.example domain (insecurity proof)
-echo "I:checking 2-server insecurity proof ($n)"
+echo_i "checking 2-server insecurity proof ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.secure.example. @10.53.0.2 a \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check a negative response in insecure.secure.example
-echo "I:checking 2-server insecurity proof with a negative answer ($n)"
+echo_i "checking 2-server insecurity proof with a negative answer ($n)"
ret=0
$DIG $DIGOPTS q.insecure.secure.example. @10.53.0.2 a > dig.out.ns2.test$n \
|| ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking security root query ($n)"
+echo_i "checking security root query ($n)"
ret=0
$DIG $DIGOPTS . @10.53.0.4 key > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation RSASHA256 NSEC ($n)"
+echo_i "checking positive validation RSASHA256 NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.rsasha256.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.rsasha256.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation RSASHA512 NSEC ($n)"
+echo_i "checking positive validation RSASHA512 NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.rsasha512.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.rsasha512.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that positive validation in a privately secure zone works ($n)"
+echo_i "checking that positive validation in a privately secure zone works ($n)"
ret=0
$DIG $DIGOPTS +noauth a.private.secure.example. a @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that negative validation in a privately secure zone works ($n)"
+echo_i "checking that negative validation in a privately secure zone works ($n)"
ret=0
$DIG $DIGOPTS +noauth q.private.secure.example. a @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking privately secure to nxdomain works ($n)"
+echo_i "checking privately secure to nxdomain works ($n)"
ret=0
$DIG $DIGOPTS +noauth private2secure-nxdomain.private.secure.example. SOA @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Try validating with a revoked trusted key.
# This should fail.
-echo "I:checking that validation returns insecure due to revoked trusted key ($n)"
+echo_i "checking that validation returns insecure due to revoked trusted key ($n)"
ret=0
$DIG $DIGOPTS example. soa @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "flags:.*; QUERY" dig.out.ns5.test$n > /dev/null || ret=1
grep "flags:.* ad.*; QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that revoked key is present ($n)"
+echo_i "checking that revoked key is present ($n)"
ret=0
id=`cat rev.key`
$DIG $DIGOPTS +multi dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep '; key id = '"$id"'$' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that revoked key self-signs ($n)"
+echo_i "checking that revoked key self-signs ($n)"
ret=0
id=`cat rev.key`
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $id "'\. ' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for unpublished key ($n)"
+echo_i "checking for unpublished key ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < unpub.key`
$DIG $DIGOPTS +multi dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep '; key id = '"$id"'$' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for activated but unpublished key ($n)"
+echo_i "checking for activated but unpublished key ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < activate-now-publish-1day.key`
$DIG $DIGOPTS +multi dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep '; key id = '"$id"'$' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that standby key does not sign records ($n)"
+echo_i "checking that standby key does not sign records ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < standby.key`
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $id "'\. ' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that deactivated key does not sign records ($n)"
+echo_i "checking that deactivated key does not sign records ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < inact.key`
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $id "'\. ' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking insertion of public-only key ($n)"
+echo_i "checking insertion of public-only key ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < nopriv.key`
file="ns1/`cat nopriv.key`.key"
keydata=`grep DNSKEY $file`
$NSUPDATE > /dev/null 2>&1 <<END || status=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
zone .
ttl 3600
update add $keydata
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $id "'\. ' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking key deletion ($n)"
+echo_i "checking key deletion ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < del.key`
$DIG $DIGOPTS +multi dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep '; key id = '"$id"'$' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking secure-to-insecure transition, nsupdate ($n)"
+echo_i "checking secure-to-insecure transition, nsupdate ($n)"
ret=0
$NSUPDATE > /dev/null 2>&1 <<END || status=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone secure-to-insecure.example
update delete secure-to-insecure.example dnskey
send
$DIG $DIGOPTS axfr secure-to-insecure.example @10.53.0.3 > dig.out.ns3.test$n || ret=1
egrep '(RRSIG|DNSKEY|NSEC)' dig.out.ns3.test$n > /dev/null && ret=1
[ $ret -eq 0 ] && break
- echo "I:waiting ... ($i)"
+ echo_i "waiting ... ($i)"
sleep 2
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking secure-to-insecure transition, scheduled ($n)"
+echo_i "checking secure-to-insecure transition, scheduled ($n)"
ret=0
file="ns3/`cat del1.key`.key"
$SETTIME -I now -D now $file > /dev/null
file="ns3/`cat del2.key`.key"
$SETTIME -I now -D now $file > /dev/null
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sign secure-to-insecure2.example. 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 sign secure-to-insecure2.example. 2>&1 | sed 's/^/I:ns3 /'
for i in 0 1 2 3 4 5 6 7 8 9; do
ret=0
$DIG $DIGOPTS axfr secure-to-insecure2.example @10.53.0.3 > dig.out.ns3.test$n || ret=1
egrep '(RRSIG|DNSKEY|NSEC3)' dig.out.ns3.test$n > /dev/null && ret=1
[ $ret -eq 0 ] && break
- echo "I:waiting ... ($i)"
+ echo_i "waiting ... ($i)"
sleep 2
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that serial number and RRSIGs are both updated (rt21045) ($n)"
+echo_i "checking that serial number and RRSIGs are both updated (rt21045) ($n)"
ret=0
oldserial=`$DIG $DIGOPTS +short soa prepub.example @10.53.0.3 | awk '$0 !~ /SOA/ {print $3}'`
oldinception=`$DIG $DIGOPTS +short soa prepub.example @10.53.0.3 | awk '/SOA/ {print $6}' | sort -u`
$KEYGEN -3 -q -r $RANDFILE -K ns3 -P 0 -A +6d -I +38d -D +45d prepub.example > /dev/null
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sign prepub.example 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.3 sign prepub.example 2>&1 | sed 's/^/I:ns1 /'
newserial=$oldserial
try=0
while [ $oldserial -eq $newserial -a $try -lt 42 ]
[ "$oldserial" = "$newserial" ] && ret=1
[ "$oldinception" = "$newinception" ] && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:preparing to test key change corner cases"
-echo "I:removing a private key file"
+echo_i "preparing to test key change corner cases"
+echo_i "removing a private key file"
file="ns1/`cat vanishing.key`.private"
rm -f $file
-echo "I:preparing ZSK roll"
+echo_i "preparing ZSK roll"
starttime=`$PERL -e 'print time(), "\n";'`
oldfile=`cat active.key`
oldid=`sed 's/^K.+007+0*\([0-9]\)/\1/' < active.key`
# note previous zone serial number
oldserial=`$DIG $DIGOPTS +short soa . @10.53.0.1 | awk '{print $3}'`
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.1 loadkeys . 2>&1 | sed 's/^/I:ns1 /'
sleep 4
-echo "I:revoking key to duplicated key ID"
+echo_i "revoking key to duplicated key ID"
$SETTIME -R now -K ns2 Kbar.+005+30676.key > /dev/null
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 loadkeys bar. 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 loadkeys bar. 2>&1 | sed 's/^/I:ns2 /'
-echo "I:waiting for changes to take effect"
+echo_i "waiting for changes to take effect"
sleep 5
-echo "I:checking former standby key is now active ($n)"
+echo_i "checking former standby key is now active ($n)"
ret=0
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $newid "'\. ' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking former standby key has only signed incrementally ($n)"
+echo_i "checking former standby key has only signed incrementally ($n)"
ret=0
$DIG $DIGOPTS txt . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $newid "'\. ' dig.out.ns1.test$n > /dev/null && ret=1
grep 'RRSIG.*'" $oldid "'\. ' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that signing records have been marked as complete ($n)"
+echo_i "checking that signing records have been marked as complete ($n)"
ret=0
checkprivate . 10.53.0.1 || ret=1
checkprivate bar 10.53.0.2 || ret=1
n=`expr $n + 1`
status=`expr $status + $ret`
-echo "I:forcing full sign"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 sign . 2>&1 | sed 's/^/I:ns1 /'
+echo_i "forcing full sign"
+$RNDCCMD 10.53.0.1 sign . 2>&1 | sed 's/^/I:ns1 /'
-echo "I:waiting for change to take effect"
+echo_i "waiting for change to take effect"
sleep 5
-echo "I:checking former standby key has now signed fully ($n)"
+echo_i "checking former standby key has now signed fully ($n)"
ret=0
$DIG $DIGOPTS txt . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $newid "'\. ' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking SOA serial number has been incremented ($n)"
+echo_i "checking SOA serial number has been incremented ($n)"
ret=0
newserial=`$DIG $DIGOPTS +short soa . @10.53.0.1 | awk '{print $3}'`
[ "$newserial" != "$oldserial" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking delayed key publication/activation ($n)"
+echo_i "checking delayed key publication/activation ($n)"
ret=0
zsk=`cat delayzsk.key`
ksk=`cat delayksk.key`
# DNSKEY not expected:
awk 'BEGIN {r=1} $4=="DNSKEY" {r=0} END {exit r}' dig.out.ns3.test$n && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking scheduled key publication, not activation ($n)"
+echo_i "checking scheduled key publication, not activation ($n)"
ret=0
$SETTIME -K ns3 -P now+3s -A none $zsk > /dev/null 2>&1
$SETTIME -K ns3 -P now+3s -A none $ksk > /dev/null 2>&1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 loadkeys delay.example. 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.3 loadkeys delay.example. 2>&1 | sed 's/^/I:ns2 /'
-echo "I:waiting for changes to take effect"
+echo_i "waiting for changes to take effect"
sleep 5
$DIG $DIGOPTS +noall +answer dnskey delay.example. @10.53.0.3 > dig.out.ns3.test$n || ret=1
# RRSIG not expected:
awk 'BEGIN {r=1} $4=="RRSIG" {r=0} END {exit r}' dig.out.ns3.test$n && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking scheduled key activation ($n)"
+echo_i "checking scheduled key activation ($n)"
ret=0
$SETTIME -K ns3 -A now+3s $zsk > /dev/null 2>&1
$SETTIME -K ns3 -A now+3s $ksk > /dev/null 2>&1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 loadkeys delay.example. 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.3 loadkeys delay.example. 2>&1 | sed 's/^/I:ns2 /'
-echo "I:waiting for changes to take effect"
+echo_i "waiting for changes to take effect"
sleep 5
$DIG $DIGOPTS +noall +answer dnskey delay.example. @10.53.0.3 > dig.out.ns3.1.test$n || ret=1
# RRSIG expected:
awk 'BEGIN {r=1} $4=="RRSIG" {r=0} END {exit r}' dig.out.ns3.2.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking former active key was removed ($n)"
+echo_i "checking former active key was removed ($n)"
#
# Work out how long we need to sleep. Allow 4 seconds for the records
# to be removed.
sleep=`expr $starttime + 29 - $now`
case $sleep in
-*|0);;
-*) echo "I:waiting for timer to have activated"; sleep $sleep;;
+*) echo_i "waiting for timer to have activated"; sleep $sleep;;
esac
ret=0
$DIG $DIGOPTS +multi dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep '; key id = '"$oldid"'$' dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking private key file removal caused no immediate harm ($n)"
+echo_i "checking private key file removal caused no immediate harm ($n)"
ret=0
id=`sed 's/^K.+007+0*\([0-9]\)/\1/' < vanishing.key`
$DIG $DIGOPTS dnskey . @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep 'RRSIG.*'" $id "'\. ' dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking revoked key with duplicate key ID (failure expected) ($n)"
+echo_i "checking revoked key with duplicate key ID (failure expected) ($n)"
lret=0
id=30676
$DIG $DIGOPTS +multi dnskey bar @10.53.0.2 > dig.out.ns2.test$n || lret=1
$DIG $DIGOPTS dnskey bar @10.53.0.4 > dig.out.ns4.test$n || lret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || lret=1
n=`expr $n + 1`
-if [ $lret != 0 ]; then echo "I:not yet implemented"; fi
+if [ $lret != 0 ]; then echo_i "not yet implemented"; fi
-echo "I:checking key event timers are always set ($n)"
+echo_i "checking key event timers are always set ($n)"
# this is a regression test for a bug in which the next key event could
# be scheduled for the present moment, and then never fire. check for
# visible evidence of this error in the logs:
awk '/next key event/ {if ($1 == $8 && $2 == $9) exit 1}' */named.run || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# this confirms that key events are never scheduled more than
return $?
}
-echo "I:checking automatic key reloading interval ($n)"
+echo_i "checking automatic key reloading interval ($n)"
ret=0
check_interval ns1 3600 || ret=1
check_interval ns2 1800 || ret=1
check_interval ns3 600 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for key reloading loops ($n)"
+echo_i "checking for key reloading loops ($n)"
ret=0
# every key event should schedule a successor, so these should be equal
rekey_calls=`grep "reconfiguring zone keys" ns*/named.run | wc -l`
rekey_events=`grep "next key event" ns*/named.run | wc -l`
[ "$rekey_calls" = "$rekey_events" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:forcing full sign with unreadable keys ($n)"
+echo_i "forcing full sign with unreadable keys ($n)"
ret=0
chmod 0 ns1/K.+*+*.key ns1/K.+*+*.private || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 sign . 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.1 sign . 2>&1 | sed 's/^/I:ns1 /'
$DIG $DIGOPTS . @10.53.0.1 dnskey > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:test turning on auto-dnssec during reconfig ($n)"
+echo_i "test turning on auto-dnssec during reconfig ($n)"
ret=0
# first create a zone that doesn't have auto-dnssec
-rm -f ns3/*.nzf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone reconf.example '{ type master; file "reconf.example.db"; };' 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 addzone reconf.example '{ type master; file "reconf.example.db"; };' 2>&1 | sed 's/^/I:ns3 /'
rekey_calls=`grep "zone reconf.example.*next key event" ns3/named.run | wc -l`
[ "$rekey_calls" -eq 0 ] || ret=1
# ...then we add auto-dnssec and reconfigure
nzf=`ls ns3/*.nzf`
-echo 'zone reconf.example { type master; file "reconf.example.db"; allow-update { any; }; auto-dnssec maintain; };' > $nzf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 modzone reconf.example '{ type master; file "reconf.example.db"; allow-update { any; }; auto-dnssec maintain; };' > $nzf
+$RNDCCMD 10.53.0.3 reconfig 2>&1 | sed 's/^/I:ns3 /'
for i in 0 1 2 3 4 5 6 7 8 9; do
lret=0
rekey_calls=`grep "zone reconf.example.*next key event" ns3/named.run | wc -l`
[ "$rekey_calls" -gt 0 ] || lret=1
if [ "$lret" -eq 0 ]; then break; fi
- echo "I:waiting ... ($i)"
+ echo_i "waiting ... ($i)"
sleep 1
done
n=`expr $n + 1`
if [ "$lret" != 0 ]; then ret=$lret; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone with inactive KSK and active ZSK is properly autosigned ($n)"
+echo_i "check that zone with inactive KSK and active ZSK is properly autosigned ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inacksk2.example > dig.out.ns3.test$n
grep "${pattern}" dig.out.ns3.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that zone with inactive ZSK and active KSK is properly autosigned ($n)"
+echo_i "check that zone with inactive ZSK and active KSK is properly autosigned ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inaczsk2.example > dig.out.ns3.test$n
grep "SOA 7 2" dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# Check that DNSKEY is now signed with the ZSK.
#
-echo "I:check that zone with active and inactive KSK and active ZSK is properly"
-echo "I: resigned after the active KSK is deleted - stage 2: Verify that DNSKEY"
-echo "I: is now signed with the ZSK. ($n)"
+echo_i "check that zone with active and inactive KSK and active ZSK is properly"
+echo_i " resigned after the active KSK is deleted - stage 2: Verify that DNSKEY"
+echo_i " is now signed with the ZSK. ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inacksk3.example > dig.out.ns3.test$n
test $count -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# Check that zone is now signed with the KSK.
#
-echo "I:check that zone with active and inactive ZSK and active KSK is properly"
-echo "I: resigned after the active ZSK is deleted - stage 2: Verify that zone"
-echo "I: is now signed with the KSK. ($n)"
+echo_i "check that zone with active and inactive ZSK and active KSK is properly"
+echo_i " resigned after the active ZSK is deleted - stage 2: Verify that zone"
+echo_i " is now signed with the KSK. ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 axfr inaczsk3.example > dig.out.ns3.test$n
kskid=`awk '$4 == "DNSKEY" && $5 == 257 { print }' dig.out.ns3.test$n |
END {print count}' dig.out.ns3.test$n`
test $count -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns?/named.run
rm -f ns?/named.memstats
+rm -f ns?/named.conf
rm -f rndc.status.ns*
rm -f dig.out.ns*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/08/09 04:12:25 tbox Exp $ */
-
include "../../common/rndc.key";
-controls { inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/08/09 04:12:25 tbox Exp $ */
-
include "../../common/rndc.key";
-controls { inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/08/09 04:12:25 tbox Exp $ */
-
include "../../common/rndc.key";
-controls { inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.3 2011/08/09 04:12:25 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
n=`expr $n + 1`
-echo "I:Checking that reconfiguring empty zones is silent ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig
+echo_i "Checking that reconfiguring empty zones is silent ($n)"
+$RNDCCMD 10.53.0.1 reconfig
ret=0
grep "automatic empty zone" ns1/named.run > /dev/null || ret=1
grep "received control channel command 'reconfig'" ns1/named.run > /dev/null || ret=1
grep "reloading configuration succeeded" ns1/named.run > /dev/null || ret=1
sleep 1
grep "zone serial (0) unchanged." ns1/named.run > /dev/null && ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
-echo "I:Checking that reloading empty zones is silent ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload > /dev/null
+echo_i "Checking that reloading empty zones is silent ($n)"
+$RNDCCMD 10.53.0.1 reload > /dev/null
ret=0
grep "automatic empty zone" ns1/named.run > /dev/null || ret=1
grep "received control channel command 'reload'" ns1/named.run > /dev/null || ret=1
grep "reloading configuration succeeded" ns1/named.run > /dev/null || ret=1
sleep 1
grep "zone serial (0) unchanged." ns1/named.run > /dev/null && ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
VERSION=`../../../../isc-config.sh --version | cut -d = -f 2`
HOSTNAME=`$FEATURETEST --gethostname`
n=`expr $n + 1`
ret=0
-echo "I:Checking that default version works for rndc ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 status > rndc.status.ns1.$n 2>&1
+echo_i "Checking that default version works for rndc ($n)"
+$RNDCCMD 10.53.0.1 status > rndc.status.ns1.$n 2>&1
grep "^version: BIND $VERSION " rndc.status.ns1.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that custom version works for rndc ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > rndc.status.ns3.$n 2>&1
+echo_i "Checking that custom version works for rndc ($n)"
+$RNDCCMD 10.53.0.3 status > rndc.status.ns3.$n 2>&1
grep "^version: BIND $VERSION ${DESCRIPTION}${DESCRIPTION:+ }<id:........*> (this is a test of version)" rndc.status.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that default version works for query ($n)"
-$DIG +short version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+echo_i "Checking that default version works for query ($n)"
+$DIG $DIGOPTS +short version.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "^\"$VERSION\"$" dig.out.ns1.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that custom version works for query ($n)"
-$DIG +short version.bind txt ch @10.53.0.3 -p 5300 > dig.out.ns3.$n
+echo_i "Checking that custom version works for query ($n)"
+$DIG $DIGOPTS +short version.bind txt ch @10.53.0.3 > dig.out.ns3.$n
grep "^\"this is a test of version\"$" dig.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that default hostname works for query ($n)"
-$DIG +short hostname.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+echo_i "Checking that default hostname works for query ($n)"
+$DIG $DIGOPTS +short hostname.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "^\"$HOSTNAME\"$" dig.out.ns1.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that custom hostname works for query ($n)"
-$DIG +short hostname.bind txt ch @10.53.0.3 -p 5300 > dig.out.ns3.$n
+echo_i "Checking that custom hostname works for query ($n)"
+$DIG $DIGOPTS +short hostname.bind txt ch @10.53.0.3 > dig.out.ns3.$n
grep "^\"this.is.a.test.of.hostname\"$" dig.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that default server-id is none for query ($n)"
-$DIG id.server txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+echo_i "Checking that default server-id is none for query ($n)"
+$DIG $DIGOPTS id.server txt ch @10.53.0.1 > dig.out.ns1.$n
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns1.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that server-id hostname works for query ($n)"
-$DIG +short id.server txt ch @10.53.0.2 -p 5300 > dig.out.ns2.$n
+echo_i "Checking that server-id hostname works for query ($n)"
+$DIG $DIGOPTS +short id.server txt ch @10.53.0.2 > dig.out.ns2.$n
grep "^\"$HOSTNAME\"$" dig.out.ns2.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that server-id hostname works for EDNS name server ID request ($n)"
-$DIG +norec +nsid foo @10.53.0.2 -p 5300 > dig.out.ns2.$n
+echo_i "Checking that server-id hostname works for EDNS name server ID request ($n)"
+$DIG $DIGOPTS +norec +nsid foo @10.53.0.2 > dig.out.ns2.$n
grep "^; NSID: .* $NSID" dig.out.ns2.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that custom server-id works for query ($n)"
-$DIG +short id.server txt ch @10.53.0.3 -p 5300 > dig.out.ns3.$n
+echo_i "Checking that custom server-id works for query ($n)"
+$DIG $DIGOPTS +short id.server txt ch @10.53.0.3 > dig.out.ns3.$n
grep "^\"this.is.a.test.of.server-id\"$" dig.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`"; fi
n=`expr $n + 1`
ret=0
-echo "I:Checking that custom server-id works for EDNS name server ID request ($n)"
-$DIG +norec +nsid foo @10.53.0.3 -p 5300 > dig.out.ns3.$n
+echo_i "Checking that custom server-id works for EDNS name server ID request ($n)"
+$DIG $DIGOPTS +norec +nsid foo @10.53.0.3 > dig.out.ns3.$n
grep "^; NSID: .* (t) (h) (i) (s) (.) (i) (s) (.) (a) (.) (t) (e) (s) (t) (.) (o) (f) (.) (s) (e) (r) (v) (e) (r) (-) (i) (d)" dig.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo I:failed; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed; status=`expr $status + $ret`; fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f dig.out.ns2
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
rm -f ns2/named_dump.db.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2011/08/02 23:47:52 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.10 2011/08/02 23:47:52 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
status=0
n=0
-RNDCOPTS="-c ../common/rndc.conf -s 10.53.0.2 -p 9953"
+RNDCOPTS="-c ../common/rndc.conf -s 10.53.0.2 -p ${CONTROLPORT}"
DIGOPTS="+nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm \
- +nostat @10.53.0.2 -p 5300"
+ +nostat @10.53.0.2 -p ${PORT}"
# fill the cache with nodes from flushtest.example zone
load_cache () {
}
n=`expr $n + 1`
-echo "I:check correctness of routine cache cleaning ($n)"
+echo_i "check correctness of routine cache cleaning ($n)"
$DIG $DIGOPTS +tcp +keepopen -b 10.53.0.7 -f dig.batch > dig.out.ns2 || status=1
grep ";" dig.out.ns2
$PERL ../digcomp.pl --lc dig.out.ns2 knowngood.dig.out || status=1
n=`expr $n + 1`
-echo "I:only one tcp socket was used ($n)"
+echo_i "only one tcp socket was used ($n)"
tcpclients=`grep "client 10.53.0.7#[0-9]*:" ns2/named.run | awk '{print $4}' | sort | uniq -c | wc -l`
-test $tcpclients -eq 1 || { status=1; echo "I:failed"; }
+test $tcpclients -eq 1 || { status=1; echo_i "failed"; }
n=`expr $n + 1`
-echo "I:reset and check that records are correctly cached initially ($n)"
+echo_i "reset and check that records are correctly cached initially ($n)"
ret=0
load_cache
dump_cache
nrecords=`grep flushtest.example ns2/named_dump.db.$n | grep -v '^;' | wc -l`
[ $nrecords -eq 20 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing of the full cache ($n)"
+echo_i "check flushing of the full cache ($n)"
ret=0
clear_cache
dump_cache
nrecords=`grep flushtest.example ns2/named_dump.db.$n | grep -v '^;' | wc -l`
[ $nrecords -eq 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing of individual nodes (interior node) ($n)"
+echo_i "check flushing of individual nodes (interior node) ($n)"
ret=0
clear_cache
load_cache
in_cache txt top1.flushtest.example || ret=1
$RNDC $RNDCOPTS flushname top1.flushtest.example
in_cache txt top1.flushtest.example && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing of individual nodes (leaf node, under the interior node) ($n)"
+echo_i "check flushing of individual nodes (leaf node, under the interior node) ($n)"
ret=0
# leaf node, under the interior node (should still exist)
in_cache txt third2.second1.top1.flushtest.example || ret=1
$RNDC $RNDCOPTS flushname third2.second1.top1.flushtest.example
in_cache txt third2.second1.top1.flushtest.example && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing of individual nodes (another leaf node, with both positive and negative cache entries) ($n)"
+echo_i "check flushing of individual nodes (another leaf node, with both positive and negative cache entries) ($n)"
ret=0
# another leaf node, with both positive and negative cache entries
in_cache a third1.second1.top1.flushtest.example || ret=1
$RNDC $RNDCOPTS flushname third1.second1.top1.flushtest.example
in_cache a third1.second1.top1.flushtest.example && ret=1
in_cache txt third1.second1.top1.flushtest.example && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing a nonexistent name ($n)"
+echo_i "check flushing a nonexistent name ($n)"
ret=0
$RNDC $RNDCOPTS flushname fake.flushtest.example || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing of namespaces ($n)"
+echo_i "check flushing of namespaces ($n)"
ret=0
clear_cache
load_cache
in_cache txt second1.top2.flushtest.example && ret=1
in_cache txt second2.top2.flushtest.example && ret=1
in_cache txt second3.top2.flushtest.example && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check flushing a nonexistent namespace ($n)"
+echo_i "check flushing a nonexistent namespace ($n)"
ret=0
$RNDC $RNDCOPTS flushtree fake.flushtest.example || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check the number of cached records remaining ($n)"
+echo_i "check the number of cached records remaining ($n)"
ret=0
dump_cache
nrecords=`grep flushtest.example ns2/named_dump.db.$n | grep -v '^;' | wc -l`
[ $nrecords -eq 19 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check the check that flushname of a partial match works ($n)"
+echo_i "check the check that flushname of a partial match works ($n)"
ret=0
in_cache txt second2.top1.flushtest.example || ret=1
$RNDC $RNDCOPTS flushtree example
in_cache txt second2.top1.flushtest.example && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check the number of cached records remaining ($n)"
+echo_i "check the number of cached records remaining ($n)"
ret=0
dump_cache
nrecords=`grep flushtest.example ns2/named_dump.db.$n | grep -v '^;' | egrep '(TXT|ANY)' | wc -l`
-[ $nrecords -eq 1 ] || { ret=1; echo "I: found $nrecords records expected 1"; }
-if [ $ret != 0 ]; then echo "I:failed"; fi
+[ $nrecords -eq 1 ] || { ret=1; echo_i "found $nrecords records expected 1"; }
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2013-2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-rm -f dig.ns*.test*
-rm -f ns*/named.memstats
-rm -f ns*/named.run
-rm -f ns2/example.bk
+++ /dev/null
-; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
-;
-; 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.
-
-
-$TTL 300 ; 5 minutes
-@ IN SOA mname1. . (
- 2000042407 ; serial
- 20 ; refresh (20 seconds)
- 20 ; retry (20 seconds)
- 1814400 ; expire (3 weeks)
- 3600 ; minimum (1 hour)
- )
- NS ns1
-ns1 A 10.53.0.1
-@ MX 0 mail.eXaMpLe.
-mAiL A 10.53.0.1
+++ /dev/null
-/*
- * Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.1; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
- ixfr-from-differences yes;
- check-integrity no;
-};
-
-zone "example" {
- type master;
- file "example.db";
-};
+++ /dev/null
-/*
- * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.2;
- notify-source 10.53.0.2;
- transfer-source 10.53.0.2;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.2; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
- ixfr-from-differences yes;
- check-integrity no;
- no-case-compress { 10.53.0.2; };
-};
-
-zone "example" {
- type slave;
- file "example.bk";
- masters { 10.53.0.1; };
-};
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-DIGOPTS="+tcp +nosea +nostat +noquest +nocomm +nocmd"
-
-status=0
-n=0
-
-n=`expr $n + 1`
-echo "I:waiting for zone transfer to complete ($n)"
-ret=0
-for i in 1 2 3 4 5 6 7 8 9
-do
- $DIG $DIGOPTS soa example. @10.53.0.2 -p 5300 > dig.ns2.test$n
- grep SOA dig.ns2.test$n > /dev/null && break
-done
-
-n=`expr $n + 1`
-echo "I:testing case preserving responses - no acl ($n)"
-ret=0
-$DIG $DIGOPTS mx example. @10.53.0.1 -p 5300 > dig.ns1.test$n
-grep "0.mail.eXaMpLe" dig.ns1.test$n > /dev/null || ret=1
-grep "mAiL.example" dig.ns1.test$n > /dev/null || ret=1
-test $ret -eq 0 || echo "I:failed"
-status=`expr $status + $ret`
-
-n=`expr $n + 1`
-echo "I:testing no-case-compress acl '{ 10.53.0.2; }' ($n)"
-ret=0
-
-# check that we preserve zone case for non-matching query (10.53.0.1)
-$DIG $DIGOPTS mx example. -b 10.53.0.1 @10.53.0.1 -p 5300 > dig.ns1.test$n
-grep "0.mail.eXaMpLe" dig.ns1.test$n > /dev/null || ret=1
-grep "mAiL.example" dig.ns1.test$n > /dev/null || ret=1
-
-# check that we don't preserve zone case for match (10.53.0.2)
-$DIG $DIGOPTS mx example. -b 10.53.0.2 @10.53.0.2 -p 5300 > dig.ns2.test$n
-grep "0.mail.example" dig.ns2.test$n > /dev/null || ret=1
-grep "mail.example" dig.ns2.test$n > /dev/null || ret=1
-
-test $ret -eq 0 || echo "I:failed"
-status=`expr $status + $ret`
-
-echo "I:exit status: $status"
-[ $status -eq 0 ] || exit 1
$SIG{TERM} = \&rmpid;
my $localaddr = "10.53.0.3";
-my $localport = 5300;
+
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $verbose = 0;
my $ttl = 60;
my $zone = "example.broken";
"ans.py" is a fairly simple Python script that will respond as an
authoritative server to DNS queries. It opens a UDP socket on 10.53.0.4
-and fd92:7065:b8e:ffff::8, port 5300 (these are for DNS queries) and a TCP
-socket addresses on 10.53.0.4 at port 5301 (this is the control channel).
+and fd92:7065:b8e:ffff::8, port 5300 (or PORT) (these are for DNS queries)
+and a TCP socket addresses on 10.53.0.4 at port 5301 (or EXTRAPORT1)
+(this is the control channel).
Please note that all functionality and formatting are subject to change as
we determine what features the tool will need.
############################################################################
ip4 = "10.53.0.4"
ip6 = "fd92:7065:b8e:ffff::4"
-sock = 5300
+
+try: port=int(os.environ['PORT'])
+except: port=5300
+
+try: ctrlport=int(os.environ['EXTRAPORT1'])
+except: ctrlport=5300
query4_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-query4_socket.bind((ip4, sock))
+query4_socket.bind((ip4, port))
havev6 = True
try:
query6_socket = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
try:
- query6_socket.bind((ip6, sock))
+ query6_socket.bind((ip6, port))
except:
query6_socket.close()
havev6 = False
havev6 = False
ctrl_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-ctrl_socket.bind((ip4, sock + 1))
+ctrl_socket.bind((ip4, ctrlport))
ctrl_socket.listen(5)
signal.signal(signal.SIGTERM, sigterm)
running = True
-print ("Listening on %s port %d" % (ip4, sock))
+print ("Listening on %s port %d" % (ip4, port))
if havev6:
- print ("Listening on %s port %d" % (ip6, sock))
-print ("Control channel on %s port %d" % (ip4, sock + 1))
+ print ("Listening on %s port %d" % (ip6, port))
+print ("Control channel on %s port %d" % (ip4, ctrlport))
print ("Ctrl-c to quit")
if havev6:
# PERFORMANCE OF THIS SOFTWARE.
rm -f dig.out.* named*.pid
+rm -f ns*/named.conf
rm -f */named.memstats */named.recursing */named.lock */named.run */ans.run
rm -f ns2/K* ns2/dsset-* ns2/example.db.signed
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { fd92:7065:b8e:ffff::7; };
};
controls {
- inet 10.53.0.7 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.7 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
then
:
else
- echo "I:This test requires the dnspython module." >&2
+ echo_i "This test requires the dnspython module." >&2
exit 1
fi
else
- echo "I:This test requires Python and the dnspython module." >&2
+ echo_i "This test requires Python and the dnspython module." >&2
exit 1
fi
then
:
else
- echo "I:Net::DNS versions 0.69 to 0.74 have bugs that cause this test to fail: please update." >&2
+ echo_i "Net::DNS versions 0.69 to 0.74 have bugs that cause this test to fail: please update." >&2
exit 1
fi
else
- echo "I:This test requires the perl Net::DNS library." >&2
+ echo_i "This test requires the perl Net::DNS library." >&2
exit 1
fi
if $PERL -e 'use Net::DNS::Nameserver;' 2>/dev/null
then
:
else
- echo "I:This test requires the Net::DNS::Nameserver library." >&2
+ echo_i "This test requires the Net::DNS::Nameserver library." >&2
exit 1
fi
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+copy_setports ns7/named.conf.in ns7/named.conf
+
cd ns2
$SHELL sign.sh
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="-p 5300 "
-SEND="$PERL $SYSTEMTESTTOP/send.pl 10.53.0.4 5301"
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+SEND="$PERL $SYSTEMTESTTOP/send.pl 10.53.0.4 ${EXTRAPORT1}"
status=0
n=0
n=`expr $n + 1`
-echo "I:checking short DNAME from authoritative ($n)"
+echo_i "checking short DNAME from authoritative ($n)"
ret=0
-$DIG a.short-dname.example @10.53.0.2 a -p 5300 > dig.out.ns2.short || ret=1
+$DIG $DIGOPTS a.short-dname.example @10.53.0.2 a > dig.out.ns2.short || ret=1
grep "status: NOERROR" dig.out.ns2.short > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking short DNAME from recursive ($n)"
+echo_i "checking short DNAME from recursive ($n)"
ret=0
-$DIG a.short-dname.example @10.53.0.7 a -p 5300 > dig.out.ns4.short || ret=1
+$DIG $DIGOPTS a.short-dname.example @10.53.0.7 a > dig.out.ns4.short || ret=1
grep "status: NOERROR" dig.out.ns4.short > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking long DNAME from authoritative ($n)"
+echo_i "checking long DNAME from authoritative ($n)"
ret=0
-$DIG a.long-dname.example @10.53.0.2 a -p 5300 > dig.out.ns2.long || ret=1
+$DIG $DIGOPTS a.long-dname.example @10.53.0.2 a > dig.out.ns2.long || ret=1
grep "status: NOERROR" dig.out.ns2.long > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking long DNAME from recursive ($n)"
+echo_i "checking long DNAME from recursive ($n)"
ret=0
-$DIG a.long-dname.example @10.53.0.7 a -p 5300 > dig.out.ns4.long || ret=1
+$DIG $DIGOPTS a.long-dname.example @10.53.0.7 a > dig.out.ns4.long || ret=1
grep "status: NOERROR" dig.out.ns4.long > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking (too) long DNAME from authoritative ($n)"
+echo_i "checking (too) long DNAME from authoritative ($n)"
ret=0
-$DIG 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.long-dname.example @10.53.0.2 a -p 5300 > dig.out.ns2.toolong || ret=1
+$DIG $DIGOPTS 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.long-dname.example @10.53.0.2 a > dig.out.ns2.toolong || ret=1
grep "status: YXDOMAIN" dig.out.ns2.toolong > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking (too) long DNAME from recursive with cached DNAME ($n)"
+echo_i "checking (too) long DNAME from recursive with cached DNAME ($n)"
ret=0
-$DIG 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.long-dname.example @10.53.0.7 a -p 5300 > dig.out.ns4.cachedtoolong || ret=1
+$DIG $DIGOPTS 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.long-dname.example @10.53.0.7 a > dig.out.ns4.cachedtoolong || ret=1
grep "status: YXDOMAIN" dig.out.ns4.cachedtoolong > /dev/null || ret=1
grep '^long-dname\.example\..*DNAME.*long' dig.out.ns4.cachedtoolong > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking (too) long DNAME from recursive without cached DNAME ($n)"
+echo_i "checking (too) long DNAME from recursive without cached DNAME ($n)"
ret=0
-$DIG 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglong.toolong-dname.example @10.53.0.7 a -p 5300 > dig.out.ns4.uncachedtoolong || ret=1
+$DIG $DIGOPTS 01234567890123456789012345678901234567890123456789.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglonglong.longlonglonglonglonglonglonglonglonglonglonglonglonglong.toolong-dname.example @10.53.0.7 a > dig.out.ns4.uncachedtoolong || ret=1
grep "status: YXDOMAIN" dig.out.ns4.uncachedtoolong > /dev/null || ret=1
grep '^toolong-dname\.example\..*DNAME.*long' dig.out.ns4.uncachedtoolong > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to DNAME from authoritative ($n)"
+echo_i "checking CNAME to DNAME from authoritative ($n)"
ret=0
-$DIG cname.example @10.53.0.2 a -p 5300 > dig.out.ns2.cname
+$DIG $DIGOPTS cname.example @10.53.0.2 a > dig.out.ns2.cname
grep "status: NOERROR" dig.out.ns2.cname > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to DNAME from recursive"
+echo_i "checking CNAME to DNAME from recursive"
ret=0
-$DIG cname.example @10.53.0.7 a -p 5300 > dig.out.ns4.cname
+$DIG $DIGOPTS cname.example @10.53.0.7 a > dig.out.ns4.cname
grep "status: NOERROR" dig.out.ns4.cname > /dev/null || ret=1
grep '^cname.example.' dig.out.ns4.cname > /dev/null || ret=1
grep '^cnamedname.example.' dig.out.ns4.cname > /dev/null || ret=1
grep '^a.cnamedname.example.' dig.out.ns4.cname > /dev/null || ret=1
grep '^a.target.example.' dig.out.ns4.cname > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking DNAME is returned with synthesized CNAME before DNAME ($n)"
+echo_i "checking DNAME is returned with synthesized CNAME before DNAME ($n)"
ret=0
-$DIG @10.53.0.7 -p 5300 name.synth-then-dname.example.broken A > dig.out.test$n
+$DIG $DIGOPTS @10.53.0.7 name.synth-then-dname.example.broken A > dig.out.test$n
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
grep '^name.synth-then-dname\.example\.broken\..*CNAME.*name.$' dig.out.test$n > /dev/null || ret=1
grep '^synth-then-dname\.example\.broken\..*DNAME.*\.$' dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking DNAME is returned with CNAME to synthesized CNAME before DNAME ($n)"
+echo_i "checking DNAME is returned with CNAME to synthesized CNAME before DNAME ($n)"
ret=0
-$DIG @10.53.0.7 -p 5300 cname-to-synth2-then-dname.example.broken A > dig.out.test$n
+$DIG $DIGOPTS @10.53.0.7 cname-to-synth2-then-dname.example.broken A > dig.out.test$n
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
grep '^cname-to-synth2-then-dname\.example\.broken\..*CNAME.*name\.synth2-then-dname\.example\.broken.$' dig.out.test$n > /dev/null || ret=1
grep '^name\.synth2-then-dname\.example\.broken\..*CNAME.*name.$' dig.out.test$n > /dev/null || ret=1
grep '^synth2-then-dname\.example\.broken\..*DNAME.*\.$' dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME loops are detected ($n)"
+echo_i "checking CNAME loops are detected ($n)"
ret=0
-$DIG @10.53.0.7 -p 5300 loop.example > dig.out.test$n
+$DIG $DIGOPTS @10.53.0.7 loop.example > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 17" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to external delegated zones is handled ($n)"
+echo_i "checking CNAME to external delegated zones is handled ($n)"
ret=0
-$DIG @10.53.0.7 -p 5300 a.example > dig.out.test$n
+$DIG $DIGOPTS @10.53.0.7 a.example > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 2" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to internal delegated zones is handled ($n)"
+echo_i "checking CNAME to internal delegated zones is handled ($n)"
ret=0
-$DIG @10.53.0.7 -p 5300 b.example > dig.out.test$n
+$DIG $DIGOPTS @10.53.0.7 b.example > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 2" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to signed external delgation is handled ($n)"
+echo_i "checking CNAME to signed external delgation is handled ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.7 -p 5300 c.example > dig.out.$n
+$DIG $DIGOPTS @10.53.0.7 c.example > dig.out.$n
grep "status: NOERROR" dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i " failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME to signed internal delgation is handled ($n)"
+echo_i "checking CNAME to signed internal delgation is handled ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.7 -p 5300 d.example > dig.out.$n
+$DIG $DIGOPTS @10.53.0.7 d.example > dig.out.$n
grep "status: NOERROR" dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i " failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME chains in various orders ($n)"
+echo_i "checking CNAME chains in various orders ($n)"
ret=0
echo "cname,cname,cname|1,2,3,4,s1,s2,s3,s4" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.1.$n 2>&1
grep 'status: NOERROR' dig.out.1.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.1.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "cname,cname,cname|1,1,2,2,3,4,s4,s3,s1" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.2.$n 2>&1
grep 'status: NOERROR' dig.out.2.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.2.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "cname,cname,cname|2,1,3,4,s3,s1,s2,s4" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.3.$n 2>&1
grep 'status: NOERROR' dig.out.3.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.3.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "cname,cname,cname|4,3,2,1,s4,s3,s2,s1" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.4.$n 2>&1
grep 'status: NOERROR' dig.out.4.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.4.$n > /dev/null 2>&1 || ret=1
echo "cname,cname,cname|4,3,2,1,s4,s3,s2,s1" | $SEND
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.5.$n 2>&1
grep 'status: NOERROR' dig.out.5.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.5.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "cname,cname,cname|4,3,3,3,s1,s1,1,3,4" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.6.$n 2>&1
grep 'status: NOERROR' dig.out.6.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.6.$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that only the initial CNAME is cached ($n)"
+echo_i "checking that only the initial CNAME is cached ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "cname,cname,cname|1,2,3,4,s1,s2,s3,s4" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.1.$n 2>&1
sleep 1
$DIG $DIGOPTS +noall +answer @10.53.0.7 cname1.domain.nil > dig.out.2.$n 2>&1
ttl=`awk '{print $2}' dig.out.2.$n`
[ "$ttl" -eq 86400 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking DNAME chains in various orders ($n)"
+echo_i "checking DNAME chains in various orders ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "dname,dname|5,4,3,2,1,s5,s4,s3,s2,s1" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.1.$n 2>&1
grep 'status: NOERROR' dig.out.1.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 3' dig.out.1.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "dname,dname|5,4,3,2,1,s5,s4,s3,s2,s1" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.2.$n 2>&1
grep 'status: NOERROR' dig.out.2.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 3' dig.out.2.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "dname,dname|2,3,s1,s2,s3,s4,1" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.3.$n 2>&1
grep 'status: NOERROR' dig.out.3.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 3' dig.out.3.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking external CNAME/DNAME chains in various orders ($n)"
+echo_i "checking external CNAME/DNAME chains in various orders ($n)"
ret=0
echo "xname,dname|1,2,3,4,s1,s2,s3,s4" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.1.$n 2>&1
grep 'status: NOERROR' dig.out.1.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.1.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "xname,dname|s2,2,s1,1,4,s4,3" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.2.$n 2>&1
grep 'status: NOERROR' dig.out.2.$n > /dev/null 2>&1 || ret=1
grep 'ANSWER: 2' dig.out.2.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
echo "xname,dname|s2,2,2,2" | $SEND
$DIG $DIGOPTS @10.53.0.7 test.domain.nil > dig.out.3.$n 2>&1
grep 'status: SERVFAIL' dig.out.3.$n > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 flush 2>&1 | sed 's/^/I:ns7 /'
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDCCMD 10.53.0.7 flush 2>&1 | sed 's/^/ns7 /' | cat_i
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
n=0
n=`expr $n + 1`
-echo "I: checking that named-checkconf handles a known good config ($n)"
+echo_i "checking that named-checkconf handles a known good config ($n)"
ret=0
$CHECKCONF good.conf > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf prints a known good config ($n)"
+echo_i "checking that named-checkconf prints a known good config ($n)"
ret=0
awk 'BEGIN { ok = 0; } /cut here/ { ok = 1; getline } ok == 1 { print }' good.conf > good.conf.in
[ -s good.conf.in ] || ret=1
$CHECKCONF -p good.conf.in | grep -v '^good.conf.in:' > good.conf.out 2>&1 || ret=1
cmp good.conf.in good.conf.out || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -x removes secrets ($n)"
+echo_i "checking that named-checkconf -x removes secrets ($n)"
ret=0
# ensure there is a secret and that it is not the check string.
grep 'secret "' good.conf.in > /dev/null || ret=1
grep 'secret "????????????????"' good.conf.in > /dev/null 2>&1 && ret=1
$CHECKCONF -p -x good.conf.in | grep -v '^good.conf.in:' > good.conf.out 2>&1 || ret=1
grep 'secret "????????????????"' good.conf.out > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
for bad in bad*.conf
do
n=`expr $n + 1`
- echo "I: checking that named-checkconf detects error in $bad ($n)"
+ echo_i "checking that named-checkconf detects error in $bad ($n)"
ret=0
$CHECKCONF $bad > checkconf.out 2>&1
if [ $? != 1 ]; then ret=1; fi
grep "$pat" checkconf.out > /dev/null || ret=1
;;
esac
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for good in good-*.conf
do
n=`expr $n + 1`
- echo "I: checking that named-checkconf detects no error in $good ($n)"
+ echo_i "checking that named-checkconf detects no error in $good ($n)"
ret=0
$CHECKCONF $good > /dev/null 2>&1
- if [ $? != 0 ]; then echo "I:failed"; ret=1; fi
+ if [ $? != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
done
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z catches missing hint file ($n)"
+echo_i "checking that named-checkconf -z catches missing hint file ($n)"
ret=0
$CHECKCONF -z hint-nofile.conf > hint-nofile.out 2>&1 && ret=1
grep "could not configure root hints from 'nonexistent.db': file not found" hint-nofile.out > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf warns of notify inconsistencies ($n)"
+echo_i "checking that named-checkconf warns of notify inconsistencies ($n)"
ret=0
warnings=`$CHECKCONF notify.conf 2>&1 | grep "'notify' is disabled" | wc -l`
[ $warnings -eq 3 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking named-checkconf dnssec warnings ($n)"
+echo_i "checking named-checkconf dnssec warnings ($n)"
ret=0
$CHECKCONF dnssec.1 2>&1 | grep 'validation yes.*enable no' > /dev/null || ret=1
$CHECKCONF dnssec.2 2>&1 | grep 'auto-dnssec may only be ' > /dev/null || ret=1
$CHECKCONF dnssec.2 2>&1 | grep 'validation yes.*enable no' > /dev/null || ret=1
# this one should have no warnings
$CHECKCONF dnssec.3 2>&1 | grep '.*' && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: range checking fields that do not allow zero ($n)"
+echo_i "range checking fields that do not allow zero ($n)"
ret=0
for field in max-retry-time min-retry-time max-refresh-time min-refresh-time; do
cat > badzero.conf << EOF
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
- [ $? -eq 1 ] || { echo "I: options $field failed" ; ret=1; }
+ [ $? -eq 1 ] || { echo_i "options $field failed" ; ret=1; }
cat > badzero.conf << EOF
view dummy {
$field 0;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
- [ $? -eq 1 ] || { echo "I: view $field failed" ; ret=1; }
+ [ $? -eq 1 ] || { echo_i "view $field failed" ; ret=1; }
cat > badzero.conf << EOF
options {
$field 0;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
- [ $? -eq 1 ] || { echo "I: options + view $field failed" ; ret=1; }
+ [ $? -eq 1 ] || { echo_i "options + view $field failed" ; ret=1; }
cat > badzero.conf << EOF
zone dummy {
type slave;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
- [ $? -eq 1 ] || { echo "I: zone $field failed" ; ret=1; }
+ [ $? -eq 1 ] || { echo_i "zone $field failed" ; ret=1; }
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking options allowed in inline-signing slaves ($n)"
+echo_i "checking options allowed in inline-signing slaves ($n)"
ret=0
l=`$CHECKCONF bad-dnssec.conf 2>&1 | grep "dnssec-dnskey-kskonly.*requires inline" | wc -l`
[ $l -eq 1 ] || ret=1
[ $l -eq 1 ] || ret=1
l=`$CHECKCONF bad-dnssec.conf 2>&1 | grep "update-check-ksk.*requires inline" | wc -l`
[ $l -eq 1 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check file + inline-signing for slave zones ($n)"
+echo_i "check file + inline-signing for slave zones ($n)"
l=`$CHECKCONF inline-no.conf 2>&1 | grep "missing 'file' entry" | wc -l`
[ $l -eq 0 ] || ret=1
l=`$CHECKCONF inline-good.conf 2>&1 | grep "missing 'file' entry" | wc -l`
[ $l -eq 0 ] || ret=1
l=`$CHECKCONF inline-bad.conf 2>&1 | grep "missing 'file' entry" | wc -l`
[ $l -eq 1 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking for missing key directory warning ($n)"
+echo_i "checking for missing key directory warning ($n)"
ret=0
rm -rf test.keydir
l=`$CHECKCONF warn-keydir.conf 2>&1 | grep "'test.keydir' does not exist" | wc -l`
l=`$CHECKCONF warn-keydir.conf 2>&1 | grep "key-directory" | wc -l`
[ $l -eq 0 ] || ret=1
rm -rf test.keydir
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z skips zone check with alternate databases ($n)"
+echo_i "checking that named-checkconf -z skips zone check with alternate databases ($n)"
ret=0
$CHECKCONF -z altdb.conf > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z fails on view with ANY class ($n)"
+echo_i "checking that named-checkconf -z fails on view with ANY class ($n)"
ret=0
$CHECKCONF -z view-class-any1.conf > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z fails on view with CLASS255 class ($n)"
+echo_i "checking that named-checkconf -z fails on view with CLASS255 class ($n)"
ret=0
$CHECKCONF -z view-class-any2.conf > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z passes on view with IN class ($n)"
+echo_i "checking that named-checkconf -z passes on view with IN class ($n)"
ret=0
$CHECKCONF -z view-class-in1.conf > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named-checkconf -z passes on view with CLASS1 class ($n)"
+echo_i "checking that named-checkconf -z passes on view with CLASS1 class ($n)"
ret=0
$CHECKCONF -z view-class-in2.conf > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-names fails as configured ($n)"
+echo_i "check that check-names fails as configured ($n)"
ret=0
$CHECKCONF -z check-names-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "near '_underscore': bad name (check-names)" checkconf.out$n > /dev/null || ret=1
grep "zone check-names/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-mx fails as configured ($n)"
+echo_i "check that check-mx fails as configured ($n)"
ret=0
$CHECKCONF -z check-mx-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "near '10.0.0.1': MX is an address" checkconf.out$n > /dev/null || ret=1
grep "zone check-mx/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-dup-records fails as configured ($n)"
+echo_i "check that check-dup-records fails as configured ($n)"
ret=0
$CHECKCONF -z check-dup-records-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "has semantically identical records" checkconf.out$n > /dev/null || ret=1
grep "zone check-dup-records/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-mx fails as configured ($n)"
+echo_i "check that check-mx fails as configured ($n)"
ret=0
$CHECKCONF -z check-mx-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "failed: MX is an address" checkconf.out$n > /dev/null || ret=1
grep "zone check-mx/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-mx-cname fails as configured ($n)"
+echo_i "check that check-mx-cname fails as configured ($n)"
ret=0
$CHECKCONF -z check-mx-cname-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "MX.* is a CNAME (illegal)" checkconf.out$n > /dev/null || ret=1
grep "zone check-mx-cname/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that check-srv-cname fails as configured ($n)"
+echo_i "check that check-srv-cname fails as configured ($n)"
ret=0
$CHECKCONF -z check-srv-cname-fail.conf > checkconf.out$n 2>&1 && ret=1
grep "SRV.* is a CNAME (illegal)" checkconf.out$n > /dev/null || ret=1
grep "zone check-mx-cname/IN: loaded serial" < checkconf.out$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that named-checkconf -p properly print a port range ($n)"
+echo_i "check that named-checkconf -p properly print a port range ($n)"
ret=0
$CHECKCONF -p portrange-good.conf > checkconf.out$n 2>&1 || ret=1
grep "range 8610 8614;" checkconf.out$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that 'dnssec-lookaside auto;' generates a warning ($n)"
+echo_i "check that 'dnssec-lookaside auto;' generates a warning ($n)"
ret=0
$CHECKCONF warn-dlv-auto.conf > checkconf.out$n 2>/dev/null || ret=1
grep "dnssec-lookaside 'auto' is no longer supported" checkconf.out$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that 'dnssec-lookaside . trust-anchor dlv.isc.org;' generates a warning ($n)"
+echo_i "check that 'dnssec-lookaside . trust-anchor dlv.isc.org;' generates a warning ($n)"
ret=0
$CHECKCONF warn-dlv-dlv.isc.org.conf > checkconf.out$n 2>/dev/null || ret=1
grep "dlv.isc.org has been shut down" checkconf.out$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that 'dnssec-lookaside . trust-anchor dlv.example.com;' doesn't generates a warning ($n)"
+echo_i "check that 'dnssec-lookaside . trust-anchor dlv.example.com;' doesn't generates a warning ($n)"
ret=0
$CHECKCONF good-dlv-dlv.example.com.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that the 2010 ICANN ROOT KSK without the 2017 ICANN ROOT KSK generates a warning ($n)"
+echo_i "check that the 2010 ICANN ROOT KSK without the 2017 ICANN ROOT KSK generates a warning ($n)"
ret=0
$CHECKCONF check-root-ksk-2010.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] || ret=1
grep "trusted-key for root from 2010 without updated" checkconf.out$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-echo "I: check that the 2010 ICANN ROOT KSK with the 2017 ICANN ROOT KSK does not warning ($n)"
+echo_i "check that the 2010 ICANN ROOT KSK with the 2017 ICANN ROOT KSK does not warning ($n)"
ret=0
$CHECKCONF check-root-ksk-both.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-echo "I: check that the 2017 ICANN ROOT KSK alone does not warning ($n)"
+echo_i "check that the 2017 ICANN ROOT KSK alone does not warning ($n)"
ret=0
$CHECKCONF check-root-ksk-2017.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-echo "I: check that the dlv.isc.org KSK generates a warning ($n)"
+echo_i "check that the dlv.isc.org KSK generates a warning ($n)"
ret=0
$CHECKCONF check-dlv-ksk-key.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] || ret=1
grep "trusted-key for dlv.isc.org still present" checkconf.out$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
status=0
n=1
-echo "I:checking for correct DS, looking up key via 'dig' ($n)"
+echo_i "checking for correct DS, looking up key via 'dig' ($n)"
ret=0
$CHECKDS ok.example > checkds.out.$n 2>&1 || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for correct DS, obtaining key from file ($n)"
+echo_i "checking for correct DS, obtaining key from file ($n)"
ret=0
$CHECKDS -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for correct DLV, looking up key via 'dig' ($n)"
+echo_i "checking for correct DLV, looking up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example ok.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for correct DLV, obtaining key from file ($n)"
+echo_i "checking for correct DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for incorrect DS, lowronging up key via 'dig' ($n)"
+echo_i "checking for incorrect DS, lowronging up key via 'dig' ($n)"
ret=0
$CHECKDS wrong.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for incorrect DS, obtaining key from file ($n)"
+echo_i "checking for incorrect DS, obtaining key from file ($n)"
ret=0
$CHECKDS -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for incorrect DLV, lowronging up key via 'dig' ($n)"
+echo_i "checking for incorrect DLV, lowronging up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example wrong.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for incorrect DLV, obtaining key from file ($n)"
+echo_i "checking for incorrect DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for partially missing DS, looking up key via 'dig' ($n)"
+echo_i "checking for partially missing DS, looking up key via 'dig' ($n)"
ret=0
$CHECKDS missing.example > checkds.out.$n || ret=1
grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for partially missing DS, obtaining key from file ($n)"
+echo_i "checking for partially missing DS, obtaining key from file ($n)"
ret=0
$CHECKDS -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for partially missing DLV, looking up key via 'dig' ($n)"
+echo_i "checking for partially missing DLV, looking up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example missing.example > checkds.out.$n || ret=1
grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for partially missing DLV, obtaining key from file ($n)"
+echo_i "checking for partially missing DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for entirely missing DS, looking up key via 'dig' ($n)"
+echo_i "checking for entirely missing DS, looking up key via 'dig' ($n)"
ret=0
$CHECKDS none.example > checkds.out.$n && ret=1
grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for entirely missing DS, obtaining key from file ($n)"
+echo_i "checking for entirely missing DS, obtaining key from file ($n)"
ret=0
$CHECKDS -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for entirely missing DLV, looking up key via 'dig' ($n)"
+echo_i "checking for entirely missing DLV, looking up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example none.example > checkds.out.$n && ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for entirely missing DLV, obtaining key from file ($n)"
+echo_i "checking for entirely missing DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ $status = 0 ]; then $SHELL clean.sh; fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.6 2007/09/26 03:22:43 marka Exp $
-
+rm -f ns*/named.conf
rm -f dig.out.ns?.test*
rm -f nsupdate.out.test*
rm -f ns1/*.example.db
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.9 2007/06/19 23:47:01 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.1; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
+ recursion no;
+ notify yes;
check-integrity no;
};
+++ /dev/null
-/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.conf,v 1.7 2007/06/18 23:47:27 tbox Exp $ */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.2;
- notify-source 10.53.0.2;
- transfer-source 10.53.0.2;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.2; };
- listen-on-v6 { none; };
- recursion yes;
- acache-enable yes;
- check-names response warn;
- notify yes;
-};
-
-zone "." {
- type hint;
- file "root.hints";
-};
/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
- recursion no;
- notify yes;
+ recursion yes;
+ acache-enable yes;
+ check-names response warn;
+ notify yes;
};
-include "../../common/controls.conf";
-
-zone "example" {
- type master;
- file "example.db";
- allow-update { any; };
+zone "." {
+ type hint;
+ file "root.hints";
};
+++ /dev/null
-/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.conf,v 1.7 2007/06/18 23:47:27 tbox Exp $ */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.3;
- notify-source 10.53.0.3;
- transfer-source 10.53.0.3;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.3; };
- listen-on-v6 { none; };
- recursion yes;
- acache-enable yes;
- check-names response fail;
- notify yes;
-};
-
-zone "." {
- type hint;
- file "root.hints";
-};
--- /dev/null
+/*
+ * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * 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.
+ */
+
+options {
+ query-source address 10.53.0.3;
+ notify-source 10.53.0.3;
+ transfer-source 10.53.0.3;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.3; };
+ listen-on-v6 { none; };
+ recursion yes;
+ acache-enable yes;
+ check-names response fail;
+ notify yes;
+};
+
+zone "." {
+ type hint;
+ file "root.hints";
+};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.7 2007/06/18 23:47:27 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.5 2007/06/19 23:47:01 tbox Exp $
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
cp ns1/ignore.example.db.in ns1/ignore.example.db
cp ns1/warn.example.db.in ns1/warn.example.db
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.5 2007/06/19 23:47:01 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
status=0
n=1
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p ${PORT}"
# Entry should exist.
-echo "I: check for failure from on zone load for 'check-names fail;' ($n)"
+echo_i "check for failure from on zone load for 'check-names fail;' ($n)"
ret=0
$DIG $DIGOPTS fail.example. @10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep SERVFAIL dig.out.ns1.test$n > /dev/null || ret=1
grep 'xx_xx.fail.example: bad owner name (check-names)' ns1/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# Entry should exist.
-echo "I: check for warnings from on zone load for 'check-names warn;' ($n)"
+echo_i "check for warnings from on zone load for 'check-names warn;' ($n)"
ret=0
grep 'xx_xx.warn.example: bad owner name (check-names)' ns1/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# Entry should not exist.
-echo "I: check for warnings from on zone load for 'check-names ignore;' ($n)"
+echo_i "check for warnings from on zone load for 'check-names ignore;' ($n)"
ret=1
grep 'yy_yy.ignore.example: bad owner name (check-names)' ns1/named.run || ret=0
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# Entry should exist
-echo "I: check that 'check-names response warn;' works ($n)"
+echo_i "check that 'check-names response warn;' works ($n)"
ret=0
$DIG $DIGOPTS yy_yy.ignore.example. @10.53.0.1 a > dig.out.ns1.test$n || ret=1
$DIG $DIGOPTS yy_yy.ignore.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns1.test$n dig.out.ns2.test$n || ret=1
grep "check-names warning yy_yy.ignore.example/A/IN" ns2/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# Entry should exist
-echo "I: check that 'check-names response (owner) fails;' works ($n)"
+echo_i "check that 'check-names response (owner) fails;' works ($n)"
ret=0
$DIG $DIGOPTS yy_yy.ignore.example. @10.53.0.1 a > dig.out.ns1.test$n || ret=1
$DIG $DIGOPTS yy_yy.ignore.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep NOERROR dig.out.ns1.test$n > /dev/null || ret=1
grep REFUSED dig.out.ns3.test$n > /dev/null || ret=1
grep "check-names failure yy_yy.ignore.example/A/IN" ns3/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# Entry should exist
-echo "I: check that 'check-names response (rdata) fails;' works ($n)"
+echo_i "check that 'check-names response (rdata) fails;' works ($n)"
ret=0
$DIG $DIGOPTS mx.ignore.example. @10.53.0.1 MX > dig.out.ns1.test$n || ret=1
$DIG $DIGOPTS mx.ignore.example. @10.53.0.3 MX > dig.out.ns3.test$n || ret=1
grep NOERROR dig.out.ns1.test$n > /dev/null || ret=1
grep SERVFAIL dig.out.ns3.test$n > /dev/null || ret=1
grep "check-names failure mx.ignore.example/MX/IN" ns3/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that updates to 'check-names fail;' are rejected ($n)"
+echo_i "check that updates to 'check-names fail;' are rejected ($n)"
ret=0
not=1
$NSUPDATE -d <<END> nsupdate.out.test$n 2>&1 || not=0
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add xxx_xxx.fail.update. 600 A 10.10.10.1
send
END
$DIG $DIGOPTS xxx_xxx.fail.update @10.53.0.1 A > dig.out.ns1.test$n || ret=1
grep "xxx_xxx.fail.update/A: bad owner name (check-names)" ns1/named.run > /dev/null || ret=1
grep NXDOMAIN dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that updates to 'check-names warn;' succeed and are logged ($n)"
+echo_i "check that updates to 'check-names warn;' succeed and are logged ($n)"
ret=0
$NSUPDATE -d <<END> nsupdate.out.test$n 2>&1|| ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add xxx_xxx.warn.update. 600 A 10.10.10.1
send
END
$DIG $DIGOPTS xxx_xxx.warn.update @10.53.0.1 A > dig.out.ns1.test$n || ret=1
grep "xxx_xxx.warn.update/A: bad owner name (check-names)" ns1/named.run > /dev/null || ret=1
grep NOERROR dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that updates to 'check-names ignore;' succeed and are not logged ($n)"
+echo_i "check that updates to 'check-names ignore;' succeed and are not logged ($n)"
ret=0
not=1
$NSUPDATE -d <<END> nsupdate.out.test$n 2>&1 || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add xxx_xxx.ignore.update. 600 A 10.10.10.1
send
END
if [ $not != 0 ]; then ret=1; fi
$DIG $DIGOPTS xxx_xxx.ignore.update @10.53.0.1 A > dig.out.ns1.test$n || ret=1
grep NOERROR dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that updates to 'check-names master ignore;' succeed and are not logged ($n)"
+echo_i "check that updates to 'check-names master ignore;' succeed and are not logged ($n)"
ret=0
not=1
$NSUPDATE -d <<END> nsupdate.out.test$n 2>&1 || ret=1
-server 10.53.0.4 5300
+server 10.53.0.4 ${PORT}
update add xxx_xxx.master-ignore.update. 600 A 10.10.10.1
send
END
if [ $not != 0 ]; then ret=1; fi
$DIG $DIGOPTS xxx_xxx.master-ignore.update @10.53.0.4 A > dig.out.ns4.test$n || ret=1
grep NOERROR dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.2 2011/03/02 04:20:33 marka Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
for db in zones/good*.db
do
- echo "I:checking $db ($n)"
+ echo_i "checking $db ($n)"
ret=0
case $db in
zones/good-gc-msdcs.db)
;;
esac
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for db in zones/bad*.db
do
- echo "I:checking $db ($n)"
+ echo_i "checking $db ($n)"
ret=0
case $db in
zones/bad-dns-sd-reverse.db)
;;
esac
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
-echo "I:checking with spf warnings ($n)"
+echo_i "checking with spf warnings ($n)"
ret=0
$CHECKZONE example zones/spf.db > test.out1.$n 2>&1 || ret=1
$CHECKZONE -T ignore example zones/spf.db > test.out2.$n 2>&1 || ret=1
grep "'y.example' found type SPF" test.out2.$n > /dev/null && ret=1
grep "'example' found type SPF" test.out2.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for no 'inherited owner' warning on '\$INCLUDE file' with no new \$ORIGIN ($n)"
+echo_i "checking for no 'inherited owner' warning on '\$INCLUDE file' with no new \$ORIGIN ($n)"
ret=0
$CHECKZONE example zones/nowarn.inherited.owner.db > test.out1.$n 2>&1 || ret=1
grep "inherited.owner" test.out1.$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for 'inherited owner' warning on '\$ORIGIN + \$INCLUDE file' ($n)"
+echo_i "checking for 'inherited owner' warning on '\$ORIGIN + \$INCLUDE file' ($n)"
ret=0
$CHECKZONE example zones/warn.inherit.origin.db > test.out1.$n 2>&1 || ret=1
grep "inherited.owner" test.out1.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for 'inherited owner' warning on '\$INCLUDE file origin' ($n)"
+echo_i "checking for 'inherited owner' warning on '\$INCLUDE file origin' ($n)"
ret=0
$CHECKZONE example zones/warn.inherited.owner.db > test.out1.$n 2>&1 || ret=1
grep "inherited.owner" test.out1.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that raw zone with bad class is handled ($n)"
+echo_i "checking that raw zone with bad class is handled ($n)"
ret=0
$CHECKZONE -f raw example zones/bad-badclass.raw > test.out.$n 2>&1 && ret=1
grep "failed: bad class" test.out.$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that expirations that loop using serial arithmetic are handled ($n)"
+echo_i "checking that expirations that loop using serial arithmetic are handled ($n)"
ret=0
q=-q
test $ret -eq 1 || $CHECKZONE $q dyn.example.net zones/crashzone.db || ret=1
test $ret -eq 1 || $CHECKZONE $q dyn.example.net zones/crashzone.db || ret=1
test $ret -eq 1 || $CHECKZONE $q dyn.example.net zones/crashzone.db || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that nameserver below DNAME is reported even with occulted address record present ($n)"
+echo_i "checking that nameserver below DNAME is reported even with occulted address record present ($n)"
ret=0
$CHECKZONE example.com zones/ns-address-below-dname.db > test.out.$n 2>&1 && ret=1
grep "is below a DNAME" test.out.$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that delegating nameserver below DNAME is reported even with occulted address record present ($n)"
+echo_i "checking that delegating nameserver below DNAME is reported even with occulted address record present ($n)"
ret=0
$CHECKZONE example.com zones/delegating-ns-address-below-dname.db > test.out.$n 2>&1 || ret=1
grep "is below a DNAME" test.out.$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
status=0
+rm -f $SYSTEMTESTTOP/random.data
+
for d in $SUBDIRS
do
test ! -f $d/clean.sh || ( cd $d && $SHELL clean.sh )
# The "stress" test is not run by default since it creates enough
# load on the machine to make it unusable to other users.
-# v6synth
-SUBDIRS="acl additional allow_query addzone autosign builtin
- cacheclean case chain checkconf @CHECKDS@ checknames checkzone
- @COVERAGE@ database digdelv dlv dlz dlzexternal
+# The "dialup" and "delzone" tests are also not run by default because
+# they take a very long time to complete.
+#
+# List of tests hard-coded to use ports 5300 and 9953. For this
+# reason, these must be run sequentially.
+SEQUENTIALDIRS="ecdsa eddsa gost lwresd pkcs11 tkey"
+
+# List of tests that use ports assigned by caller (other than 5300
+# and 9953). Because separate blocks of ports can be used for teach
+# test, these tests can be run in parallel.
+#
+# This symbol must be kept in step with the PARALLEL macro in Makefile.in
+PARALLELDIRS="acl additional allow_query addzone autosign builtin
+ cacheclean case chain checkconf @CHECKDS@ checknames
+ checkzone @COVERAGE@ database digdelv dlv dlz dlzexternal
dns64 dnssec ecdsa eddsa emptyzones fetchlimit filter-aaaa
formerr forward glue gost inline integrity ixfr legacy
limits logfileconfig lwresd masterfile masterformat metadata
sortlist spf staticstub stub tkey tsig tsiggss unknown
upforwd verify views wildcard xfer xferquota zero zonechecks"
+SUBDIRS="$SEQUENTIALDIRS $PARALLELDIRS"
+
# Things that are different on Windows
KILL=kill
DIFF=diff
}
fi
+SYSTESTDIR="`basename $PWD`"
+
+echo_i() {
+ echo "$@" | while read LINE ; do
+ echoinfo "I:$SYSTESTDIR:$LINE"
+ done
+}
+
+cat_i() {
+ while read LINE ; do
+ echoinfo "I:$SYSTESTDIR:$LINE"
+ done
+}
+
+#
+# Useful functions in test scripts
+#
+
+# nextpart: read everything that's been appended to a file since the
+# last time 'nextpart' was called.
+nextpart () {
+ [ -f $1.prev ] || echo "0" > $1.prev
+ prev=`cat $1.prev`
+ awk "NR > $prev "'{ print }
+ END { print NR > "/dev/stderr" }' $1 2> $1.prev
+}
+
+# copy_setports - Copy Configuration File and Replace Ports
+#
+# Convenience function to copy a configuration file, replacing the tokens
+# QUERYPORT, CONTROLPORT and EXTRAPORT[1-8] with the values of the equivalent
+# environment variables. (These values are set by "run.sh", which calls the
+# scripts invoking this function.)
+#
+# Usage:
+# copy_setports infile outfile
+
+copy_setports() {
+ sed -e "s/@PORT@/${PORT}/g" \
+ -e "s/@EXTRAPORT1@/${EXTRAPORT1}/g" \
+ -e "s/@EXTRAPORT2@/${EXTRAPORT2}/g" \
+ -e "s/@EXTRAPORT3@/${EXTRAPORT3}/g" \
+ -e "s/@EXTRAPORT4@/${EXTRAPORT4}/g" \
+ -e "s/@EXTRAPORT5@/${EXTRAPORT5}/g" \
+ -e "s/@EXTRAPORT6@/${EXTRAPORT6}/g" \
+ -e "s/@EXTRAPORT7@/${EXTRAPORT7}/g" \
+ -e "s/@EXTRAPORT8@/${EXTRAPORT8}/g" \
+ -e "s/@CONTROLPORT@/${CONTROLPORT}/g" $1 > $2
+}
+
#
# Export command paths
#
#!/bin/sh
#
-# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
done
}
-echo "I:checking for DNSSEC key coverage issues"
+echo_i "checking for DNSSEC key coverage issues"
ret=0
for dir in [0-9][0-9]-*; do
ret=0
- echo "I:$dir"
+ echo_i "$dir"
args= warn= error= ok= retcode= match=
. $dir/expect
$COVERAGE $args -K $dir example.com > coverage.$n 2>&1
[ "$found" = "FAIL" ] && ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.3 2011/03/01 23:48:05 tbox Exp $
-
rm -f ns1/named.conf ns1/named.run ns1/named.memstats
rm -f dig.out.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf1,v 1.3 2011/03/01 23:48:06 tbox Exp $ */
-
// NS1
key rndc_key {
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf2,v 1.3 2011/03/01 23:48:06 tbox Exp $ */
-
// NS1
key rndc_key {
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.3 2011/03/01 23:48:05 tbox Exp $
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
-cp ns1/named.conf1 ns1/named.conf
+$SHELL clean.sh
+copy_setports ns1/named1.conf.in ns1/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.3 2011/03/01 23:48:05 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
-RNDCCMD="$RNDC -s 10.53.0.1 -p 9953 -c ../common/rndc.conf"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
+RNDCCMD="$RNDC -s 10.53.0.1 -p ${CONTROLPORT} -c ../common/rndc.conf"
# Check the example. domain
-echo "I:checking pre reload zone ($n)"
+echo_i "checking pre reload zone ($n)"
ret=0
$DIG $DIGOPTS soa database. @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "hostmaster\.isc\.org" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp ns1/named.conf2 ns1/named.conf
+copy_setports ns1/named2.conf.in ns1/named.conf
$RNDCCMD reload 2>&1 >/dev/null
-echo "I:checking post reload zone ($n)"
+echo_i "checking post reload zone ($n)"
ret=1
try=0
while test $try -lt 6
test $ret -eq 0 && break
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f delv.out.test*
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
rm -f ns*/named.lock
// NS1
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { fd92:7065:b8e:ffff::1; };
type master;
file "root.db";
};
-
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-// NS4
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { fd92:7065:b8e:ffff::3; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
status=0
n=0
# using dig insecure mode as not testing dnssec here
-DIGOPTS="-i -p 5300"
-SENDCMD="$PERL $SYSTEMTESTTOP/send.pl 10.53.0.4 5301"
+DIGOPTS="-i -p ${PORT}"
+SENDCMD="$PERL $SYSTEMTESTTOP/send.pl 10.53.0.4 ${EXTRAPORT1}"
if [ -x ${DIG} ] ; then
n=`expr $n + 1`
- echo "I:checking dig short form works ($n)"
+ echo_i "checking dig short form works ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 +short a a.example > dig.out.test$n || ret=1
if test `wc -l < dig.out.test$n` != 1 ; then ret=1 ; fi
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig split width works ($n)"
+ echo_i "checking dig split width works ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 +split=4 -t sshfp foo.example > dig.out.test$n || ret=1
grep " 9ABC DEF6 7890 " < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig with reverse lookup works ($n)"
+ echo_i "checking dig with reverse lookup works ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 -x 127.0.0.1 > dig.out.test$n 2>&1 || ret=1
# doesn't matter if has answer
grep -i "127\.in-addr\.arpa\." < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig over TCP works ($n)"
+ echo_i "checking dig over TCP works ($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 a a.example > dig.out.test$n || ret=1
grep "10\.0\.0\.1$" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +multi +norrcomments works for dnskey (when default is rrcomments)($n)"
+ echo_i "checking dig +multi +norrcomments works for dnskey (when default is rrcomments)($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +multi +norrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "; ZSK; alg = RSAMD5 ; key id = 30795" < dig.out.test$n > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +multi +norrcomments works for soa (when default is rrcomments)($n)"
+ echo_i "checking dig +multi +norrcomments works for soa (when default is rrcomments)($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +multi +norrcomments SOA example > dig.out.test$n || ret=1
grep "; ZSK; alg = RSAMD5 ; key id = 30795" < dig.out.test$n > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +rrcomments works for DNSKEY($n)"
+ echo_i "checking dig +rrcomments works for DNSKEY($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +rrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "; ZSK; alg = RSAMD5 ; key id = 30795" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +short +rrcomments works for DNSKEY ($n)"
+ echo_i "checking dig +short +rrcomments works for DNSKEY ($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +short +rrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "; ZSK; alg = RSAMD5 ; key id = 30795" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +short +nosplit works($n)"
+ echo_i "checking dig +short +nosplit works($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +short +nosplit DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "Z8plc4Rb9VIE5x7KNHAYTvTO5d4S8M=$" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +short +rrcomments works($n)"
+ echo_i "checking dig +short +rrcomments works($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +short +rrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "S8M= ; ZSK; alg = RSAMD5 ; key id = 30795$" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +short +rrcomments works($n)"
+ echo_i "checking dig +short +rrcomments works($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +short +rrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
grep "S8M= ; ZSK; alg = RSAMD5 ; key id = 30795$" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# n=`expr $n + 1`
-# echo "I:checking dig +zflag works, and that BIND properly ignores it ($n)"
+# echo_i "checking dig +zflag works, and that BIND properly ignores it ($n)"
# ret=0
# $DIG $DIGOPTS +tcp @10.53.0.3 +zflag +qr A example > dig.out.test$n || ret=1
# sed -n '/Sending:/,/Got answer:/p' dig.out.test$n | grep "^;; flags: rd ad; MBZ: 0x4;" > /dev/null || ret=1
# sed -n '/Got answer:/,/AUTHORITY SECTION:/p' dig.out.test$n | grep "^;; flags: qr rd ra; QUERY: 1" > /dev/null || ret=1
-# if [ $ret != 0 ]; then echo "I:failed"; fi
+# if [ $ret != 0 ]; then echo_i "failed"; fi
# status=`expr $status + $ret`
# n=`expr $n + 1`
-# echo "I:checking dig +qr +ednsopt=08 does not cause an INSIST failure ($n)"
+# echo_i "checking dig +qr +ednsopt=08 does not cause an INSIST failure ($n)"
# ret=0
# $DIG $DIGOPTS @10.53.0.3 +ednsopt=08 +qr a a.example > dig.out.test$n || ret=1
# grep "INSIST" < dig.out.test$n > /dev/null && ret=1
# grep "FORMERR" < dig.out.test$n > /dev/null || ret=1
-# if [ $ret != 0 ]; then echo "I:failed"; fi
+# if [ $ret != 0 ]; then echo_i "failed"; fi
# status=`expr $status + $ret`
-# echo "I:checking dig +ttlunits works ($n)"
+# echo_i "checking dig +ttlunits works ($n)"
# ret=0
# $DIG $DIGOPTS +tcp @10.53.0.2 +ttlunits A weeks.example > dig.out.test$n || ret=1
# grep "^weeks.example. 3w" < dig.out.test$n > /dev/null || ret=1
# grep "^minutes.example. 45m" < dig.out.test$n > /dev/null || ret=1
# $DIG $DIGOPTS +tcp @10.53.0.2 +ttlunits A seconds.example > dig.out.test$n || ret=1
# grep "^seconds.example. 45s" < dig.out.test$n > /dev/null || ret=1
-# if [ $ret != 0 ]; then echo "I:failed"; fi
+# if [ $ret != 0 ]; then echo_i "failed"; fi
# status=`expr $status + $ret`
# n=`expr $n + 1`
-# echo "I:checking dig respects precedence of options with +ttlunits ($n)"
+# echo_i "checking dig respects precedence of options with +ttlunits ($n)"
# ret=0
# $DIG $DIGOPTS +tcp @10.53.0.2 +ttlunits +nottlid A weeks.example > dig.out.test$n || ret=1
# grep "^weeks.example. IN" < dig.out.test$n > /dev/null || ret=1
# grep "^weeks.example. 3w" < dig.out.test$n > /dev/null || ret=1
# $DIG $DIGOPTS +tcp @10.53.0.2 +nottlid +nottlunits A weeks.example > dig.out.test$n || ret=1
# grep "^weeks.example. 1814400" < dig.out.test$n > /dev/null || ret=1
-# if [ $ret != 0 ]; then echo "I:failed"; fi
+# if [ $ret != 0 ]; then echo_i "failed"; fi
# status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig preserves origin on TCP retries ($n)"
+ echo_i "checking dig preserves origin on TCP retries ($n)"
ret=0
# Ask ans4 to still accept TCP connections, but not respond to queries
echo "//" | $SENDCMD
l=`grep "trying origin bar" dig.out.test$n | wc -l`
[ ${l:-0} -eq 2 ] || ret=1
grep "using root origin" < dig.out.test$n > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig +ednsopt=8:00000000 (family=0, source=0, scope=0) ($n)"
+ echo_i "checking dig +ednsopt=8:00000000 (family=0, source=0, scope=0) ($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.2 -4 -6 A a.example > dig.out.test$n 2>&1 && ret=1
grep "only one of -4 and -6 allowed" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig @IPv6addr -4 A a.example ($n)"
+ echo_i "checking dig @IPv6addr -4 A a.example ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::2
then
ret=0
$DIG $DIGOPTS +tcp @fd92:7065:b8e:ffff::2 -4 A a.example > dig.out.test$n 2>&1 && ret=1
grep "address family not supported" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
- echo "I:IPv6 unavailable; skipping"
+ echo_i "IPv6 unavailable; skipping"
fi
n=`expr $n + 1`
- echo "I:checking dig @IPv4addr -6 A a.example ($n)"
+ echo_i "checking dig @IPv4addr -6 A a.example ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::2
then
ret=0
$DIG $DIGOPTS +tcp @10.53.0.2 -6 A a.example > dig.out.test$n 2>&1 && ret=1
grep "::ffff:10.53.0.2" < dig.out.test$n > /dev/null || ret=1
fi
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
- echo "I:IPv6 unavailable; skipping"
+ echo_i "IPv6 unavailable; skipping"
fi
n=`expr $n + 1`
- echo "I:checking dig +sp works as an abbreviated form of split ($n)"
+ echo_i "checking dig +sp works as an abbreviated form of split ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 +sp=4 -t sshfp foo.example > dig.out.test$n || ret=1
grep " 9ABC DEF6 7890 " < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I:checking dig -c works ($n)"
+ echo_i "checking dig -c works ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 -c CHAOS -t txt version.bind > dig.out.test$n || ret=1
grep "version.bind. 0 CH TXT" < dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
if $FEATURETEST --with-idn
then
- echo "I:checking dig +idnout ($n)"
+ echo_i "checking dig +idnout ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 +noidnout xn--caf-dma.example. > dig.out.1.test$n 2>&1 || ret=1
$DIG $DIGOPTS @10.53.0.3 +idnout xn--caf-dma.example. > dig.out.2.test$n 2>&1 || ret=1
grep "^xn--caf-dma.example" dig.out.2.test$n > /dev/null && ret=1
grep 10.1.2.3 dig.out.1.test$n > /dev/null || ret=1
grep 10.1.2.3 dig.out.2.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
- echo "I:skipping 'dig +idnout' as IDN support is not enabled ($n)"
+ echo_i "skipping 'dig +idnout' as IDN support is not enabled ($n)"
fi
n=`expr $n + 1`
- echo "I:checking that dig warns about .local queries ($n)"
+ echo_i "checking that dig warns about .local queries ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.3 local soa > dig.out.test$n 2>&1 || ret=1
grep ";; WARNING: .local is reserved for Multicast DNS" dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#n=`expr $n + 1`
- #echo "I:check that dig processes +ednsopt=14 (key tag) and FORMERR is returned ($n)"
+ #echo_i "check that dig processes +ednsopt=14 (key tag) and FORMERR is returned ($n)"
#$DIG $DIGOPTS @10.53.0.3 +ednsopt=14 a.example +qr > dig.out.test$n 2>&1 || ret=1
#grep "; KEY-TAG$" dig.out.test$n > /dev/null || ret=1
#grep "status: FORMERR" dig.out.test$n > /dev/null || ret=1
- #if [ $ret != 0 ]; then echo "I:failed"; fi
+ #if [ $ret != 0 ]; then echo_i "failed"; fi
#status=`expr $status + $ret`
#n=`expr $n + 1`
- #echo "I:check that dig processes +ednsopt=14:<value-list> (keytag) ($n)"
+ #echo_i "check that dig processes +ednsopt=14:<value-list> (keytag) ($n)"
#$DIG $DIGOPTS @10.53.0.3 +ednsopt=14:00010002 a.example +qr > dig.out.test$n 2>&1 || ret=1
#grep "; KEY-TAG: 1, 2$" dig.out.test$n > /dev/null || ret=1
#grep "status: FORMERR" dig.out.test$n > /dev/null && ret=1
- #if [ $ret != 0 ]; then echo "I:failed"; fi
+ #if [ $ret != 0 ]; then echo_i "failed"; fi
#status=`expr $status + $ret`
#n=`expr $n + 1`
- #echo "I:check that dig processes +ednsopt=14:<malformed-value-list> (keytag) and FORMERR is returned ($n)"
+ #echo_i "check that dig processes +ednsopt=14:<malformed-value-list> (keytag) and FORMERR is returned ($n)"
#ret=0
#$DIG $DIGOPTS @10.53.0.3 +ednsopt=14:0001000201 a.example +qr > dig.out.test$n 2>&1 || ret=1
#grep "; KEY-TAG: 00 01 00 02 01" dig.out.test$n > /dev/null || ret=1
#grep "status: FORMERR" dig.out.test$n > /dev/null || ret=1
- #if [ $ret != 0 ]; then echo "I:failed"; fi
+ #if [ $ret != 0 ]; then echo_i "failed"; fi
#status=`expr $status + $ret`
else
- echo "$DIG is needed, so skipping these dig tests"
+ echo_i "$DIG is needed, so skipping these dig tests"
fi
-# using delv insecure mode as not testing dnssec here
-DELVOPTS="-i -p 5300"
-
-if [ -n "${DELV}" -a -x "${DELV}" ] ; then
- n=`expr $n + 1`
- echo "I:checking delv short form works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +short a a.example > delv.out.test$n || ret=1
- if test `wc -l < delv.out.test$n` != 1 ; then ret=1 ; fi
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv split width works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +split=4 -t sshfp foo.example > delv.out.test$n || ret=1
- grep " 9ABC DEF6 7890 " < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv with IPv6 on IPv4 does not work ($n)"
- if $TESTSOCK6 fd92:7065:b8e:ffff::3
- then
- ret=0
- # following should fail because @IPv4 overrides earlier @IPv6 above
- # and -6 forces IPv6 so this should fail, such as:
- # ;; getaddrinfo failed: hostname nor servname provided, or not known
- # ;; resolution failed: not found
- # note that delv returns success even on lookup failure
- $DELV $DELVOPTS @fd92:7065:b8e:ffff::3 @10.53.0.3 -6 -t txt foo.example > delv.out.test$n 2>&1 || ret=1
- # it should have no results but error output
- grep "testing" < delv.out.test$n > /dev/null && ret=1
- grep "getaddrinfo failed:" < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
- else
- echo "I:IPv6 unavailable; skipping"
- fi
-
- n=`expr $n + 1`
- echo "I:checking delv with reverse lookup works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 -x 127.0.0.1 > delv.out.test$n 2>&1 || ret=1
- # doesn't matter if has answer
- grep -i "127\.in-addr\.arpa\." < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv over TCP works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 a a.example > delv.out.test$n || ret=1
- grep "10\.0\.0\.1$" < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +multi +norrcomments works for dnskey (when default is rrcomments)($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +multi +norrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "; ZSK; alg = RSAMD5 ; key id = 30795" < delv.out.test$n > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +multi +norrcomments works for soa (when default is rrcomments)($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +multi +norrcomments SOA example > delv.out.test$n || ret=1
- grep "; ZSK; alg = RSAMD5 ; key id = 30795" < delv.out.test$n > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +rrcomments works for DNSKEY($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +rrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "; ZSK; alg = RSAMD5 ; key id = 30795" < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +short +rrcomments works for DNSKEY ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +short +rrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "; ZSK; alg = RSAMD5 ; key id = 30795" < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +short +rrcomments works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +short +rrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "S8M= ; ZSK; alg = RSAMD5 ; key id = 30795$" < delv.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +short +nosplit works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +short +nosplit DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "Z8plc4Rb9VIE5x7KNHAYTvTO5d4S8M=" < delv.out.test$n > /dev/null || ret=1
- if test `wc -l < delv.out.test$n` != 1 ; then ret=1 ; fi
- f=`awk '{print NF}' < delv.out.test$n`
- test "${f:-0}" -eq 14 || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-
- n=`expr $n + 1`
- echo "I:checking delv +short +nosplit +norrcomments works ($n)"
- ret=0
- $DELV $DELVOPTS @10.53.0.3 +short +nosplit +norrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
- grep "Z8plc4Rb9VIE5x7KNHAYTvTO5d4S8M=$" < delv.out.test$n > /dev/null || ret=1
- if test `wc -l < delv.out.test$n` != 1 ; then ret=1 ; fi
- f=`awk '{print NF}' < delv.out.test$n`
- test "${f:-0}" -eq 4 || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
- status=`expr $status + $ret`
-else
- echo "${DELV:-delv} is not available, so skipping these delv tests"
-fi
-
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# PERFORMANCE OF THIS SOFTWARE.
rm -f ns*/named.run
+rm -f ns*/named.conf
rm -f ns1/K*
rm -f ns1/dsset-*
rm -f ns1/*.signed
/*
- * Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2011/05/26 23:47:28 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db.in,v 1.3 2011/05/26 23:47:28 tbox Exp $
-
$TTL 120
@ SOA ns.rootservers.utld hostmaster.ns.rootservers.utld (
1 3600 1200 604800 60 )
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: rootservers.utld.db,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
#!/bin/sh
#
-# Copyright (C) 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
(cd ../ns2 && $SHELL -e ./sign.sh || exit 1)
-echo "I:dlv/ns1/sign.sh"
+echo_i "dlv/ns1/sign.sh"
zone=.
infile=root.db.in
$SIGNER -r $RANDFILE -g -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
grep -v '^;' $keyname2.key | $PERL -n -e '
local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
-; Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: druz.db.in,v 1.4 2011/05/26 23:47:28 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: hints,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
. 0 NS ns.rootservers.utld.
ns.rootservers.utld. 0 A 10.53.0.1
/*
- * Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2011/05/26 23:47:28 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
#!/bin/sh
#
-# Copyright (C) 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
(cd ../ns3 && $SHELL -e ./sign.sh || exit 1)
-echo "I:dlv/ns2/sign.sh"
+echo_i "dlv/ns2/sign.sh"
zone=druz.
infile=druz.db.in
$CHECKZONE -q -D -i none druz druz.pre |
sed '/IN DNSKEY/s/\([a-z0-9A-Z/]\{10\}\)[a-z0-9A-Z/]\{16\}/\1XXXXXXXXXXXXXXXX/'> druz.signed
-echo "I: signed $zone"
+echo_i "signed $zone"
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: utld.db,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: child.db.in,v 1.6 2010/05/27 23:51:08 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: dlv.db.in,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: hints,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
. 0 NS ns.rootservers.utld.
ns.rootservers.utld. 0 A 10.53.0.1
/*
- * Copyright (C) 2004, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2011/05/26 23:47:28 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
(cd ../ns6 && $SHELL -e ./sign.sh)
-echo "I:dlv/ns3/sign.sh"
+echo_i "dlv/ns3/sign.sh"
dlvzone=dlv.utld.
dlvsets=
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child3.utld.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child4.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child5.utld.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child7.utld.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child8.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child9.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child10.utld.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child1.druz.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child3.druz.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child4.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child5.druz.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child7.druz.
cat $infile $keyname1.key $keyname2.key ../ns6/dsset-grand.$zone >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child8.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child9.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=child10.druz.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -l $dlvzone -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=dlv.utld.
cat $infile $dlvsets $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
grep -v '^;' $keyname2.key | $PERL -n -e '
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: child.db,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
$TTL 120
@ SOA ns hostmaster.ns 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: hints,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
. 0 NS ns.rootservers.utld.
ns.rootservers.utld. 0 A 10.53.0.1
/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2007/06/19 23:47:02 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
-; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: hints,v 1.4 2007/06/19 23:47:02 tbox Exp $
-
. 0 NS ns.rootservers.utld.
ns.rootservers.utld. 0 A 10.53.0.1
+++ /dev/null
-/*
- * Copyright (C) 2004, 2006, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.conf,v 1.10 2011/05/26 23:47:28 tbox Exp $ */
-
-/*
- * Choose a keyname that is unlikely to clash with any real key names.
- * This allows it to be added to the system's rndc.conf with minimal
- * likelyhood of collision.
- *
- * e.g.
- * key "cc64b3d1db63fc88d7cb5d2f9f57d258" {
- * algorithm hmac-md5;
- * secret "34f88008d07deabbe65bd01f1d233d47";
- * };
- *
- * server "10.53.0.5" {
- * key cc64b3d1db63fc88d7cb5d2f9f57d258;
- * port 5353;
- * };
- *
- * rndc -s 10.53.0.5 <command>
- */
-
-key "cc64b3d1db63fc88d7cb5d2f9f57d258" {
- algorithm hmac-md5;
- secret "34f88008d07deabbe65bd01f1d233d47";
-};
-
-controls {
- inet 10.53.0.5 port 5353 allow { any; }
- keys { cc64b3d1db63fc88d7cb5d2f9f57d258; };
-};
-
-include "trusted.conf";
-include "trusted-dlv.conf";
-
-options {
- query-source address 10.53.0.5;
- notify-source 10.53.0.5;
- transfer-source 10.53.0.5;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.5; };
- listen-on-v6 { none; };
- recursion yes;
- acache-enable yes;
- notify yes;
- dnssec-enable yes;
- dnssec-validation yes;
- dnssec-lookaside "." trust-anchor "dlv.utld";
-};
-
-zone "." { type hint; file "hints"; };
--- /dev/null
+/*
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+ *
+ * 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.
+ */
+
+include "trusted.conf";
+include "trusted-dlv.conf";
+
+options {
+ query-source address 10.53.0.5;
+ notify-source 10.53.0.5;
+ transfer-source 10.53.0.5;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.5; };
+ listen-on-v6 { none; };
+ recursion yes;
+ acache-enable yes;
+ notify yes;
+ dnssec-enable yes;
+ dnssec-validation yes;
+ dnssec-lookaside "." trust-anchor "dlv.utld";
+};
+
+zone "." { type hint; file "hints"; };
/*
- * Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rndc.conf,v 1.5 2007/06/19 23:47:02 tbox Exp $ */
-
key "cc64b3d1db63fc88d7cb5d2f9f57d258" {
algorithm hmac-md5;
secret "34f88008d07deabbe65bd01f1d233d47";
-};
-
+};
+
options {
default-server 10.53.0.5;
default-port 5353;
-; Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: child.db.in,v 1.2 2010/05/26 06:28:00 marka Exp $
-
$TTL 120
@ SOA ns hostmaster.ns6 1 3600 1200 604800 60
@ NS ns
-; Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
-; $Id: hints,v 1.3 2010/05/26 23:50:47 tbox Exp $
-
. 0 NS ns.rootservers.utld.
ns.rootservers.utld. 0 A 10.53.0.1
/*
- * Copyright (C) 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2011/05/26 23:47:28 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
#!/bin/sh
#
-# Copyright (C) 2010-2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
-echo "I:dlv/ns6/sign.sh"
+echo_i "dlv/ns6/sign.sh"
zone=grand.child1.utld.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child3.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child4.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child5.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child7.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child8.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child9.utld.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child10.utld.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child1.druz.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child3.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child4.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child5.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child7.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child8.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child9.druz.
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=grand.child10.druz.
infile=child.db.in
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -g -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
#!/bin/sh
#
-# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2009, 2011, 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+
(cd ns1 && $SHELL -e sign.sh)
#!/bin/sh
#
-# Copyright (C) 2004, 2007, 2010-2012, 2016 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.8 2011/05/26 23:47:28 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
-echo "I:checking that DNSKEY reference by DLV validates as secure ($n)"
+echo_i "checking that DNSKEY reference by DLV validates as secure ($n)"
ret=0
$DIG $DIGOPTS child1.utld dnskey @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that child DNSKEY reference by DLV validates as secure ($n)"
+echo_i "checking that child DNSKEY reference by DLV validates as secure ($n)"
ret=0
$DIG $DIGOPTS grand.child1.utld dnskey @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that SOA reference by DLV in a DRUZ with DS validates as secure ($n)"
+echo_i "checking that SOA reference by DLV in a DRUZ with DS validates as secure ($n)"
ret=0
$DIG $DIGOPTS child1.druz soa @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that child SOA reference by DLV in a DRUZ with DS validates as secure ($n)"
+echo_i "checking that child SOA reference by DLV in a DRUZ with DS validates as secure ($n)"
ret=0
$DIG $DIGOPTS grand.child1.druz soa @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.2 2010/08/16 04:46:15 marka Exp $
-
+rm -f ns*/named.conf
rm -f dig.out.*
rm -f */named.memstats
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/08/16 04:46:15 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: prereq.sh.in,v 1.2 2011/04/19 22:30:52 each Exp $
-
-TOP=${SYSTEMTESTTOP:=.}/../../../..
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
if [ "@DLZ_SYSTEM_TEST@" != "filesystem" ]; then
- echo "I:DLZ filesystem driver not supported"
+ echo_i "DLZ filesystem driver not supported"
exit 255
fi
exit 0
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.4 2011/04/19 23:47:52 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
# Check the example.com. domain
-echo "I:checking DNAME at apex works ($n)"
+echo_i "checking DNAME at apex works ($n)"
ret=0
$DIG $DIGOPTS +norec foo.example.com. \
@10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep "foo.example.com..*CNAME.*foo.example.net." dig.out.ns1.test$n > /dev/null || ret=1
grep "flags:[^;]* aa[ ;]" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking DLZ IXFR=2010062899 (less than serial) ($n)"
+echo_i "checking DLZ IXFR=2010062899 (less than serial) ($n)"
ret=0
$DIG $DIGOPTS ixfr=2010062899 example.com @10.53.0.1 +all > dig.out.ns1.test$n
grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1
grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null || ret=1
grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking DLZ IXFR=2010062900 (equal serial) ($n)"
+echo_i "checking DLZ IXFR=2010062900 (equal serial) ($n)"
ret=0
$DIG $DIGOPTS ixfr=2010062900 example.com @10.53.0.1 +all > dig.out.ns1.test$n
grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1
grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null && ret=1
grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking DLZ IXFR=2010062901 (greater than serial) ($n)"
+echo_i "checking DLZ IXFR=2010062901 (greater than serial) ($n)"
ret=0
$DIG $DIGOPTS ixfr=2010062901 example.com @10.53.0.1 +all > dig.out.ns1.test$n
grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1
grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null && ret=1
grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking DLZ with a malformed SOA record"
+echo_i "checking DLZ with a malformed SOA record"
ret=0
$DIG $DIGOPTS broken.com type600 @10.53.0.1 > dig.out.ns1.test$n
grep status: dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns1/update.txt
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f ns1/ddns.key
--- /dev/null
+/*
+ * Copyright (C) 2011-2014, 2016 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+dlz "example zone" {
+ database "dlopen ../driver.@SO@ example.nil";
+};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf.in,v 1.3 2011/03/10 23:47:50 tbox Exp $ */
-
-controls { };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.1; 127.0.0.1; };
include "ddns.key";
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
-dlz "example zone" {
- database "dlopen ../driver.@SO@ example.nil";
-};
+include "dlzs.conf";
. $SYSTEMTESTTOP/conf.sh
$FEATURETEST --have-dlopen || {
- echo "I:dlopen() not supported - skipping dlzexternal test"
+ echo_i "dlopen() not supported - skipping dlzexternal test"
exit 255
}
exit 0
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
$DDNSCONFGEN -q -r $RANDFILE -z example.nil > ns1/ddns.key
+
+copy_setports ns1/named.conf.in ns1/named.conf
status=0
-DIGOPTS="@10.53.0.1 -p 5300"
+DIGOPTS="@10.53.0.1 -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
test_update() {
host="$1"
should_fail="$5"
cat <<EOF > ns1/update.txt
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add $host $cmd
send
EOF
- echo "I:testing update for $host $type $cmd $comment"
+ echo_i "testing update for $host $type $cmd $comment"
$NSUPDATE -k ns1/ddns.key ns1/update.txt > /dev/null 2>&1 || {
[ "$should_fail" ] || \
- echo "I:update failed for $host $type $cmd"
+ echo_i "update failed for $host $type $cmd"
return 1
}
lines=`echo "$out" | grep "$digout" | wc -l`
[ $lines -eq 1 ] || {
[ "$should_fail" ] || \
- echo "I:dig output incorrect for $host $type $cmd: $out"
+ echo_i "dig output incorrect for $host $type $cmd: $out"
return 1
}
return 0
test_update deny.example.nil. TXT "86400 TXT helloworld" "helloworld" should_fail && ret=1
status=`expr $status + $ret`
-echo "I:testing passing client info into DLZ driver"
+echo_i "testing passing client info into DLZ driver"
ret=0
out=`$DIG $DIGOPTS +short -t txt -q source-addr.example.nil | grep -v '^;'`
addr=`eval echo "$out" | cut -f1 -d'#'`
[ "$addr" = "10.53.0.1" ] || ret=1
-[ "$ret" -eq 0 ] || echo "I:failed"
+[ "$ret" -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:testing DLZ driver is cleaned up on reload"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload 2>&1 | sed 's/^/I:ns1 /'
+ccho_i "testing DLZ driver is cleaned up on reload"
+$RNDCCMD 10.53.0.1 reload 2>&1 | sed 's/^/I:ns1 /'
for i in 0 1 2 3 4 5 6 7 8 9; do
ret=0
grep 'dlz_example: shutting down zone example.nil' ns1/named.run > /dev/null 2>&1 || ret=1
[ "$ret" -eq 0 ] && break
sleep 1
done
-[ "$ret" -eq 0 ] || echo "I:failed"
+[ "$ret" -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+rm -f ns*/named.conf
rm -f ns1/K*
rm -f ns1/signed.db*
rm -f ns1/dsset-signed.
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2010/12/08 23:51:56 tbox Exp $ */
-
// NS1
-controls { /* empty */ };
-
acl rfc1918 { 10/8; 192.168/16; 172.16/12; };
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2011/01/07 23:47:07 tbox Exp $ */
-
// NS2
-controls { /* empty */ };
-
acl rfc1918 { 10/8; 192.168/16; 172.16/12; };
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+
cd ns1 && $SHELL sign.sh
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.5 2011/02/03 07:35:55 marka Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p ${PORT}"
for conf in conf/good*.conf
do
- echo "I:checking that $conf is accepted ($n)"
+ echo_i "checking that $conf is accepted ($n)"
ret=0
$CHECKCONF "$conf" || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for conf in conf/bad*.conf
do
- echo "I:checking that $conf is rejected ($n)"
+ echo_i "checking that $conf is rejected ($n)"
ret=0
$CHECKCONF "$conf" >/dev/null && ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
# Check the example. domain
-echo "I: checking non-excluded AAAA lookup works ($n)"
+echo_i "checking non-excluded AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA lookup works ($n)"
+echo_i "checking excluded only AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A lookup works ($n)"
+echo_i "checking excluded AAAA and non-mapped A lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A lookup works ($n)"
+echo_i "checking excluded only AAAA and mapped A lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking default exclude acl ignores mapped A records (all mapped) ($n)"
+echo_i "checking default exclude acl ignores mapped A records (all mapped) ($n)"
ret=0
$DIG $DIGOPTS a-and-mapped.example. @10.53.0.2 -b 10.53.0.4 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::1.2.3.5" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking default exclude acl ignores mapped A records (some mapped) ($n)"
+echo_i "checking default exclude acl ignores mapped A records (some mapped) ($n)"
ret=0
$DIG $DIGOPTS a-and-aaaa-and-mapped.example. @10.53.0.2 -b 10.53.0.4 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "::ffff:1.2.3.4" dig.out.ns2.test$n > /dev/null && ret=1
grep "::ffff:1.2.3.5" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking default exclude acl works with AAAA only ($n)"
+echo_i "checking default exclude acl works with AAAA only ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.4 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking default exclude acl A only lookup works ($n)"
+echo_i "checking default exclude acl A only lookup works ($n)"
ret=0
$DIG $DIGOPTS a-only.example. @10.53.0.2 -b 10.53.0.4 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially excluded only AAAA lookup works ($n)"
+echo_i "checking partially excluded only AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded AAAA and non-mapped A lookup works ($n)"
+echo_i "checking partially-excluded AAAA and non-mapped A lookup works ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded only AAAA and mapped A lookup works ($n)"
+echo_i "checking partially-excluded only AAAA and mapped A lookup works ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only lookup works ($n)"
+echo_i "checking AAAA only lookup works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only lookup works ($n)"
+echo_i "checking A only lookup works ($n)"
ret=0
$DIG $DIGOPTS a-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA lookup works ($n)"
+echo_i "checking A and AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A lookup works ($n)"
+echo_i "checking non-mapped A lookup works ($n)"
ret=0
$DIG $DIGOPTS a-not-mapped.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA lookup works ($n)"
+echo_i "checking NODATA AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS mx-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA lookup works ($n)"
+echo_i "checking non-existent AAAA lookup works ($n)"
ret=0
$DIG $DIGOPTS non-existent.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME lookup works ($n)"
+echo_i "checking non-excluded AAAA via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME lookup works ($n)"
+echo_i "checking excluded only AAAA via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME lookup works ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME lookup works ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME lookup works ($n)"
+echo_i "checking AAAA only via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME lookup works ($n)"
+echo_i "checking A only via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME lookup works ($n)"
+echo_i "checking A and AAAA via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME lookup works ($n)"
+echo_i "checking non-mapped A via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME lookup works ($n)"
+echo_i "checking NODATA AAAA via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-mx-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME lookup works ($n)"
+echo_i "checking non-existent AAAA via CNAME lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-non-existent.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the example. domain recursive only
-echo "I: checking non-excluded AAAA lookup works, recursive only ($n)"
+echo_i "checking non-excluded AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA lookup works, recursive only ($n)"
+echo_i "checking excluded only AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A lookup works, recursive only ($n)"
+echo_i "checking excluded AAAA and non-mapped A lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A lookup works, recursive only ($n)"
+echo_i "checking excluded only AAAA and mapped A lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially excluded only AAAA lookup works, recursive only ($n)"
+echo_i "checking partially excluded only AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded AAAA and non-mapped A lookup works, recursive only ($n)"
+echo_i "checking partially-excluded AAAA and non-mapped A lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded only AAAA and mapped A lookup works, recursive only ($n)"
+echo_i "checking partially-excluded only AAAA and mapped A lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS partially-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only lookup works, recursive only ($n)"
+echo_i "checking AAAA only lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only lookup works, recursive only ($n)"
+echo_i "checking A only lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA lookup works, recursive only ($n)"
+echo_i "checking A and AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A lookup works, recursive only ($n)"
+echo_i "checking non-mapped A lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA lookup works, recursive only ($n)"
+echo_i "checking NODATA AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA lookup works, recursive only ($n)"
+echo_i "checking non-existent AAAA lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME lookup works, recursive only ($n)"
+echo_i "checking non-excluded AAAA via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME lookup works, recursive only ($n)"
+echo_i "checking excluded only AAAA via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME lookup works, recursive only ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::102:304" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME lookup works, recursive only ($n)"
+echo_i "checking AAAA only via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME lookup works, recursive only ($n)"
+echo_i "checking A only via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:bbbb::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME lookup works, recursive only ($n)"
+echo_i "checking A and AAAA via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME lookup works, recursive only ($n)"
+echo_i "checking non-mapped A via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME lookup works, recursive only ($n)"
+echo_i "checking NODATA AAAA via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME lookup works, recursive only ($n)"
+echo_i "checking non-existent AAAA via CNAME lookup works, recursive only ($n)"
ret=0
$DIG $DIGOPTS cname-non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the example. domain recursive only w/o recursion
-echo "I: checking non-excluded AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking non-excluded AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking excluded only AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
+echo_i "checking excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
+echo_i "checking excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially excluded only AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking partially excluded only AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec partially-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
+echo_i "checking partially-excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec partially-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking partially-excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
+echo_i "checking partially-excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec partially-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only lookup works, recursive only +norec ($n)"
+echo_i "checking AAAA only lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only lookup works, recursive only +norec ($n)"
+echo_i "checking A only lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking A and AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A lookup works, recursive only +norec ($n)"
+echo_i "checking non-mapped A lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking NODATA AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA lookup works, recursive only +norec ($n)"
+echo_i "checking non-existent AAAA lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking non-excluded AAAA via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking excluded only AAAA via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking AAAA only via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking A only via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-only.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking A and AAAA via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking non-mapped A via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking NODATA AAAA via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME lookup works, recursive only +norec ($n)"
+echo_i "checking non-existent AAAA via CNAME lookup works, recursive only +norec ($n)"
ret=0
$DIG $DIGOPTS +norec cname-non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the example. domain from non client
-echo "I: checking non-excluded AAAA from non-client lookup works ($n)"
+echo_i "checking non-excluded AAAA from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA from non-client lookup works ($n)"
+echo_i "checking excluded only AAAA from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A from non-client lookup works ($n)"
+echo_i "checking excluded AAAA and non-mapped A from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A from non-client lookup works ($n)"
+echo_i "checking excluded only AAAA and mapped A from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS excluded-good-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only from non-client lookup works ($n)"
+echo_i "checking AAAA only from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only from non-client lookup works ($n)"
+echo_i "checking A only from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS a-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA from non-client lookup works ($n)"
+echo_i "checking A and AAAA from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A from non-client lookup works ($n)"
+echo_i "checking non-mapped A from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS a-not-mapped.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA from non-client lookup works ($n)"
+echo_i "checking NODATA AAAA from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS mx-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA from non-client lookup works ($n)"
+echo_i "checking non-existent AAAA from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS non-existent.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME from non-client lookup works ($n)"
+echo_i "checking non-excluded AAAA via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME from non-client lookup works ($n)"
+echo_i "checking excluded only AAAA via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME from non-client lookup works ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME from non-client lookup works ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME from non-client lookup works ($n)"
+echo_i "checking AAAA only via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME from non-client lookup works ($n)"
+echo_i "checking A only via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME from non-client lookup works ($n)"
+echo_i "checking A and AAAA via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME from non-client lookup works ($n)"
+echo_i "checking non-mapped A via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME from non-client lookup works ($n)"
+echo_i "checking NODATA AAAA via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-mx-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME from non-client lookup works ($n)"
+echo_i "checking non-existent AAAA via CNAME from non-client lookup works ($n)"
ret=0
$DIG $DIGOPTS cname-non-existent.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the signed. domain
-echo "I: checking non-excluded AAAA lookup is signed zone works ($n)"
+echo_i "checking non-excluded AAAA lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA lookup is signed zone works ($n)"
+echo_i "checking excluded only AAAA lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A lookup is signed zone works ($n)"
+echo_i "checking excluded AAAA and non-mapped A lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A lookup is signed zone works ($n)"
+echo_i "checking excluded only AAAA and mapped A lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:304" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only lookup is signed zone works ($n)"
+echo_i "checking AAAA only lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only lookup is signed zone works ($n)"
+echo_i "checking A only lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA lookup is signed zone works ($n)"
+echo_i "checking A and AAAA lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A lookup is signed zone works ($n)"
+echo_i "checking non-mapped A lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA lookup is signed zone works ($n)"
+echo_i "checking NODATA AAAA lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA lookup is signed zone works ($n)"
+echo_i "checking non-existent AAAA lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME lookup is signed zone works ($n)"
+echo_i "checking non-excluded AAAA via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME lookup is signed zone works ($n)"
+echo_i "checking excluded only AAAA via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME lookup is signed zone works ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:304" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME lookup is signed zone works ($n)"
+echo_i "checking AAAA only via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME lookup is signed zone works ($n)"
+echo_i "checking A only via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME lookup is signed zone works ($n)"
+echo_i "checking A and AAAA via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME lookup is signed zone works ($n)"
+echo_i "checking non-mapped A via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.signed." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME lookup is signed zone works ($n)"
+echo_i "checking NODATA AAAA via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.signed." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME lookup is signed zone works ($n)"
+echo_i "checking non-existent AAAA via CNAME lookup is signed zone works ($n)"
ret=0
$DIG $DIGOPTS cname-non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the signed. domain
-echo "I: checking non-excluded AAAA lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-excluded AAAA lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded only AAAA lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded AAAA and non-mapped A lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded only AAAA and mapped A lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only lookup is signed zone works with +dnssec ($n)"
+echo_i "checking AAAA only lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only lookup is signed zone works with +dnssec ($n)"
+echo_i "checking A only lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA lookup is signed zone works with +dnssec ($n)"
+echo_i "checking A and AAAA lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-mapped A lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA lookup is signed zone works with +dnssec ($n)"
+echo_i "checking NODATA AAAA lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-existent AAAA lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-excluded AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-excluded AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded only AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking excluded only AAAA and mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking excluded only AAAA and mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking AAAA only via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking AAAA only via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A only via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking A only via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking A and AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking A and AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2" dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME a-not-mapped.signed." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking NODATA AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking NODATA AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
grep "CNAME mx-only.signed." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking non-existent AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
+echo_i "checking non-existent AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec cname-non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking reverse mapping ($n)"
+echo_i "checking reverse mapping ($n)"
ret=0
$DIG $DIGOPTS -x 2001:aaaa::10.0.0.1 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "CNAME.1.0.0.10.IN-ADDR.ARPA.$" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
list=`$DIG $DIGOPTS -b 10.53.0.6 @10.53.0.2 +short aaaa a-only.example | sort`
for a in $list
do
ret=0
- echo "I: checking reverse mapping of $a ($n)"
+ echo_i "checking reverse mapping of $a ($n)"
$DIG $DIGOPTS -x $a @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "CNAME.5.3.2.1.IN-ADDR.ARPA." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
while test "${rev}" != "${fin}"
do
ret=0
- echo "I: checking $rev ($n)"
+ echo_i "checking $rev ($n)"
$DIG $DIGOPTS $rev ptr @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep -i "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
rev=`expr "${rev}" : "${regex}"`
done
-echo "I: checking dns64-server and dns64-contact ($n)"
+echo_i "checking dns64-server and dns64-contact ($n)"
ret=0
$DIG $DIGOPTS soa 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.a.a.a.1.0.0.2.ip6.arpa @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "SOA.dns64.example.net..hostmaster.example.net." dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL less than 600 from zone ($n)"
+echo_i "checking TTL less than 600 from zone ($n)"
ret=0
#expect 500
$DIG $DIGOPTS aaaa ttl-less-than-600.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i "ttl-less-than-600.example..500.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL more than 600 from zone ($n)"
+echo_i "checking TTL more than 600 from zone ($n)"
ret=0
#expect 700
$DIG $DIGOPTS aaaa ttl-more-than-600.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i "ttl-more-than-600.example..700.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL less than minimum from zone ($n)"
+echo_i "checking TTL less than minimum from zone ($n)"
ret=0
#expect 1100
$DIG $DIGOPTS aaaa ttl-less-than-minimum.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i "ttl-less-than-minimum.example..1100.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL limited to minimum from zone ($n)"
+echo_i "checking TTL limited to minimum from zone ($n)"
ret=0
#expect 1200
$DIG $DIGOPTS aaaa ttl-more-than-minimum.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i "ttl-more-than-minimum.example..1200.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL less than 600 via cache ($n)"
+echo_i "checking TTL less than 600 via cache ($n)"
ret=0
#expect 500
$DIG $DIGOPTS aaaa ttl-less-than-600.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns1.test$n || ret=1
grep -i "ttl-less-than-600.example..500.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL more than 600 via cache ($n)"
+echo_i "checking TTL more than 600 via cache ($n)"
ret=0
#expect 700
$DIG $DIGOPTS aaaa ttl-more-than-600.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "ttl-more-than-600.example..700.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL less than minimum via cache ($n)"
+echo_i "checking TTL less than minimum via cache ($n)"
ret=0
#expect 1100
$DIG $DIGOPTS aaaa ttl-less-than-minimum.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "ttl-less-than-minimum.example..1100.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking TTL limited to minimum via cache ($n)"
+echo_i "checking TTL limited to minimum via cache ($n)"
ret=0
#expect 1200
$DIG $DIGOPTS aaaa ttl-more-than-minimum.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i "ttl-more-than-minimum.example..1200.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking synthesis of AAAA from RPZ-remapped A ($n)"
+echo_i "checking synthesis of AAAA from RPZ-remapped A ($n)"
ret=0
$DIG $DIGOPTS aaaa rpz.example +rec -b 10.53.0.7 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i 'rpz.example.*IN.AAAA.2001:96::a0a:a0a' dig.out.ns2.test$n >/dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f */example.bk
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
rm -f */named.secroots
rm -f */tmp* */*.jnl */*.bk */*.jbk
rm -f */trusted.conf */managed.conf */revoked.conf
rm -f ns3/revkey.example.db
rm -f ns3/managed-future.example.db
rm -f ns4/managed-keys.bind*
-rm -f ns4/named.conf
-rm -f ns4/named.conf ns5/named.conf
rm -f ns4/named_dump.db
rm -f ns6/optout-tld.db
rm -f ns7/multiple.example.bk ns7/nsec3.example.bk ns7/optout.example.bk
#
# perl -MCPAN -e "install Net::DNS"
#
-# $Id: dnssec_update_test.pl,v 1.7 2010/08/13 23:47:03 tbox Exp $
-#
use Getopt::Std;
use Net::DNS;
sub assert {
my ($cond, $explanation) = @_;
if (!$cond) {
- print "I:Test Failed: $explanation ***\n";
+ print "Test Failed: $explanation ***\n";
$failures++
}
}
my $rcode = $reply->header->rcode;
assert($rcode eq $expected, "expected $expected, got $rcode");
} else {
- print "I:Update failed: ", $res->errorstring, "\n";
+ print "Update failed: ", $res->errorstring, "\n";
}
}
sub section {
my ($msg) = @_;
- print "I:$msg\n";
+ print "$msg\n";
}
section("Add a name");
test("NOERROR", ["update", rr_del("a.$zone")]);
if ($failures) {
- print "I:$failures update tests failed.\n";
+ print "$failures update tests failed.\n";
} else {
- print "I:All update tests successful.\n";
+ print "All update tests successful.\n";
}
exit $failures;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.24 2007/06/19 23:47:02 tbox Exp $ */
-
// NS1
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.36 2011/03/21 23:47:21 tbox Exp $ */
-
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.49 2011/10/28 06:20:05 each Exp $ */
-
// NS3
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.3 2011/01/04 23:47:13 tbox Exp $ */
-
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.3 2011/01/04 23:47:13 tbox Exp $ */
-
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.3 2011/01/04 23:47:13 tbox Exp $ */
-
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key auth {
// NS5
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
// NS5
-controls { /* empty */ };
-
key rndc_key {
secret "1234abcd8765";
algorithm hmac-sha256;
};
controls {
- inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; 127.0.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.12 2007/06/18 23:47:28 tbox Exp $ */
-
// NS6
-controls { /* empty */ };
-
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2010/06/26 23:46:49 tbox Exp $ */
-
-// NS3
-
-controls { /* empty */ };
+// NS7
options {
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
then
:
else
- echo "I:Net::DNS versions 0.69 to 0.70 have bugs that cause this test to fail: please update." >&2
+ echo_i "Net::DNS versions 0.69 to 0.70 have bugs that cause this test to fail: please update." >&2
exit 1
fi
fi
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
-cd ns1 && $SHELL sign.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+
+copy_setports ns4/named1.conf.in ns4/named.conf
+copy_setports ns5/named1.conf.in ns5/named.conf
+
+copy_setports ns6/named.conf.in ns6/named.conf
+copy_setports ns7/named.conf.in ns7/named.conf
+
+cd ns1
+$SHELL sign.sh
echo "a.bogus.example. A 10.0.0.22" >>../ns3/bogus.example.db.signed
-cd ../ns3 && cp -f siginterval1.conf siginterval.conf
-cd ../ns4 && cp -f named1.conf named.conf
-cd ../ns5 && {
- cp -f trusted.conf.bad trusted.conf
- cp -f named1.conf named.conf
- $SHELL sign.sh
-}
+cd ../ns3
+cp -f siginterval1.conf siginterval.conf
+
+cd ../ns5
+cp -f trusted.conf.bad trusted.conf
+$SHELL sign.sh
#!/bin/sh
#
-# Copyright (C) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 2000-2002 Internet Software Consortium.
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
-SAMPLEKEY=`cat ns1/sample.key`
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
+ANSWEROPTS="+noall +answer +dnssec -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+SAMPLEOPTS="`cat ns1/sample.key` -p ${PORT}"
# convert private-type records to readable form
showprivate () {
echo $x | grep incomplete >&- 2>&- && ret=1
[ $ret = 1 ] && {
echo "$x"
- echo "I:failed"
+ echo_i "failed"
}
return $ret
}
# Check the example. domain
-echo "I:checking that zone transfer worked ($n)"
+echo_i "checking that zone transfer worked ($n)"
for i in 1 2 3 4 5 6 7 8 9
do
ret=0
done
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# test AD bit:
# - dig +adflag asks for authentication (ad in response)
-echo "I:checking AD bit asking for validation ($n)"
+echo_i "checking AD bit asking for validation ($n)"
ret=0
$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag a.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# test AD bit:
-# - dig +noadflag
-echo "I:checking that AD is not set without +adflag or +dnssec ($n)"
+# - dig +noadflag
+echo_i "checking that AD is not set without +adflag or +dnssec ($n)"
ret=0
$DIG $DIGOPTS +noauth +noadd +nodnssec +noadflag a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth +noadd +nodnssec +noadflag a.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for AD in authoritative answer ($n)"
+echo_i "checking for AD in authoritative answer ($n)"
ret=0
$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation NSEC ($n)"
+echo_i "checking positive validation NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth a.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking postive validation NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.example > sample.out$n || ret=1
+ echo_i "checking postive validation NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.example > sample.out$n || ret=1
grep "a.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
grep "a.example..*.RRSIG.A 3 2 300 .*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking positive validation NSEC3 ($n)"
+echo_i "checking positive validation NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking positive validation NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.nsec3.example > sample.out$n || ret=1
+ echo_i "checking positive validation NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.nsec3.example > sample.out$n || ret=1
grep "a.nsec3.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
grep "a.nsec3.example..*RRSIG.A 7 3 300.*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking positive validation OPTOUT ($n)"
+echo_i "checking positive validation OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking positive validation OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.optout.example > sample.out$n || ret=1
+ echo_i "checking positive validation OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.optout.example > sample.out$n || ret=1
grep "a.optout.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
grep "a.optout.example..*RRSIG.A 7 3 300.*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking positive wildcard validation NSEC ($n)"
+echo_i "checking positive wildcard validation NSEC ($n)"
ret=0
$DIG $DIGOPTS a.wild.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS a.wild.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking positive wildcard validation NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.wild.example > sample.out$n || ret=1
+ echo_i "checking positive wildcard validation NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.wild.example > sample.out$n || ret=1
grep "a.wild.example..*10.0.0.27" sample.out$n > /dev/null || ret=1
grep "a.wild.example..*RRSIG.A 3 2 300.*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking positive wildcard answer NSEC3 ($n)"
+echo_i "checking positive wildcard answer NSEC3 ($n)"
ret=0
$DIG $DIGOPTS a.wild.nsec3.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "AUTHORITY: 4," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive wildcard answer NSEC3 ($n)"
+echo_i "checking positive wildcard answer NSEC3 ($n)"
ret=0
$DIG $DIGOPTS a.wild.nsec3.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "AUTHORITY: 4," dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive wildcard validation NSEC3 ($n)"
+echo_i "checking positive wildcard validation NSEC3 ($n)"
ret=0
$DIG $DIGOPTS a.wild.nsec3.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS a.wild.nsec3.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking positive wildcard validation NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.wild.nsec3.example > sample.out$n || ret=1
+ echo_i "checking positive wildcard validation NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.wild.nsec3.example > sample.out$n || ret=1
grep "a.wild.nsec3.example..*10.0.0.6" sample.out$n > /dev/null || ret=1
grep "a.wild.nsec3.example..*RRSIG.A 7 3 300.*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking positive wildcard validation OPTOUT ($n)"
+echo_i "checking positive wildcard validation OPTOUT ($n)"
ret=0
$DIG $DIGOPTS a.wild.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking positive wildcard validation OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.wild.optout.example > sample.out$n || ret=1
+ echo_i "checking positive wildcard validation OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.wild.optout.example > sample.out$n || ret=1
grep "a.wild.optout.example..*10.0.0.6" sample.out$n > /dev/null || ret=1
grep "a.wild.optout.example..*RRSIG.A 7 3 300.*" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NXDOMAIN NSEC ($n)"
+echo_i "checking negative validation NXDOMAIN NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth q.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth q.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NXDOMAIN NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NXDOMAIN NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NXDOMAIN NSEC3 ($n)"
+echo_i "checking negative validation NXDOMAIN NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth q.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NXDOMAIN NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.nsec3.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NXDOMAIN NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.nsec3.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NXDOMAIN OPTOUT ($n)"
+echo_i "checking negative validation NXDOMAIN OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth q.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NXDOMAIN OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.optout.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NXDOMAIN OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.optout.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NODATA NSEC ($n)"
+echo_i "checking negative validation NODATA NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth a.example. @10.53.0.4 txt > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NODATA OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 a.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NODATA OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 a.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NODATA NSEC3 ($n)"
+echo_i "checking negative validation NODATA NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 txt > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NODATA NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 a.nsec3.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NODATA NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 a.nsec3.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative validation NODATA OPTOUT ($n)"
+echo_i "checking negative validation NODATA OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 txt > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative validation NODATA OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 a.optout.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative validation NODATA OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 a.optout.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative wildcard validation NSEC ($n)"
+echo_i "checking negative wildcard validation NSEC ($n)"
ret=0
$DIG $DIGOPTS b.wild.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS b.wild.example. @10.53.0.4 txt > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative wildcard validation NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 b.wild.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative wildcard validation NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 b.wild.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative wildcard validation NSEC3 ($n)"
+echo_i "checking negative wildcard validation NSEC3 ($n)"
ret=0
$DIG $DIGOPTS b.wild.nsec3.example. @10.53.0.3 txt > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS b.wild.nsec3.example. @10.53.0.4 txt > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative wildcard validation NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 b.wild.nsec3.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative wildcard validation NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 b.wild.nsec3.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking negative wildcard validation OPTOUT ($n)"
+echo_i "checking negative wildcard validation OPTOUT ($n)"
ret=0
$DIG $DIGOPTS b.wild.optout.example. \
@10.53.0.3 txt > dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking negative wildcard validation OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t txt 10.53.0.4 b.optout.nsec3.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking negative wildcard validation OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t txt 10.53.0.4 b.optout.nsec3.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxrrset" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
# Check the insecure.example domain
-echo "I:checking 1-server insecurity proof NSEC ($n)"
+echo_i "checking 1-server insecurity proof NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.insecure.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server insecurity proof NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.insecure.example > sample.out$n || ret=1
+ echo_i "checking 1-server insecurity proof NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.insecure.example > sample.out$n || ret=1
grep "a.insecure.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server insecurity proof NSEC3 ($n)"
+echo_i "checking 1-server insecurity proof NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.nsec3.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.insecure.nsec3.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server insecurity proof NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.insecure.nsec3.example > sample.out$n || ret=1
+ echo_i "checking 1-server insecurity proof NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.insecure.nsec3.example > sample.out$n || ret=1
grep "a.insecure.nsec3.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server insecurity proof OPTOUT ($n)"
+echo_i "checking 1-server insecurity proof OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.optout.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.insecure.optout.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server insecurity proof OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.insecure.optout.example > sample.out$n || ret=1
+ echo_i "checking 1-server insecurity proof OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.insecure.optout.example > sample.out$n || ret=1
grep "a.insecure.optout.example..*10.0.0.1" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server negative insecurity proof NSEC ($n)"
+echo_i "checking 1-server negative insecurity proof NSEC ($n)"
ret=0
$DIG $DIGOPTS q.insecure.example. a @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server negative insecurity proof NSEC using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.insecure.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking 1-server negative insecurity proof NSEC using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.insecure.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server negative insecurity proof NSEC3 ($n)"
+echo_i "checking 1-server negative insecurity proof NSEC3 ($n)"
ret=0
$DIG $DIGOPTS q.insecure.nsec3.example. a @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server negative insecurity proof NSEC3 using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.insecure.nsec3.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking 1-server negative insecurity proof NSEC3 using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.insecure.nsec3.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server negative insecurity proof OPTOUT ($n)"
+echo_i "checking 1-server negative insecurity proof OPTOUT ($n)"
ret=0
$DIG $DIGOPTS q.insecure.optout.example. a @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking 1-server negative insecurity proof OPTOUT using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 q.insecure.optout.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking 1-server negative insecurity proof OPTOUT using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 q.insecure.optout.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: ncache nxdomain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking 1-server negative insecurity proof with SOA hack NSEC ($n)"
+echo_i "checking 1-server negative insecurity proof with SOA hack NSEC ($n)"
ret=0
$DIG $DIGOPTS r.insecure.example. soa @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking 1-server negative insecurity proof with SOA hack NSEC3 ($n)"
+echo_i "checking 1-server negative insecurity proof with SOA hack NSEC3 ($n)"
ret=0
$DIG $DIGOPTS r.insecure.nsec3.example. soa @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking 1-server negative insecurity proof with SOA hack OPTOUT ($n)"
+echo_i "checking 1-server negative insecurity proof with SOA hack OPTOUT ($n)"
ret=0
$DIG $DIGOPTS r.insecure.optout.example. soa @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the secure.example domain
-echo "I:checking multi-stage positive validation NSEC/NSEC ($n)"
+echo_i "checking multi-stage positive validation NSEC/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation NSEC/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation NSEC/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/NSEC ($n)"
+echo_i "checking multi-stage positive validation NSEC3/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation NSEC3/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation NSEC3/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation NSEC3/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/NSEC ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.secure.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/NSEC3 ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking multi-stage positive validation OPTOUT/OPTOUT ($n)"
+echo_i "checking multi-stage positive validation OPTOUT/OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking empty NODATA OPTOUT ($n)"
+echo_i "checking empty NODATA OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth empty.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
#grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the bogus domain
-echo "I:checking failed validation ($n)"
+echo_i "checking failed validation ($n)"
ret=0
$DIG $DIGOPTS a.bogus.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking failed validation using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.bogus.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking failed validation using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.bogus.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: no valid RRSIG" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
# Try validating with a bad trusted key.
# This should fail.
-echo "I:checking that validation fails with a misconfigured trusted key ($n)"
+echo_i "checking that validation fails with a misconfigured trusted key ($n)"
ret=0
$DIG $DIGOPTS example. soa @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that negative validation fails with a misconfigured trusted key ($n)"
+echo_i "checking that negative validation fails with a misconfigured trusted key ($n)"
ret=0
$DIG $DIGOPTS example. ptr @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that insecurity proofs fail with a misconfigured trusted key ($n)"
+echo_i "checking that insecurity proofs fail with a misconfigured trusted key ($n)"
ret=0
$DIG $DIGOPTS a.insecure.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation fails when key record is missing ($n)"
+echo_i "checking that validation fails when key record is missing ($n)"
ret=0
$DIG $DIGOPTS a.b.keyless.example. a @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
ret=0
- echo "I:checking that validation fails when key record is missing using dns_client ($n)"
- $SAMPLE $SAMPLEKEY -p 5300 -t a 10.53.0.4 a.b.keyless.example > /dev/null 2> sample.out$n || ret=1
+ echo_i "checking that validation fails when key record is missing using dns_client ($n)"
+ $SAMPLE $SAMPLEOPTS -t a 10.53.0.4 a.b.keyless.example > /dev/null 2> sample.out$n || ret=1
grep "resolution failed: broken trust chain" sample.out$n > /dev/null || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking that validation succeeds when a revoked key is encountered ($n)"
+echo_i "checking that validation succeeds when a revoked key is encountered ($n)"
ret=0
$DIG $DIGOPTS revkey.example soa @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags: .* ad" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:Checking that a bad CNAME signature is caught after a +CD query ($n)"
+echo_i "Checking that a bad CNAME signature is caught after a +CD query ($n)"
ret=0
#prime
$DIG $DIGOPTS +cd bad-cname.example. @10.53.0.4 > dig.out.ns4.prime$n || ret=1
10.0.0.1"
ans=`$DIG $DIGOPTS +cd +nodnssec +short bad-cname.example. @10.53.0.4` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
#check: requery without +CD. bogus cached data should be rejected.
$DIG $DIGOPTS +nodnssec bad-cname.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:Checking that a bad DNAME signature is caught after a +CD query ($n)"
+echo_i "Checking that a bad DNAME signature is caught after a +CD query ($n)"
ret=0
#prime
$DIG $DIGOPTS +cd a.bad-dname.example. @10.53.0.4 > dig.out.ns4.prime$n || ret=1
10.0.0.1"
ans=`$DIG $DIGOPTS +cd +nodnssec +short a.bad-dname.example. @10.53.0.4` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
#check: requery without +CD. bogus cached data should be rejected.
$DIG $DIGOPTS +nodnssec a.bad-dname.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check the insecure.secure.example domain (insecurity proof)
-echo "I:checking 2-server insecurity proof ($n)"
+echo_i "checking 2-server insecurity proof ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.secure.example. @10.53.0.2 a \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check a negative response in insecure.secure.example
-echo "I:checking 2-server insecurity proof with a negative answer ($n)"
+echo_i "checking 2-server insecurity proof with a negative answer ($n)"
ret=0
$DIG $DIGOPTS q.insecure.secure.example. @10.53.0.2 a > dig.out.ns2.test$n \
|| ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking 2-server insecurity proof with a negative answer and SOA hack ($n)"
+echo_i "checking 2-server insecurity proof with a negative answer and SOA hack ($n)"
ret=0
$DIG $DIGOPTS r.insecure.secure.example. @10.53.0.2 soa > dig.out.ns2.test$n \
|| ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check that the query for a security root is successful and has ad set
-echo "I:checking security root query ($n)"
+echo_i "checking security root query ($n)"
ret=0
$DIG $DIGOPTS . @10.53.0.4 key > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check that the setting the cd bit works
-echo "I:checking cd bit on a positive answer ($n)"
+echo_i "checking cd bit on a positive answer ($n)"
ret=0
$DIG $DIGOPTS +noauth example. soa @10.53.0.4 \
> dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking cd bit on a negative answer ($n)"
+echo_i "checking cd bit on a negative answer ($n)"
ret=0
$DIG $DIGOPTS q.example. soa @10.53.0.4 > dig.out.ns4.test$n || ret=1
$DIG $DIGOPTS +cdflag q.example. soa @10.53.0.5 > dig.out.ns5.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation RSASHA256 NSEC ($n)"
+echo_i "checking positive validation RSASHA256 NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.rsasha256.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.rsasha256.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation RSASHA512 NSEC ($n)"
+echo_i "checking positive validation RSASHA512 NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.rsasha512.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.rsasha512.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation with KSK-only DNSKEY signature ($n)"
+echo_i "checking positive validation with KSK-only DNSKEY signature ($n)"
ret=0
$DIG $DIGOPTS +noauth a.kskonly.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +noauth a.kskonly.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking cd bit on a query that should fail ($n)"
+echo_i "checking cd bit on a query that should fail ($n)"
ret=0
$DIG $DIGOPTS a.bogus.example. soa @10.53.0.4 \
> dig.out.ns4.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking cd bit on an insecurity proof ($n)"
+echo_i "checking cd bit on an insecurity proof ($n)"
ret=0
$DIG $DIGOPTS +noauth a.insecure.example. soa @10.53.0.4 \
> dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking cd bit on a negative insecurity proof ($n)"
+echo_i "checking cd bit on a negative insecurity proof ($n)"
ret=0
$DIG $DIGOPTS q.insecure.example. a @10.53.0.4 \
> dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
grep "flags:.*ad.*QUERY" dig.out.ns5.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation of an ANY query works ($n)"
+echo_i "checking that validation of an ANY query works ($n)"
ret=0
$DIG $DIGOPTS +noauth foo.example. any @10.53.0.2 > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth foo.example. any @10.53.0.4 > dig.out.ns4.test$n || ret=1
# 2 records in the zone, 1 NXT, 3 SIGs
grep "ANSWER: 6" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation of a query returning a CNAME works ($n)"
+echo_i "checking that validation of a query returning a CNAME works ($n)"
ret=0
$DIG $DIGOPTS +noauth cname1.example. txt @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# the CNAME & its sig, the TXT and its SIG
grep "ANSWER: 4" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation of a query returning a DNAME works ($n)"
+echo_i "checking that validation of a query returning a DNAME works ($n)"
ret=0
$DIG $DIGOPTS +noauth foo.dname1.example. txt @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# recursive server and not cached, but I don't know how.
grep "ANSWER: 5" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation of an ANY query returning a CNAME works ($n)"
+echo_i "checking that validation of an ANY query returning a CNAME works ($n)"
ret=0
$DIG $DIGOPTS +noauth cname2.example. any @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# The CNAME, NXT, and their SIGs
grep "ANSWER: 4" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that validation of an ANY query returning a DNAME works ($n)"
+echo_i "checking that validation of an ANY query returning a DNAME works ($n)"
ret=0
$DIG $DIGOPTS +noauth foo.dname2.example. any @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that positive validation in a privately secure zone works ($n)"
+echo_i "checking that positive validation in a privately secure zone works ($n)"
ret=0
$DIG $DIGOPTS +noauth a.private.secure.example. a @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that negative validation in a privately secure zone works ($n)"
+echo_i "checking that negative validation in a privately secure zone works ($n)"
ret=0
$DIG $DIGOPTS +noauth q.private.secure.example. a @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that lookups succeed after disabling a algorithm works ($n)"
+echo_i "checking that lookups succeed after disabling a algorithm works ($n)"
ret=0
$DIG $DIGOPTS +noauth example. SOA @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns6.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking privately secure to nxdomain works ($n)"
+echo_i "checking privately secure to nxdomain works ($n)"
ret=0
$DIG $DIGOPTS +noauth private2secure-nxdomain.private.secure.example. SOA @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking privately secure wildcard to nxdomain works ($n)"
+echo_i "checking privately secure wildcard to nxdomain works ($n)"
ret=0
$DIG $DIGOPTS +noauth a.wild.private.secure.example. SOA @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
# Note - this is looking for failure, hence the &&
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking a non-cachable NODATA works ($n)"
+echo_i "checking a non-cachable NODATA works ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nosoa.secure.example. txt @10.53.0.7 \
> dig.out.ns7.test$n || ret=1
> dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking a non-cachable NXDOMAIN works ($n)"
+echo_i "checking a non-cachable NXDOMAIN works ($n)"
ret=0
$DIG $DIGOPTS +noauth b.nosoa.secure.example. txt @10.53.0.7 \
> dig.out.ns7.test$n || ret=1
> dig.out.ns4.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# to private.secure.example. In addition secure.example is using a
# algorithm which the validation does not support.
#
-echo "I:checking dnssec-lookaside-validation works ($n)"
+echo_i "checking dnssec-lookaside-validation works ($n)"
ret=0
$DIG $DIGOPTS private.secure.example. SOA @10.53.0.6 \
> dig.out.ns6.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns6.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that we can load a rfc2535 signed zone ($n)"
+echo_i "checking that we can load a rfc2535 signed zone ($n)"
ret=0
$DIG $DIGOPTS rfc2535.example. SOA @10.53.0.2 \
> dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that we can transfer a rfc2535 signed zone ($n)"
+echo_i "checking that we can transfer a rfc2535 signed zone ($n)"
ret=0
$DIG $DIGOPTS rfc2535.example. SOA @10.53.0.3 \
> dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that we can sign a zone with out-of-zone records ($n)"
+echo_i "checking that we can sign a zone with out-of-zone records ($n)"
ret=0
zone=example
key1=`$KEYGEN -K signer -q -r $RANDFILE -a NSEC3RSASHA1 -b 1024 -n zone $zone`
$SIGNER -o example -f example.db example.db > /dev/null 2>&1
) || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that we can sign a zone (NSEC3) with out-of-zone records ($n)"
+echo_i "checking that we can sign a zone (NSEC3) with out-of-zone records ($n)"
ret=0
zone=example
key1=`$KEYGEN -K signer -q -r $RANDFILE -a NSEC3RSASHA1 -b 1024 -n zone $zone`
while (!index($0, ")")) {
if (getline <= 0)
break;
- printf (" %s", $0);
+ printf (" %s", $0);
}
printf("\n");
}' example.db | sed 's/[ ][ ]*/ /g' > nsec3param.out
-grep "IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG.example. 0 IN NSEC3 1 0 10 - ( IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG A NS SOA RRSIG DNSKEY NSEC3PARAM )" nsec3param.out > /dev/null
+grep "IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG.example. 0 IN NSEC3 1 0 10 - ( IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG A NS SOA RRSIG DNSKEY NSEC3PARAM )" nsec3param.out > /dev/null
) || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking NSEC3 signing with empty nonterminals above a delegation ($n)"
+echo_i "checking NSEC3 signing with empty nonterminals above a delegation ($n)"
ret=0
zone=example
key1=`$KEYGEN -K signer -q -r $RANDFILE -a NSEC3RSASHA1 -b 1024 -n zone $zone`
while (!index($0, ")")) {
if (getline <= 0)
break;
- printf (" %s", $0);
+ printf (" %s", $0);
}
printf("\n");
}' example.db | sed 's/[ ][ ]*/ /g' > nsec3param.out
grep "IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG.example. 0 IN NSEC3 1 0 10 - ( IQF9LQTLKKNFK0KVIFELRAK4IC4QLTMG A NS SOA RRSIG DNSKEY NSEC3PARAM )" nsec3param.out > /dev/null
) || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that dnsssec-signzone updates originalttl on ttl changes ($n)"
+echo_i "checking that dnsssec-signzone updates originalttl on ttl changes ($n)"
ret=0
zone=example
key1=`$KEYGEN -K signer -q -r $RANDFILE -a RSASHA1 -b 1024 -n zone $zone`
)
grep "SOA 5 1 50" signer/example.db.after > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone keeps valid signatures from removed keys ($n)"
+echo_i "checking dnssec-signzone keeps valid signatures from removed keys ($n)"
ret=0
zone=example
key1=`$KEYGEN -K signer -q -r $RANDFILE -f KSK -a RSASHA1 -b 1024 -n zone $zone`
grep " $keyid2 " signer/example.db.signed > /dev/null 2>&1 || ret=1
grep " $keyid3 " signer/example.db.signed > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone -R purges signatures from removed keys ($n)"
+echo_i "checking dnssec-signzone -R purges signatures from removed keys ($n)"
ret=0
(
cd signer
grep " $keyid2 " signer/example.db.signed > /dev/null 2>&1 && ret=1
grep " $keyid3 " signer/example.db.signed > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone keeps valid signatures from inactive keys ($n)"
+echo_i "checking dnssec-signzone keeps valid signatures from inactive keys ($n)"
ret=0
zone=example
(
grep " $keyid2 " signer/example.db.signed > /dev/null 2>&1 || ret=1
grep " $keyid3 " signer/example.db.signed > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone -Q purges signatures from inactive keys ($n)"
+echo_i "checking dnssec-signzone -Q purges signatures from inactive keys ($n)"
ret=0
(
cd signer
grep " $keyid2 " signer/example.db.signed > /dev/null 2>&1 && ret=1
grep " $keyid3 " signer/example.db.signed > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone retains unexpired signatures ($n)"
+echo_i "checking dnssec-signzone retains unexpired signatures ($n)"
ret=0
(
cd signer
[ "$gen2" -eq 0 ] || ret=1
[ "$drop2" -eq 0 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone purges RRSIGs from formerly-owned glue (nsec) ($n)"
+echo_i "checking dnssec-signzone purges RRSIGs from formerly-owned glue (nsec) ($n)"
ret=0
(
cd signer
grep "^sub1\.example\..*RRSIG[ ]A[ ]" signer/example2.db.signed > /dev/null 2>&1 && ret=1
grep "^ns\.sub2\.example\..*RRSIG[ ]A[ ]" signer/example2.db.signed > /dev/null 2>&1 && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone purges RRSIGs from formerly-owned glue (nsec3) ($n)"
+echo_i "checking dnssec-signzone purges RRSIGs from formerly-owned glue (nsec3) ($n)"
ret=0
(
cd signer
grep "^sub1\.example\..*RRSIG[ ]A[ ]" signer/example2.db.signed > /dev/null 2>&1 && ret=1
grep "^ns\.sub2\.example\..*RRSIG[ ]A[ ]" signer/example2.db.signed > /dev/null 2>&1 && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone output format ($n)"
+echo_i "checking dnssec-signzone output format ($n)"
ret=0
(
cd signer
israw1 signer/signer.out.5 || ret=1
israw0 signer/signer.out.6 || ret=1
israw1 signer/signer.out.7 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnssec-signzone output format ($n)"
+echo_i "checking dnssec-signzone output format ($n)"
ret=0
(
cd signer
) || ret=1
awk '/IN *SOA/ {if (NF != 11) exit(1)}' signer/signer.out.3 || ret=1
awk '/IN *SOA/ {if (NF != 7) exit(1)}' signer/signer.out.4 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking validated data are not cached longer than originalttl ($n)"
+echo_i "checking validated data are not cached longer than originalttl ($n)"
ret=0
$DIG $DIGOPTS +ttl +noauth a.ttlpatch.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
$DIG $DIGOPTS +ttl +noauth a.ttlpatch.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "300.IN" dig.out.ns4.test$n > /dev/null || ret=1
grep "3600.IN" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Test that "rndc secroots" is able to dump trusted keys
-echo "I:checking rndc secroots ($n)"
+echo_i "checking rndc secroots ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 secroots 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.4 secroots 2>&1 | sed 's/^/ns4 /' | cat_i
keyid=`cat ns1/managed.key.id`
cp ns4/named.secroots named.secroots.test$n
linecount=`grep "./RSAMD5/$keyid ; trusted" named.secroots.test$n | wc -l`
linecount=`cat named.secroots.test$n | wc -l`
[ "$linecount" -eq 5 ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check direct query for RRSIG. If we first ask for normal (non RRSIG)
# record, the corresponding RRSIG should be cached and subsequent query
# for RRSIG will be returned with the cached record.
-echo "I:checking RRSIG query from cache ($n)"
+echo_i "checking RRSIG query from cache ($n)"
ret=0
$DIG $DIGOPTS normalthenrrsig.secure.example. @10.53.0.4 a > /dev/null || ret=1
ans=`$DIG $DIGOPTS +short normalthenrrsig.secure.example. @10.53.0.4 rrsig` || ret=1
$DIG $DIGOPTS normalthenrrsig.secure.example. @10.53.0.4 rrsig > dig.out.ns4.test$n || ret=1
grep "flags:.*ra.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Check direct query for RRSIG: If it's not cached with other records,
# it should result in an empty response.
-echo "I:checking RRSIG query not in cache ($n)"
+echo_i "checking RRSIG query not in cache ($n)"
ret=0
ans=`$DIG $DIGOPTS +short rrsigonly.secure.example. @10.53.0.4 rrsig` || ret=1
test -z "$ans" || ret=1
$DIG $DIGOPTS rrsigonly.secure.example. @10.53.0.4 rrsig > dig.out.ns4.test$n || ret=1
grep "flags:.*ra.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# RT21868 regression test.
#
-echo "I:checking NSEC3 zone with mismatched NSEC3PARAM / NSEC parameters ($n)"
+echo_i "checking NSEC3 zone with mismatched NSEC3PARAM / NSEC parameters ($n)"
ret=0
$DIG $DIGOPTS non-exist.badparam. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# RT22007 regression test.
#
-echo "I:checking optout NSEC3 referral with only insecure delegations ($n)"
+echo_i "checking optout NSEC3 referral with only insecure delegations ($n)"
ret=0
$DIG $DIGOPTS +norec delegation.single-nsec3. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN.*NSEC3 1 1 1 - 3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking optout NSEC3 NXDOMAIN with only insecure delegations ($n)"
+echo_i "checking optout NSEC3 NXDOMAIN with only insecure delegations ($n)"
ret=0
$DIG $DIGOPTS +norec nonexist.single-nsec3. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN.*NSEC3 1 1 1 - 3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking optout NSEC3 nodata with only insecure delegations ($n)"
+echo_i "checking optout NSEC3 nodata with only insecure delegations ($n)"
ret=0
$DIG $DIGOPTS +norec single-nsec3. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN.*NSEC3 1 1 1 - 3KL3NK1HKQ4IUEEHBEF12VGFKUETNBAN" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a zone finishing the transition from RSASHA1 to RSASHA256 validates secure ($n)"
+echo_i "checking that a zone finishing the transition from RSASHA1 to RSASHA256 validates secure ($n)"
ret=0
$DIG $DIGOPTS ns algroll. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:[^;]* ad[^;]*;" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Run a minimal update test if possible. This is really just
if $PERL -e 'use Net::DNS;' 2>/dev/null
then
- echo "I:running DNSSEC update test"
- $PERL dnssec_update_test.pl -s 10.53.0.3 -p 5300 dynamic.example. || status=1
+ echo_i "running DNSSEC update test"
+ ret=0
+ {
+ $PERL dnssec_update_test.pl -s 10.53.0.3 -p ${PORT} dynamic.example. || ret=1
+ } | cat_i
+ [ $ret -eq 1 ] && status=1
else
- echo "I:The DNSSEC update test requires the Net::DNS library." >&2
+ echo_i "The DNSSEC update test requires the Net::DNS library." >&2
fi
-echo "I:checking managed key maintenance has not started yet ($n)"
+n=`expr $n + 1`
+echo_i "checking managed key maintenance has not started yet ($n)"
ret=0
[ -f "ns4/managed-keys.bind.jnl" ] && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Reconfigure caching server to use "dnssec-validation auto", and repeat
# some of the DNSSEC validation tests to ensure that it works correctly.
-echo "I:switching to automatic root key configuration"
-cp ns4/named2.conf ns4/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
+echo_i "switching to automatic root key configuration"
+copy_setports ns4/named2.conf.in ns4/named.conf
+$RNDCCMD 10.53.0.4 reconfig 2>&1 | sed 's/^/ns4 /' | cat_i
sleep 5
-echo "I:checking managed key maintenance timer has now started ($n)"
+echo_i "checking managed key maintenance timer has now started ($n)"
ret=0
[ -f "ns4/managed-keys.bind.jnl" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation NSEC ($n)"
+echo_i "checking positive validation NSEC ($n)"
ret=0
$DIG $DIGOPTS +noauth a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth a.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation NSEC3 ($n)"
+echo_i "checking positive validation NSEC3 ($n)"
ret=0
$DIG $DIGOPTS +noauth a.nsec3.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking positive validation OPTOUT ($n)"
+echo_i "checking positive validation OPTOUT ($n)"
ret=0
$DIG $DIGOPTS +noauth a.optout.example. \
@10.53.0.3 a > dig.out.ns3.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking negative validation ($n)"
+echo_i "checking negative validation ($n)"
ret=0
$DIG $DIGOPTS +noauth q.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth q.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that root DS queries validate ($n)"
+echo_i "checking that root DS queries validate ($n)"
ret=0
$DIG $DIGOPTS +noauth . @10.53.0.1 ds > dig.out.ns1.test$n || ret=1
$DIG $DIGOPTS +noauth . @10.53.0.4 ds > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that DS at a RFC 1918 empty zone lookup succeeds ($n)"
+echo_i "checking that DS at a RFC 1918 empty zone lookup succeeds ($n)"
ret=0
$DIG $DIGOPTS +noauth 10.in-addr.arpa ds @10.53.0.2 >dig.out.ns2.test$n || ret=1
$DIG $DIGOPTS +noauth 10.in-addr.arpa ds @10.53.0.6 >dig.out.ns6.test$n || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns6.test$n || ret=1
grep "status: NOERROR" dig.out.ns6.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking expired signatures remain with "'"allow-update { none; };"'" and no keys available ($n)"
+echo_i "checking expired signatures remain with "'"allow-update { none; };"'" and no keys available ($n)"
ret=0
$DIG $DIGOPTS +noauth expired.example. +dnssec @10.53.0.3 soa > dig.out.ns3.test$n || ret=1
grep "RRSIG.SOA" dig.out.ns3.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking expired signatures do not validate ($n)"
+echo_i "checking expired signatures do not validate ($n)"
ret=0
$DIG $DIGOPTS +noauth expired.example. +dnssec @10.53.0.4 soa > dig.out.ns4.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
grep "expired.example .*: RRSIG has expired" ns4/named.run > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that the NSEC3 record for the apex is properly signed when a DNSKEY is added via UPDATE ($n)"
+echo_i "checking that the NSEC3 record for the apex is properly signed when a DNSKEY is added via UPDATE ($n)"
ret=0
(
cd ns3
kskname=`$KEYGEN -q -3 -r $RANDFILE -fk update-nsec3.example`
(
echo zone update-nsec3.example
-echo server 10.53.0.3 5300
+echo server 10.53.0.3 ${PORT}
grep DNSKEY ${kskname}.key | sed -e 's/^/update add /' -e 's/IN/300 IN/'
echo send
) | $NSUPDATE
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
grep "NSEC3 .* TYPE65534" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that the NSEC record is properly generated when DNSKEY are added via auto-dnssec ($n)"
+echo_i "checking that the NSEC record is properly generated when DNSKEY are added via auto-dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec a auto-nsec.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
grep "IN.NSEC[^3].* DNSKEY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that the NSEC3 record is properly generated when DNSKEY are added via auto-dnssec ($n)"
+echo_i "checking that the NSEC3 record is properly generated when DNSKEY are added via auto-dnssec ($n)"
ret=0
$DIG $DIGOPTS +dnssec a auto-nsec3.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
grep "IN.NSEC3 .* DNSKEY" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that signing records have been marked as complete ($n)"
+echo_i "checking that signing records have been marked as complete ($n)"
ret=0
checkprivate dynamic.example 10.53.0.3 || ret=1
checkprivate update-nsec3.example 10.53.0.3 || ret=1
checkprivate expiring.example 10.53.0.3 || ret=1
checkprivate auto-nsec.example 10.53.0.3 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing' without arguments is handled ($n)"
+echo_i "check that 'rndc signing' without arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -list' without zone is handled ($n)"
+echo_i "check that 'rndc signing -list' without zone is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -list > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -clear' without additional arguments is handled ($n)"
+echo_i "check that 'rndc signing -clear' without additional arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -clear > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -clear all' without zone is handled ($n)"
+echo_i "check that 'rndc signing -clear all' without zone is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -clear all > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param' without additional arguments is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param' without additional arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param none' without zone is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param none' without zone is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param none > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param none > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param 1' without additional arguments is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param 1' without additional arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param 1 0' without additional arguments is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param 1 0' without additional arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param 1 0 0' without additional arguments is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param 1 0 0' without additional arguments is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param 1 0 0 -' without zone is handled ($n)"
+echo_i "check that 'rndc signing -nsec3param 1 0 0 -' without zone is handled ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 - > /dev/null 2>&1 && ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 - > /dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param' works with salt ($n)"
+echo_i "check that 'rndc signing -nsec3param' works with salt ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 ffff inline.example > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 ffff inline.example > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
for i in 1 2 3 4 5 6 7 8 9 10 ; do
salt=`$DIG $DIGOPTS +nodnssec +short nsec3param inline.example. @10.53.0.3 | awk '{print $4}'`
if [ "$salt" = "FFFF" ]; then
break;
fi
- echo "I:sleeping ...."
+ echo_i "sleeping ...."
sleep 1
done;
[ "$salt" = "FFFF" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'rndc signing -nsec3param' works without salt ($n)"
+echo_i "check that 'rndc signing -nsec3param' works without salt ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 - inline.example > /dev/null 2>&1 || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 status > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 - inline.example > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 status > /dev/null || ret=1
for i in 1 2 3 4 5 6 7 8 9 10 ; do
salt=`$DIG $DIGOPTS +nodnssec +short nsec3param inline.example. @10.53.0.3 | awk '{print $4}'`
if [ "$salt" = "-" ]; then
break;
fi
- echo "I:sleeping ...."
+ echo_i "sleeping ...."
sleep 1
done;
[ "$salt" = "-" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check rndc signing -list output ($n)"
+echo_i "check rndc signing -list output ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list dynamic.example 2>&1 > signing.out
+$RNDCCMD 10.53.0.3 signing -list dynamic.example 2>&1 > signing.out
grep "No signing records found" signing.out > /dev/null 2>&1 || {
ret=1
- sed 's/^/I:ns3 /' signing.out
+ sed 's/^/ns3 /' signing.out | cat_i
}
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list update-nsec3.example 2>&1 > signing.out
+$RNDCCMD 10.53.0.3 signing -list update-nsec3.example 2>&1 > signing.out
grep "Done signing with key .*/NSEC3RSASHA1" signing.out > /dev/null 2>&1 || {
ret=1
- sed 's/^/I:ns3 /' signing.out
+ sed 's/^/ns3 /' signing.out | cat_i
}
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:clear signing records ($n)"
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all update-nsec3.example > /dev/null || ret=1
+echo_i "clear signing records ($n)"
+$RNDCCMD 10.53.0.3 signing -clear all update-nsec3.example > /dev/null || ret=1
sleep 1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list update-nsec3.example 2>&1 > signing.out
+$RNDCCMD 10.53.0.3 signing -list update-nsec3.example 2>&1 > signing.out
grep "No signing records found" signing.out > /dev/null 2>&1 || {
ret=1
- sed 's/^/I:ns3 /' signing.out
+ sed 's/^/ns3 /' signing.out | cat_i
}
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a insecure zone beneath a cname resolves ($n)"
+echo_i "checking that a insecure zone beneath a cname resolves ($n)"
ret=0
$DIG $DIGOPTS soa insecure.below-cname.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a secure zone beneath a cname resolves ($n)"
+echo_i "checking that a secure zone beneath a cname resolves ($n)"
ret=0
$DIG $DIGOPTS soa secure.below-cname.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking dnskey query with no data still gets put in cache ($n)"
+echo_i "checking dnskey query with no data still gets put in cache ($n)"
ret=0
-myDIGOPTS="+noadd +nosea +nostat +noquest +nocomm +nocmd -p 5300 @10.53.0.4"
+myDIGOPTS="+noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT} @10.53.0.4"
firstVal=`$DIG $myDIGOPTS insecure.example. dnskey| awk '$1 != ";;" { print $2 }'`
sleep 1
secondVal=`$DIG $myDIGOPTS insecure.example. dnskey| awk '$1 != ";;" { print $2 }'`
thirdVal=`$DIG $myDIGOPTS insecure.example. dnskey|awk '$1 != ";;" { print $2 }'`
if [ ${firstVal:-0} -eq ${thirdVal:-0} ]
then
- echo "I: cannot confirm query answer still in cache"
+ echo_i "cannot confirm query answer still in cache"
ret=1
fi
fi
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a split dnssec dnssec-signzone work ($n)"
+echo_i "check that a split dnssec dnssec-signzone work ($n)"
ret=0
$DIG $DIGOPTS soa split-dnssec.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a smart split dnssec dnssec-signzone work ($n)"
+echo_i "check that a smart split dnssec dnssec-signzone work ($n)"
ret=0
$DIG $DIGOPTS soa split-smart.example. @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that NOTIFY is sent at the end of NSEC3 chain generation ($n)"
+echo_i "check that NOTIFY is sent at the end of NSEC3 chain generation ($n)"
ret=0
(
echo zone nsec3chain-test
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update add nsec3chain-test. 0 nsec3param 1 0 1 123456
echo send
) | $NSUPDATE
then
break;
fi
- echo "I:sleeping ...."
+ echo_i "sleeping ...."
sleep 3
done;
grep "ANSWER: 3," dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:nsec3 chain generation not complete"; fi
+if [ $ret != 0 ]; then echo_i "nsec3 chain generation not complete"; fi
$DIG $DIGOPTS +noauth +nodnssec soa nsec3chain-test @10.53.0.2 > dig.out.ns2.test$n || ret=1
s2=`awk '$4 == "SOA" { print $7}' dig.out.ns2.test$n`
for i in 1 2 3 4 5 6 7 8 9 10
done
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check dnssec-dsfromkey from stdin ($n)"
+echo_i "check dnssec-dsfromkey from stdin ($n)"
ret=0
$DIG $DIGOPTS dnskey algroll. @10.53.0.2 | \
$DSFROMKEY -f - algroll. > dig.out.ns2.test$n || ret=1
}' < ns1/dsset-algroll. > canonical2.$n || ret=1
diff -b canonical1.$n canonical2.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# Intentionally strip ".key" from keyfile name to ensure the error message
# includes it anyway to avoid confusion (RT #21731)
-echo "I:check dnssec-dsfromkey error message when keyfile is not found ($n)"
+echo_i "check dnssec-dsfromkey error message when keyfile is not found ($n)"
ret=0
key=`$KEYGEN -q -r $RANDFILE example.` || ret=1
mv $key.key $key
$DSFROMKEY $key > dsfromkey.out.$n 2>&1 && ret=1
grep "$key.key: file not found" dsfromkey.out.$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing soon-to-expire RRSIGs without a replacement private key ($n)"
+echo_i "testing soon-to-expire RRSIGs without a replacement private key ($n)"
ret=0
-$DIG +noall +answer +dnssec +nottl -p 5300 expiring.example ns @10.53.0.3 | grep RRSIG > dig.out.ns3.test$n 2>&1
+$DIG $ANSWEROPTS +nottlid expiring.example ns @10.53.0.3 | grep RRSIG > dig.out.ns3.test$n 2>&1
# there must be a signature here
[ -s dig.out.ns3.test$n ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing new records are signed with 'no-resign' ($n)"
+echo_i "testing new records are signed with 'no-resign' ($n)"
ret=0
(
echo zone nosign.example
-echo server 10.53.0.3 5300
+echo server 10.53.0.3 ${PORT}
echo update add new.nosign.example 300 in txt "hi there"
echo send
) | $NSUPDATE
sleep 1
-$DIG +noall +answer +dnssec -p 5300 txt new.nosign.example @10.53.0.3 \
+$DIG $ANSWEROPTS +nottlid txt new.nosign.example @10.53.0.3 \
> dig.out.ns3.test$n 2>&1
grep RRSIG dig.out.ns3.test$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing expiring records aren't resigned with 'no-resign' ($n)"
+echo_i "testing expiring records aren't resigned with 'no-resign' ($n)"
ret=0
-$DIG +noall +answer +dnssec +nottl -p 5300 nosign.example ns @10.53.0.3 | \
+$DIG $ANSWEROPTS +nottl nosign.example ns @10.53.0.3 | \
grep RRSIG | sed 's/[ ][ ]*/ /g' > dig.out.ns3.test$n 2>&1
# the NS RRSIG should not be changed
cmp -s nosign.before dig.out.ns3.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing updates fail with no private key ($n)"
+echo_i "testing updates fail with no private key ($n)"
ret=0
rm -f ns3/Knosign.example.*.private
(
echo zone nosign.example
-echo server 10.53.0.3 5300
+echo server 10.53.0.3 ${PORT}
echo update add fail.nosign.example 300 in txt "reject me"
echo send
) | $NSUPDATE > /dev/null 2>&1 && ret=1
-$DIG +noall +answer +dnssec -p 5300 fail.nosign.example txt @10.53.0.3 \
+$DIG $ANSWEROPTS +noall +answer +dnssec fail.nosign.example txt @10.53.0.3 \
> dig.out.ns3.test$n 2>&1
[ -s dig.out.ns3.test$n ] && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing legacy upper case signer name validation ($n)"
+echo_i "testing legacy upper case signer name validation ($n)"
ret=0
-$DIG +tcp +dnssec -p 5300 +noadd +noauth soa upper.example @10.53.0.4 \
+$DIG +tcp +noadd +noauth +dnssec -p ${PORT} soa upper.example @10.53.0.4 \
> dig.out.ns4.test$n 2>&1
grep 'flags:.* ad;' dig.out.ns4.test$n > /dev/null || ret=1
grep 'RRSIG.*SOA.* UPPER\.EXAMPLE\. ' dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing that we lower case signer name ($n)"
+echo_i "testing that we lower case signer name ($n)"
ret=0
-$DIG +tcp +dnssec -p 5300 +noadd +noauth soa LOWER.EXAMPLE @10.53.0.4 \
+$DIG +tcp +noadd +noauth +dnssec -p ${PORT} soa LOWER.EXAMPLE @10.53.0.4 \
> dig.out.ns4.test$n 2>&1
grep 'flags:.* ad;' dig.out.ns4.test$n > /dev/null || ret=1
grep 'RRSIG.*SOA.* lower\.example\. ' dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing TTL is capped at RRSIG expiry time ($n)"
+echo_i "testing TTL is capped at RRSIG expiry time ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze expiring.example 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 freeze expiring.example 2>&1 | sed 's/^/ns3 /' | cat_i
(
cd ns3
for file in K*.moved; do
done
$SIGNER -S -r $RANDFILE -N increment -e now+1mi -o expiring.example expiring.example.db > /dev/null 2>&1
) || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload expiring.example 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 reload expiring.example 2>&1 | sed 's/^/ns3 /' | cat_i
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
-$DIG +noall +answer +dnssec +cd -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +answer +dnssec -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
+$RNDCCMD 10.53.0.4 flush 2>&1 | sed 's/^/ns4 /' | cat_i
+$DIG $ANSWEROPTS +cd expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $ANSWEROPTS expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-0}; do
[ ${ttl:-0} -le 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing TTL is capped at RRSIG expiry time for records in the additional section ($n)"
+echo_i "testing TTL is capped at RRSIG expiry time for records in the additional section ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
+$RNDCCMD 10.53.0.4 flush 2>&1 | sed 's/^/ns4 /' | cat_i
sleep 1
-$DIG +noall +additional +dnssec +cd -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +additional +dnssec -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
+$DIG $ANSWEROPTS +cd expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $ANSWEROPTS expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-300}; do
[ ${ttl:-0} -le 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp ns4/named3.conf ns4/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
+copy_setports ns4/named3.conf.in ns4/named.conf
+$RNDCCMD 10.53.0.4 reconfig 2>&1 | sed 's/^/ns4 /' | cat_i
sleep 3
-echo "I:testing TTL of about to expire RRsets with dnssec-accept-expired yes; ($n)"
+echo_i "testing TTL of about to expire RRsets with dnssec-accept-expired yes; ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
-$DIG +noall +answer +dnssec +cd -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +answer +dnssec -p 5300 expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
+$RNDCCMD 10.53.0.4 flush 2>&1 | sed 's/^/ns4 /' | cat_i
+$DIG $ANSWEROPTS +cd expiring.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $ANSWEROPTS expiring.example soa @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-0}; do
[ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing TTL of expired RRsets with dnssec-accept-expired yes; ($n)"
+echo_i "testing TTL of expired RRsets with dnssec-accept-expired yes; ($n)"
ret=0
-$DIG +noall +answer +dnssec +cd -p 5300 expired.example soa @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +answer +dnssec -p 5300 expired.example soa @10.53.0.4 > dig.out.ns4.2.$n
+$DIG $ANSWEROPTS +cd expired.example soa @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $ANSWEROPTS expired.example soa @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-0}; do
[ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp ns4/named4.conf ns4/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
+copy_setports ns4/named4.conf.in ns4/named.conf
+$RNDCCMD 10.53.0.4 reconfig 2>&1 | sed 's/^/I:ns4 /'
sleep 3
-echo "I:testing TTL is capped at RRSIG expiry time for records in the additional section with dnssec-accept-expired yes; ($n)"
+echo_i "testing TTL is capped at RRSIG expiry time for records in the additional section with dnssec-accept-expired yes; ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
-$DIG +noall +additional +dnssec +cd -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +additional +dnssec -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
+$RNDCCMD 10.53.0.4 flush 2>&1 | sed 's/^/ns4 /' | cat_i
+$DIG $ANSWEROPTS +cd expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $ANSWEROPTS expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-300}; do
[ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp ns4/named4.conf ns4/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
-sleep 3
-
-echo "I:testing TTL is capped at RRSIG expiry time for records in the additional section with acache off; ($n)"
+echo_i "testing TTL is capped at RRSIG expiry time for records in the additional section with acache off; ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 flush
-$DIG +noall +additional +dnssec +cd -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
-$DIG +noall +additional +dnssec -p 5300 expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
+$RNDCCMD 10.53.0.4 flush
+$DIG $DIGOPTS +noall +additional +dnssec +cd expiring.example mx @10.53.0.4 > dig.out.ns4.1.$n
+$DIG $DIGOPTS +noall +additional +dnssec expiring.example mx @10.53.0.4 > dig.out.ns4.2.$n
ttls=`awk '$1 != ";;" {print $2}' dig.out.ns4.1.$n`
ttls2=`awk '$1 != ";;" {print $2}' dig.out.ns4.2.$n`
for ttl in ${ttls:-300}; do
[ $ttl -le 120 -a $ttl -gt 60 ] || ret=1
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing DNSKEY lookup via CNAME ($n)"
+echo_i "testing DNSKEY lookup via CNAME ($n)"
ret=0
$DIG $DIGOPTS +noauth cnameandkey.secure.example. \
@10.53.0.3 dnskey > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "CNAME" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing KEY lookup at CNAME (present) ($n)"
+echo_i "testing KEY lookup at CNAME (present) ($n)"
ret=0
$DIG $DIGOPTS +noauth cnameandkey.secure.example. \
@10.53.0.3 key > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "CNAME" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing KEY lookup at CNAME (not present) ($n)"
+echo_i "testing KEY lookup at CNAME (not present) ($n)"
ret=0
$DIG $DIGOPTS +noauth cnamenokey.secure.example. \
@10.53.0.3 key > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "CNAME" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing DNSKEY lookup via DNAME ($n)"
+echo_i "testing DNSKEY lookup via DNAME ($n)"
ret=0
$DIG $DIGOPTS a.dnameandkey.secure.example. \
@10.53.0.3 dnskey > dig.out.ns3.test$n || ret=1
grep "CNAME" dig.out.ns4.test$n > /dev/null || ret=1
grep "DNAME" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:testing KEY lookup via DNAME ($n)"
+echo_i "testing KEY lookup via DNAME ($n)"
ret=0
$DIG $DIGOPTS b.dnameandkey.secure.example. \
@10.53.0.3 key > dig.out.ns3.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "DNAME" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that named doesn't loop when all private keys are not available ($n)"
+echo_i "check that named doesn't loop when all private keys are not available ($n)"
ret=0
lines=`grep "reading private key file expiring.example" ns3/named.run | wc -l`
test ${lines:-1000} -lt 15 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check against against missing nearest provable proof ($n)"
+echo_i "check against against missing nearest provable proof ($n)"
$DIG $DIGOPTS +norec b.c.d.optout-tld. \
@10.53.0.6 ds > dig.out.ds.ns6.test$n || ret=1
nsec3=`grep "IN.NSEC3" dig.out.ds.ns6.test$n | wc -l`
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check KEYDATA records are printed in human readable form in key zone ($n)"
+echo_i "check KEYDATA records are printed in human readable form in key zone ($n)"
# force the managed-keys zone to be written out
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns4
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . --port ${CONTROLPORT} ns4
ret=0
grep KEYDATA ns4/managed-keys.bind > /dev/null || ret=1
grep "next refresh:" ns4/managed-keys.bind > /dev/null || ret=1
# restart the server
-$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns4
+$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns4
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check simultaneous inactivation and publishing of dnskeys removes inactive signature ($n)"
+echo_i "check simultaneous inactivation and publishing of dnskeys removes inactive signature ($n)"
ret=0
cnt=0
while :
sigs=`expr $sigs + 0`
n=`expr $n + 1`
test $sigs -eq 2 || ret=1
-if test $ret != 0 ; then echo "I:failed"; fi
+if test $ret != 0 ; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that increasing the sig-validity-interval resigning triggers re-signing"
+echo_i "check that increasing the sig-validity-interval resigning triggers re-signing"
ret=0
-before=`$DIG axfr siginterval.example -p 5300 @10.53.0.3 | grep RRSIG.SOA`
+before=`$DIG axfr siginterval.example -p ${PORT} @10.53.0.3 | grep RRSIG.SOA`
cp ns3/siginterval2.conf ns3/siginterval.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig 2>&1 | sed 's/^/I:ns3 /'
+$RNDCCMD 10.53.0.3 reconfig 2>&1 | sed 's/^/ns3 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9 0
do
-after=`$DIG axfr siginterval.example -p 5300 @10.53.0.3 | grep RRSIG.SOA`
+after=`$DIG axfr siginterval.example -p ${PORT} @10.53.0.3 | grep RRSIG.SOA`
test "$before" != "$after" && break
sleep 1
done
n=`expr $n + 1`
-if test "$before" = "$after" ; then echo "I:failed"; ret=1; fi
+if test "$before" = "$after" ; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-cp ns4/named5.conf ns4/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig 2>&1 | sed 's/^/I:ns4 /'
+copy_setports ns4/named4.conf.in ns4/named.conf
+$RNDCCMD 10.53.0.4 reconfig 2>&1 | sed 's/^/I:ns4 /'
sleep 3
-echo "I:check insecure delegation between static-stub zones ($n)"
+echo_i "check insecure delegation between static-stub zones ($n)"
ret=0
$DIG $DIGOPTS ns insecure.secure.example \
@10.53.0.4 > dig.out.ns4.1.test$n || ret=1
@10.53.0.4 > dig.out.ns4.2.test$n || ret=1
grep "SERVFAIL" dig.out.ns4.2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that split rrsigs are handled ($n)"
+echo_i "check that split rrsigs are handled ($n)"
ret=0
$DIG $DIGOPTS split-rrsig soa @10.53.0.7 > dig.out.test$n || ret=1
-awk 'BEGIN { ok=0; } $4 == "SOA" { if ($7 > 1) ok=1; } END { if (!ok) exit(1); }' dig.out.test$n || ret=1
+awk 'BEGIN { ok=0; } $4 == "SOA" { if ($7 > 1) ok=1; } END { if (!ok) exit(1); }' dig.out.test$n || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'dnssec-keygen -S' works for all supported algorithms ($n)"
+echo_i "check that 'dnssec-keygen -S' works for all supported algorithms ($n)"
ret=0
alg=1
until test $alg = 256
fi
if test -z "$key1"
then
- echo "I: '$KEYGEN -a $alg': failed"
+ echo_i "'$KEYGEN -a $alg': failed"
cat keygen.err
ret=1
alg=`expr $alg + 1`
key2=`$KEYGEN -v 10 -r $RANDFILE -i 3d -S $key1.private 2> /dev/null`
test -f $key2.key -a -f $key2.private || {
ret=1
- echo "I: 'dnssec-keygen -S' failed for algorithm: $alg"
+ echo_i "'dnssec-keygen -S' failed for algorithm: $alg"
}
alg=`expr $alg + 1`
done
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDS records are signed using KSK by dnssec-signzone ($n)"
+echo_i "check that CDS records are signed using KSK by dnssec-signzone ($n)"
ret=0
$DIG $DIGOPTS +noall +answer @10.53.0.2 cds cds.secure > dig.out.test$n
lines=`awk '$4 == "RRSIG" && $5 == "CDS" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
# Test for +sigchase with a null set of trusted keys.
#
-$DIG -p 5300 @10.53.0.3 +sigchase +trusted-key=/dev/null > dig.out.ns3.test$n 2>&1
+$DIG $DIGOPTS @10.53.0.3 +sigchase +trusted-key=/dev/null > dig.out.ns3.test$n 2>&1
if grep "Invalid option: +sigchase" dig.out.ns3.test$n > /dev/null
then
- echo "I:Skipping 'dig +sigchase' tests"
+ echo_i "Skipping 'dig +sigchase' tests"
n=`expr $n + 1`
else
- echo "I:checking that 'dig +sigchase' doesn't loop with future inception ($n)"
+ echo_i "checking that 'dig +sigchase' doesn't loop with future inception ($n)"
ret=0
- $DIG -p 5300 @10.53.0.3 dnskey future.example +sigchase \
+ $DIG $DIGOPTS @10.53.0.3 dnskey future.example +sigchase \
+trusted-key=ns3/trusted-future.key > dig.out.ns3.test$n &
pid=$!
sleep 1
kill -9 $pid 2> /dev/null
wait $pid
grep ";; No DNSKEY is valid to check the RRSIG of the RRset: FAILED" dig.out.ns3.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
fi
-echo "I:checking that positive unknown NSEC3 hash algorithm does validate ($n)"
+echo_i "checking that positive unknown NSEC3 hash algorithm does validate ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 nsec3-unknown.example SOA > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 nsec3-unknown.example SOA > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 nsec3-unknown.example SOA > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 nsec3-unknown.example SOA > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDS records are signed using KSK by with dnssec-auto ($n)"
+echo_i "check that CDS records are signed using KSK by with dnssec-auto ($n)"
ret=0
$DIG $DIGOPTS +noall +answer @10.53.0.2 cds cds-auto.secure > dig.out.test$n
lines=`awk '$4 == "RRSIG" && $5 == "CDS" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a lone non matching CDS record is rejected ($n)"
+echo_i "check that a lone non matching CDS record is rejected ($n)"
ret=0
(
echo zone cds-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cds-update.secure CDS
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cds-update.secure |
grep "DNSKEY.257" | sed 's/DNSKEY.257/DNSKEY 258/' |
lines=`awk '$4 == "CDS" {print}' dig.out.test$n | wc -l`
test ${lines:-10} -eq 0 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDS records are signed using KSK when added by nsupdate ($n)"
+echo_i "check that CDS records are signed using KSK when added by nsupdate ($n)"
ret=0
(
echo zone cds-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cds-update.secure CDS
echo send
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cds-update.secure |
lines=`awk '$4 == "CDS" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that positive unknown NSEC3 hash algorithm with OPTOUT does validate ($n)"
+echo_i "checking that positive unknown NSEC3 hash algorithm with OPTOUT does validate ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 optout-unknown.example SOA > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 optout-unknown.example SOA > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 optout-unknown.example SOA > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 optout-unknown.example SOA > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a non matching CDS record is accepted with a matching CDS record ($n)"
+echo_i "check that a non matching CDS record is accepted with a matching CDS record ($n)"
ret=0
(
echo zone cds-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cds-update.secure CDS
echo send
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cds-update.secure |
lines=`awk '$4 == "CDS" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 4 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that negative unknown NSEC3 hash algorithm does not validate ($n)"
+echo_i "checking that negative unknown NSEC3 hash algorithm does not validate ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 nsec3-unknown.example A > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 nsec3-unknown.example A > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 nsec3-unknown.example A > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 nsec3-unknown.example A > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: SERVFAIL," dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDNSKEY records are signed using KSK by dnssec-signzone ($n)"
+echo_i "check that CDNSKEY records are signed using KSK by dnssec-signzone ($n)"
ret=0
$DIG $DIGOPTS +noall +answer @10.53.0.2 cdnskey cdnskey.secure > dig.out.test$n
lines=`awk '$4 == "RRSIG" && $5 == "CDNSKEY" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that negative unknown NSEC3 hash algorithm with OPTOUT does not validate ($n)"
+echo_i "checking that negative unknown NSEC3 hash algorithm with OPTOUT does not validate ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 optout-unknown.example A > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 optout-unknown.example A > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 optout-unknown.example A > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 optout-unknown.example A > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: SERVFAIL," dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDNSKEY records are signed using KSK by with dnssec-auto ($n)"
+echo_i "check that CDNSKEY records are signed using KSK by with dnssec-auto ($n)"
ret=0
$DIG $DIGOPTS +noall +answer @10.53.0.2 cdnskey cdnskey-auto.secure > dig.out.test$n
lines=`awk '$4 == "RRSIG" && $5 == "CDNSKEY" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that unknown DNSKEY algorithm validates as insecure ($n)"
+echo_i "checking that unknown DNSKEY algorithm validates as insecure ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 dnskey-unknown.example A > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 dnskey-unknown.example A > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 dnskey-unknown.example A > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 dnskey-unknown.example A > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a lone non matching CDNSKEY record is rejected ($n)"
+echo_i "check that a lone non matching CDNSKEY record is rejected ($n)"
ret=0
(
echo zone cdnskey-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cdnskey-update.secure CDNSKEY
echo send
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cdnskey-update.secure |
lines=`awk '$4 == "CDNSKEY" {print}' dig.out.test$n | wc -l`
test ${lines:-10} -eq 0 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that unknown DNSKEY algorithm + unknown NSEC3 has algorithm validates as insecure ($n)"
+echo_i "checking that unknown DNSKEY algorithm + unknown NSEC3 has algorithm validates as insecure ($n)"
ret=0
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.3 dnskey-nsec3-unknown.example A > dig.out.ns3.test$n
-$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag -p 5300 @10.53.0.4 dnskey-nsec3-unknown.example A > dig.out.ns4.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.3 dnskey-nsec3-unknown.example A > dig.out.ns3.test$n
+$DIG $DIGOPTS +noauth +noadd +nodnssec +adflag @10.53.0.4 dnskey-nsec3-unknown.example A > dig.out.ns4.test$n
grep "status: NOERROR," dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR," dig.out.ns4.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that CDNSKEY records are signed using KSK when added by nsupdate ($n)"
+echo_i "check that CDNSKEY records are signed using KSK when added by nsupdate ($n)"
ret=0
(
echo zone cdnskey-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cdnskey-update.secure CDNSKEY
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cdnskey-update.secure |
sed -n -e "s/^/update add /" -e 's/DNSKEY.257/CDNSKEY 257/p'
lines=`awk '$4 == "CDNSKEY" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking initialization with a revoked managed key ($n)"
+echo_i "checking initialization with a revoked managed key ($n)"
ret=0
-cp ns5/named2.conf ns5/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.5 -p 9953 reconfig 2>&1 | sed 's/^/I:ns5 /'
+copy_setports ns5/named2.conf.in ns5/named.conf
+$RNDCCMD 10.53.0.5 reconfig 2>&1 | sed 's/^/ns5 /' | cat_i
sleep 3
-$DIG $DIGOPTS +dnssec -p 5300 @10.53.0.5 SOA . > dig.out.ns5.test$n
+$DIG $DIGOPTS +dnssec @10.53.0.5 SOA . > dig.out.ns5.test$n
grep "status: SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a non matching CDNSKEY record is accepted with a matching CDNSKEY record ($n)"
+echo_i "check that a non matching CDNSKEY record is accepted with a matching CDNSKEY record ($n)"
ret=0
(
echo zone cdnskey-update.secure
-echo server 10.53.0.2 5300
+echo server 10.53.0.2 ${PORT}
echo update delete cdnskey-update.secure CDNSKEY
$DIG $DIGOPTS +noall +answer @10.53.0.2 dnskey cdnskey-update.secure |
sed -n -e "s/^/update add /" -e 's/DNSKEY.257/CDNSKEY 257/p'
lines=`awk '$4 == "CDNSKEY" {print}' dig.out.test$n | wc -l`
test ${lines:-0} -eq 2 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that RRSIGs are correctly removed from apex when RRset is removed NSEC ($n)"
+echo_i "check that RRSIGs are correctly removed from apex when RRset is removed NSEC ($n)"
ret=0
# generate signed zone with MX and AAAA records at apex.
(
ret=1 ; cp signer/remove.db.signed signer/remove.db.signed.post$n;
}
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that RRSIGs are correctly removed from apex when RRset is removed NSEC3 ($n)"
+echo_i "check that RRSIGs are correctly removed from apex when RRset is removed NSEC3 ($n)"
ret=0
# generate signed zone with MX and AAAA records at apex.
(
ret=1 ; cp signer/remove.db.signed signer/remove.db.signed.post$n;
}
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that a named managed zone that was signed 'in-the-future' is re-signed when loaded ($n)"
+echo_i "check that a named managed zone that was signed 'in-the-future' is re-signed when loaded ($n)"
ret=0
$DIG $DIGOPTS managed-future.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
+++ /dev/null
-#!/bin/sh -e
-#
-# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-gostfail=0 ecdsafail=0
-$SHELL ../testcrypto.sh -q gost || gostfail=1
-$SHELL ../testcrypto.sh -q ecdsa || ecdsafail=1
-
-if [ $gostfail = 0 -a $ecdsafail = 0 ]; then
- echo both > supported
-elif [ $gostfail = 1 -a $ecdsafail = 1 ]; then
- echo "I:This test requires support for ECDSA or GOST cryptography." >&2
- exit 255
-elif [ $gostfail = 0 ]; then
- echo gost > supported
-else
- echo ecdsa > supported
-fi
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
key rndc_key {
algorithm hmac-sha256;
secret "1234abcd8765";
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
key rndc_key {
algorithm hmac-sha256;
secret "1234abcd8765";
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-cp -f ns1/named1.conf ns1/named.conf
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named1.conf.in ns1/named.conf
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
n=`expr $n + 1`
-echo "I:check that switching to automatic empty zones works ($n)"
+echo_i "check that switching to automatic empty zones works ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload > /dev/null || ret=1
+$RNDCCMD 10.53.0.1 reload > /dev/null || ret=1
sleep 5
-cp ns1/named2.conf ns1/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload > /dev/null || ret=1
+
+copy_setports ns1/named2.conf.in ns1/named.conf
+$RNDCCMD 10.53.0.1 reload > /dev/null || ret=1
sleep 5
-$DIG +vc version.bind txt ch @10.53.0.1 -p 5300 > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+
+$DIG $DIGOPTS +vc version.bind txt ch @10.53.0.1 > /dev/null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that allow-transfer { none; } works ($n)"
+echo_i "check that allow-transfer { none; } works ($n)"
ret=0
-$DIG axfr 10.in-addr.arpa @10.53.0.1 -p 5300 +all > dig.out.test$n || ret=1
+$DIG $DIGOPTS axfr 10.in-addr.arpa @10.53.0.1 +all > dig.out.test$n || ret=1
grep "status: REFUSED" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
use Net::DNS;
use Net::DNS::Packet;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.4",
- LocalPort => 5300, Proto => "udp") or die "$!";
+ LocalPort => $localport, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-rm -f */named.memstats */ans.run */named.recursing */named.run
+rm -f */named.conf */named.memstats */ans.run */named.recursing */named.run
rm -f dig.out*
rm -f ans4/norespond
-rm -f ns3/named.conf ns3/named.stats ns3/named_dump.db
+rm -f ns3/named.stats ns3/named_dump.db
rm -f burst.input.*
+++ /dev/null
-#!/usr/bin/perl -w
-#
-# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-#
-# Don't respond if the "norespond" file exists; otherwise respond to
-# any A or AAAA query.
-#
-
-use IO::File;
-use IO::Socket;
-use Net::DNS;
-use Net::DNS::Packet;
-
-my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.4",
- LocalPort => 5300, Proto => "udp") or die "$!";
-
-my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
-print $pidf "$$\n" or die "cannot write pid file: $!";
-$pidf->close or die "cannot close pid file: $!";
-sub rmpid { unlink "ans.pid"; exit 1; };
-
-$SIG{INT} = \&rmpid;
-$SIG{TERM} = \&rmpid;
-
-for (;;) {
- $sock->recv($buf, 512);
-
- print "**** request from " , $sock->peerhost, " port ", $sock->peerport, "\n";
-
- my $packet;
-
- if ($Net::DNS::VERSION > 0.68) {
- $packet = new Net::DNS::Packet(\$buf, 0);
- $@ and die $@;
- } else {
- my $err;
- ($packet, $err) = new Net::DNS::Packet(\$buf, 0);
- $err and die $err;
- }
-
- print "REQUEST:\n";
- $packet->print;
-
- $packet->header->qr(1);
-
- my @questions = $packet->question;
- my $qname = $questions[0]->qname;
- my $qtype = $questions[0]->qtype;
-
- my $donotrespond = 0;
-
- if (-e 'norespond') {
- $donotrespond = 1;
- } else {
- $packet->header->aa(1);
- if ($qtype eq "A") {
- $packet->push("answer",
- new Net::DNS::RR($qname .
- " 300 A 192.0.2.1"));
- } elsif ($qtype eq "AAAA") {
- $packet->push("answer",
- new Net::DNS::RR($qname .
- " 300 AAAA 2001:db8:beef::1"));
- }
- }
-
- if ($donotrespond == 0) {
- $sock->send($packet->data);
- print "RESPONSE:\n";
- $packet->print;
- print "\n";
- }
-}
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-rm -f */named.memstats */ans.run */named.recursing
-rm -f dig.out*
-rm -f ans4/norespond
-rm -f ns3/named.conf ns3/named.stats ns3/named_dump.db
+++ /dev/null
-/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.1; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
-};
-
-zone "." {
- type master;
- file "root.db";
-};
-
-zone "example.info." {
- type master;
- file "example-info.db";
-};
+++ /dev/null
-; Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-;
-; 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$
-
-$TTL 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
-
-example. NS ns2.example.
-ns2.example. A 10.53.0.2
+++ /dev/null
-; Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-;
-; 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.
-
-$ORIGIN .
-$TTL 300 ; 5 minutes
-example IN SOA mname1. . (
- 1 ; 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
-
-a.example. A 10.0.0.1
- MX 10 mail.example.
-
-mail.example. A 10.0.0.2
-
-lamesub.example. NS ns4.example.
-ns4.example. A 10.53.0.4
-
-0.example. A 10.53.1.0
-1.example. A 10.53.1.1
-2.example. A 10.53.1.2
-3.example. A 10.53.1.3
-4.example. A 10.53.1.4
-5.example. A 10.53.1.5
+++ /dev/null
-/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.3;
- notify-source 10.53.0.3;
- transfer-source 10.53.0.3;
- port 5300;
- directory ".";
- pid-file "named.pid";
- listen-on { 10.53.0.3; };
- listen-on-v6 { none; };
- recursion yes;
- notify yes;
- fetches-per-server 400;
-};
-
-key rndc_key {
- secret "1234abcd8765";
- algorithm hmac-sha256;
-};
-
-controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
-};
-
-zone "." {
- type hint;
- file "root.hint";
-};
+++ /dev/null
-/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.3;
- notify-source 10.53.0.3;
- transfer-source 10.53.0.3;
- port 5300;
- directory ".";
- pid-file "named.pid";
- listen-on { 10.53.0.3; };
- listen-on-v6 { none; };
- recursion yes;
- notify yes;
- fetches-per-zone 40;
-};
-
-key rndc_key {
- secret "1234abcd8765";
- algorithm hmac-sha256;
-};
-
-controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
-};
-
-zone "." {
- type hint;
- file "root.hint";
-};
+++ /dev/null
-; Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-;
-; 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$
-
-$TTL 999999
-. IN NS a.root-servers.nil.
-a.root-servers.nil. IN A 10.53.0.1
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-$SHELL clean.sh
-
-cp -f ns3/named1.conf ns3/named.conf
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-DIGCMD="$DIG @10.53.0.3 -p 5300 +tries=1 +time=1"
-RNDCCMD="$RNDC -p 9953 -s 10.53.0.3 -c ../common/rndc.conf"
-
-burst() {
- num=${3:-20}
- while [ $num -gt 0 ]; do
- num=`expr $num - 1`
- $DIGCMD ${num}${1}${2}.lamesub.example a > /dev/null 2>&1 &
- done
-}
-
-stat() {
- clients=`$RNDCCMD status | grep "recursive clients" |
- sed 's;.*: \([^/][^/]*\)/.*;\1;'`
- echo "I: clients: $clients"
- [ "$clients" = "" ] && return 1
- [ "$clients" -le $1 ]
-}
-
-status=0
-
-echo "I: checking recursing clients are dropped at the per-server limit"
-ret=0
-# make the server lame and restart
-$RNDCCMD flush
-touch ans4/norespond
-for try in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
- burst a $try
- # fetches-per-server is at 400, but at 20qps against a lame server,
- # we'll reach 200 at the tenth second, and the quota should have been
- # tuned to less than that by then
- stat 200 || ret=1
- [ $ret -eq 1 ] && break
- sleep 1
-done
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-echo "I: dumping ADB data"
-$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
-set -- $info
-quota=$5
-[ $5 -lt 200 ] || ret=1
-
-echo "I: checking servfail statistics"
-rm -f ns3/named.stats
-$RNDCCMD stats
-for try in 1 2 3 4 5; do
- [ -f ns3/named.stats ] && break
- sleep 1
-done
-sspill=`grep 'spilled due to server' ns3/named.stats | sed 's/\([0-9][0-9]*\) spilled.*/\1/'`
-[ -z "$sspill" ] && sspill=0
-fails=`grep 'queries resulted in SERVFAIL' ns3/named.stats | sed 's/\([0-9][0-9]*\) queries.*/\1/'`
-[ -z "$fails" ] && fails=0
-[ "$fails" -ge "$sspill" ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-echo "I: checking lame server recovery"
-ret=0
-rm -f ans4/norespond
-for try in 1 2 3 4 5; do
- burst b $try
- stat 200 || ret=1
- [ $ret -eq 1 ] && break
- sleep 1
-done
-
-echo "I: dumping ADB data"
-$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
-set -- $info
-[ $5 -lt $quota ] || ret=1
-quota=$5
-
-for try in 1 2 3 4 5 6 7 8 9 10; do
- burst c $try
- stat 20 || ret=1
- [ $ret -eq 1 ] && break
- sleep 1
-done
-
-echo "I: dumping ADB data"
-$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
-set -- $info
-[ $5 -gt $quota ] || ret=1
-quota=$5
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-cp -f ns3/named2.conf ns3/named.conf
-$RNDCCMD reconfig 2>&1 | sed 's/^/I:ns3 /'
-
-echo "I: checking lame server clients are dropped at the per-domain limit"
-ret=0
-fail=0
-success=0
-touch ans4/norespond
-for try in 1 2 3 4 5; do
- burst b $try 300
- $DIGCMD a ${try}.example > dig.out.ns3.$try
- grep "status: NOERROR" dig.out.ns3.$try > /dev/null 2>&1 && \
- success=`expr $success + 1`
- grep "status: SERVFAIL" dig.out.ns3.$try > /dev/null 2>&1 && \
- fail=`expr $fail + 1`
- stat 50 || ret=1
- [ $ret -eq 1 ] && break
- $RNDCCMD recursing 2>&1 | sed 's/^/I:ns3 /'
- sleep 1
-done
-echo "I: $success successful valid queries, $fail SERVFAIL"
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-echo "I: checking drop statsistics"
-rm -f ns3/named.stats
-$RNDCCMD stats
-for try in 1 2 3 4 5; do
- [ -f ns3/named.stats ] && break
- sleep 1
-done
-zspill=`grep 'spilled due to zone' ns3/named.stats | sed 's/\([0-9][0-9]*\) spilled.*/\1/'`
-[ -z "$zspill" ] && zspill=0
-drops=`grep 'queries dropped' ns3/named.stats | sed 's/\([0-9][0-9]*\) queries.*/\1/'`
-[ -z "$drops" ] && drops=0
-[ "$drops" -ge "$zspill" ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-cp -f ns3/named3.conf ns3/named.conf
-$RNDCCMD reconfig 2>&1 | sed 's/^/I:ns3 /'
-
-echo "I: checking lame server clients are dropped at the soft limit"
-ret=0
-fail=0
-success=0
-touch ans4/norespond
-for try in 1 2 3 4 5; do
- burst b $try 400
- $DIGCMD a ${try}.example > dig.out.ns3.$try
- stat 360 || ret=1
- grep "status: NOERROR" dig.out.ns3.$try > /dev/null 2>&1 && \
- success=`expr $success + 1`
- grep "status: SERVFAIL" dig.out.ns3.$try > /dev/null 2>&1 && \
- fail=`expr $fail + 1`
- [ $ret -eq 1 ] && break
- sleep 1
-done
-echo "I: $success successful valid queries, $fail SERVFAIL"
-[ "$success" -eq 5 ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
-status=`expr $status + $ret`
-
-echo "I:exit status: $status"
-exit $status
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
notify yes;
};
-include "../../common/controls.conf";
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
zone "example" {
type master;
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
directory ".";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
directory ".";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
+++ /dev/null
-/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.3;
- notify-source 10.53.0.3;
- transfer-source 10.53.0.3;
- port 5300;
- directory ".";
- pid-file "named.pid";
- listen-on { 10.53.0.3; };
- listen-on-v6 { none; };
- recursion yes;
- notify yes;
- recursive-clients 400;
-};
-
-key rndc_key {
- secret "1234abcd8765";
- algorithm hmac-sha256;
-};
-
-controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
-};
-
-zone "." {
- type hint;
- file "root.hint";
-};
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
directory ".";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
$SHELL clean.sh
-cp -f ns3/named1.conf ns3/named.conf
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named1.conf.in ns3/named.conf
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGCMD="$DIG @10.53.0.3 -p 5300 +tries=1 +time=1"
-RNDCCMD="$RNDC -p 9953 -s 10.53.0.3 -c ../common/rndc.conf"
+DIGCMD="$DIG @10.53.0.3 -p ${PORT} +tries=1 +time=1"
+RNDCCMD="$RNDC -p ${CONTROLPORT} -s 10.53.0.3 -c ../common/rndc.conf"
burst() {
num=${3:-20}
num=`expr $num - 1`
echo "${num}${1}${2}.lamesub.example A" >> burst.input.$$
done
- $PERL ../ditch.pl -p 5300 -s 10.53.0.3 burst.input.$$
+ $PERL ../ditch.pl -p ${PORT} -s 10.53.0.3 burst.input.$$
rm -f burst.input.$$
}
stat() {
clients=`$RNDCCMD status | grep "recursive clients" |
sed 's;.*: \([^/][^/]*\)/.*;\1;'`
- echo "I: clients: $clients"
+ echo_i "clients: $clients"
[ "$clients" = "" ] && return 1
[ "$clients" -le $1 ]
}
status=0
-echo "I: checking recursing clients are dropped at the per-server limit"
+echo_i "checking recursing clients are dropped at the per-server limit"
ret=0
# make the server lame and restart
$RNDCCMD flush
[ $ret -eq 1 ] && break
sleep 1
done
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: dumping ADB data"
+echo_i "dumping ADB data"
$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
+info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/\1 \2/'`
+echo_i $info
set -- $info
quota=$5
[ ${5:-200} -lt 200 ] || ret=1
-echo "I: checking servfail statistics"
+echo_i "checking servfail statistics"
+ret=0
rm -f ns3/named.stats
$RNDCCMD stats
for try in 1 2 3 4 5; do
fails=`grep 'queries resulted in SERVFAIL' ns3/named.stats | sed 's/\([0-9][0-9]*\) queries.*/\1/'`
[ -z "$fails" ] && fails=0
[ "$fails" -ge "$sspill" ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking lame server recovery"
+echo_i "checking lame server recovery"
ret=0
rm -f ans4/norespond
for try in 1 2 3 4 5; do
sleep 1
done
-echo "I: dumping ADB data"
+echo_i "dumping ADB data"
$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
+info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/\1 \2/'`
+echo_i $info
set -- $info
[ ${5:-${quota}} -lt $quota ] || ret=1
quota=$5
sleep 1
done
-echo "I: dumping ADB data"
+echo_i "dumping ADB data"
$RNDCCMD dumpdb -adb
-info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/I: \1 \2/'`
-echo $info
+info=`grep '10.53.0.4' ns3/named_dump.db | sed 's/.*\(atr [.0-9]*\).*\(quota [0-9]*\).*/\1 \2/'`
+echo_i $info
set -- $info
[ ${5:-${quota}} -gt $quota ] || ret=1
quota=$5
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp -f ns3/named2.conf ns3/named.conf
-$RNDCCMD reconfig 2>&1 | sed 's/^/I:ns3 /'
+copy_setports ns3/named2.conf.in ns3/named.conf
+$RNDCCMD reconfig 2>&1 | sed 's/^/ns3 /' | cat_i
-echo "I: checking lame server clients are dropped at the per-domain limit"
+echo_i "checking lame server clients are dropped at the per-domain limit"
ret=0
fail=0
success=0
fail=`expr $fail + 1`
stat 50 || ret=1
[ $ret -eq 1 ] && break
- $RNDCCMD recursing 2>&1 | sed 's/^/I:ns3 /'
+ $RNDCCMD recursing 2>&1 | sed 's/^/ns3 /' | cat_i
sleep 1
done
-echo "I: $success successful valid queries, $fail SERVFAIL"
-if [ $ret != 0 ]; then echo "I: failed"; fi
+echo_i "$success successful valid queries, $fail SERVFAIL"
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: checking drop statistics"
+echo_i "checking drop statistics"
rm -f ns3/named.stats
$RNDCCMD stats
for try in 1 2 3 4 5; do
drops=`grep 'queries dropped' ns3/named.stats | sed 's/\([0-9][0-9]*\) queries.*/\1/'`
[ -z "$drops" ] && drops=0
[ "$drops" -ge "$zspill" ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp -f ns3/named3.conf ns3/named.conf
-$RNDCCMD reconfig 2>&1 | sed 's/^/I:ns3 /'
+copy_setports ns3/named3.conf.in ns3/named.conf
+$RNDCCMD reconfig 2>&1 | sed 's/^/ns3 /' | cat_i
-echo "I: checking lame server clients are dropped at the soft limit"
+echo_i "checking lame server clients are dropped at the soft limit"
ret=0
fail=0
success=0
touch ans4/norespond
for try in 1 2 3 4 5; do
burst b $try 400
- $DIG @10.53.0.3 -p 5300 a ${try}.example > dig.out.ns3.$try
+ $DIG @10.53.0.3 -p ${PORT} a ${try}.example > dig.out.ns3.$try
stat 360 || ret=1
grep "status: NOERROR" dig.out.ns3.$try > /dev/null 2>&1 && \
success=`expr $success + 1`
[ $ret -eq 1 ] && break
sleep 1
done
-echo "I: $success successful valid queries, $fail SERVFAIL"
+echo_i "$success successful valid queries, $fail SERVFAIL"
[ "$success" -eq 5 ] || ret=1
-if [ $ret != 0 ]; then echo "I: failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns1/*.signed
rm -f ns1/signer.err
rm -f ns1/dsset-*
-rm -f ns1/named.run
-rm -f ns1/named.memstats
-
-rm -f ns2/named.run
-rm -f ns2/named.memstats
-
-rm -f ns3/named.run
-rm -f ns3/named.memstats
+rm -f */named.run
+rm -f */named.conf
+rm -f */named.memstats
rm -f ns4/K*
rm -f ns4/*.signed
rm -f ns4/signer.err
rm -f ns4/dsset-*
-rm -f ns4/named.run
-rm -f ns4/named.memstats
rm -f dig.out.*
/*
- * Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/06/22 03:58:37 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { fd92:7065:b8e:ffff::1; };
filter-aaaa { 10.53.0.1; };
};
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
+
zone "." { type master; file "root.db"; };
zone "signed" { type master; file "signed.db.signed"; };
zone "unsigned" { type master; file "unsigned.db"; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.2 2010/06/22 03:58:37 marka Exp $
-
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
/*
- * Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/06/22 03:58:38 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
recursion yes;
notify yes;
- filter-aaaa-on-v4 yes;
- filter-aaaa { 10.53.0.2; };
+ filter-aaaa-on-v4 yes;
+ filter-aaaa { 10.53.0.2; };
+};
+
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints"; };
/*
- * Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012, 2013, 2018 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/06/22 03:58:38 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { fd92:7065:b8e:ffff::3; };
recursion yes;
notify yes;
- filter-aaaa-on-v4 break-dnssec;
- filter-aaaa { 10.53.0.3; };
+ filter-aaaa-on-v4 break-dnssec;
+ filter-aaaa { 10.53.0.3; };
+};
+
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints"; };
/*
- * Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/06/22 03:58:38 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { fd92:7065:b8e:ffff::4; };
filter-aaaa { 10.53.0.4; };
};
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
zone "." { type master; file "root.db"; };
zone "signed" { type master; file "signed.db.signed"; };
zone "unsigned" { type master; file "unsigned.db"; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.2 2010/06/22 03:58:38 marka Exp $
-
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
cat $infile $keyname1.key $keyname2.key >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+
if $SHELL ../testcrypto.sh -q
then
(cd ns1 && $SHELL -e sign.sh)
(cd ns4 && $SHELL -e sign.sh)
else
- echo "I:using pre-signed zones"
+ echo_i "using pre-signed zones"
cp -f ns1/signed.db.presigned ns1/signed.db.signed
cp -f ns4/signed.db.presigned ns4/signed.db.signed
fi
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
for conf in conf/good*.conf
do
n=`expr $n + 1`
- echo "I:checking that $conf is accepted ($n)"
+ echo_i "checking that $conf is accepted ($n)"
ret=0
$CHECKCONF "$conf" || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for conf in conf/bad*.conf
do
n=`expr $n + 1`
- echo "I:checking that $conf is rejected ($n)"
+ echo_i "checking that $conf is rejected ($n)"
ret=0
$CHECKCONF "$conf" >/dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
# filter-aaaa { 10.53.0.1; };
#
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, signed ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, signed ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.signed -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
grep ::2 dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, unsigned ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, unsigned ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
grep ::5 dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "ANSWER: 0" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "ANSWER: 0" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist, signed and DO set ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist, signed and DO set ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed +dnssec -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "AUTHORITY: 2," dig.out.ns1.test$n > /dev/null || ret=1
grep ::3 dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "ANSWER: 0" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0," dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist and query source does not match acl ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist and query source does not match acl ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.2 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
grep ::6 dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY ($n)"
ret=0
$DIG $DIGOPTS any dual.signed -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0," dig.out.ns1.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns1.test$n > /dev/null || ret=1
grep "::3" dig.out.ns1.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0," dig.out.ns1.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns1.test$n > /dev/null || ret=1
grep "::6" dig.out.ns1.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, signed, qtype=ANY and DO is set ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, signed, qtype=ANY and DO is set ($n)"
ret=0
$DIG $DIGOPTS any dual.signed +dnssec -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 2," dig.out.ns1.test$n > /dev/null || ret=1
grep ::3 dig.out.ns1.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned +dnssec -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 0," dig.out.ns1.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns1.test$n > /dev/null || ret=1
grep "::6" dig.out.ns1.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.2 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
grep 1.0.0.6 dig.out.ns1.test$n > /dev/null || ret=1
grep ::6 dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6 ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6 ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::1
then
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b fd92:7065:b8e:ffff::1 @fd92:7065:b8e:ffff::1 > dig.out.ns1.test$n || ret=1
grep 2001:db8::6 dig.out.ns1.test$n > /dev/null || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=NS ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=NS ($n)"
ret=0
$DIG $DIGOPTS +add ns unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep AAAA dig.out.ns1.test$n > /dev/null 2>&1 && ret=1
grep "ANSWER: 1," dig.out.ns1.test$n > /dev/null || ret=1
grep "ADDITIONAL: 2" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, unsigned ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, unsigned ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns1.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, signed ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, signed ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx signed -b 10.53.0.1 @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep "^mx.signed.*AAAA" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
grep "AUTHORITY: 2," dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6 ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6 ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::1
then
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b fd92:7065:b8e:ffff::1 @fd92:7065:b8e:ffff::1 > dig.out.ns1.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
grep "AUTHORITY: 1," dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
# filter-aaaa { 10.53.0.4; };
#
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, signed with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, signed with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.signed -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "AUTHORITY: 1," dig.out.ns4.test$n > /dev/null || ret=1
grep ::2 dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, unsigned with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, unsigned with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "AUTHORITY: 1," dig.out.ns4.test$n > /dev/null || ret=1
grep ::5 dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
grep "AUTHORITY: 0," dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed and DO set with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed and DO set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed +dnssec -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "ANSWER: 0" dig.out.ns4.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist and query source does not match acl with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist and query source does not match acl with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.2 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep ::6 dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.signed -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns4.test$n > /dev/null || ret=1
grep "::3" dig.out.ns4.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns4.test$n > /dev/null || ret=1
grep "::6" dig.out.ns4.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed, qtype=ANY and DO is set with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed, qtype=ANY and DO is set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.signed +dnssec -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns4.test$n > /dev/null || ret=1
grep ::3 dig.out.ns4.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned +dnssec -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns4.test$n > /dev/null || ret=1
grep "::6" dig.out.ns4.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl with break-dnssec ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.2 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep 1.0.0.6 dig.out.ns4.test$n > /dev/null || ret=1
grep ::6 dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6 with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6 with break-dnssec ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::4
then
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b fd92:7065:b8e:ffff::4 @fd92:7065:b8e:ffff::4 > dig.out.ns4.test$n || ret=1
grep 2001:db8::6 dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=NS, with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=NS, with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add ns unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep AAAA dig.out.ns4.test$n > /dev/null 2>&1 && ret=1
grep "ADDITIONAL: 2" dig.out.ns4.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, unsigned, with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, unsigned, with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns4.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, signed, with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, signed, with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx signed -b 10.53.0.4 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep "^mx.signed.*AAAA" dig.out.ns4.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6, with break-dnssec ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6, with break-dnssec ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::4
then
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b fd92:7065:b8e:ffff::4 @fd92:7065:b8e:ffff::4 > dig.out.ns4.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns4.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
# filter-aaaa { 10.53.0.2; };
#
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, signed, recursive ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, signed, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.signed -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep ::2 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, unsigned, recursive ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, unsigned, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.unsigned -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep ::5 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed, recursive ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned, recursive ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist, signed and DO set, recursive ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist, signed and DO set, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed +dnssec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep ::3 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set, recursive ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned +dnssec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist and query source does not match acl, recursive ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist and query source does not match acl, recursive ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.1 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep ::6 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY recursive ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY recursive ($n)"
ret=0
$DIG $DIGOPTS any dual.signed -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns2.test$n > /dev/null || ret=1
grep "::3" dig.out.ns2.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY recursive ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY recursive ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns2.test$n > /dev/null || ret=1
grep "::6" dig.out.ns2.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, signed, qtype=ANY and DO is set, recursive ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, signed, qtype=ANY and DO is set, recursive ($n)"
ret=0
$DIG $DIGOPTS any dual.signed +dnssec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep ::3 dig.out.ns2.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set, recursive ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set, recursive ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned +dnssec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns2.test$n > /dev/null || ret=1
grep "::6" dig.out.ns2.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl, recursive ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl, recursive ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.1 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep 1.0.0.6 dig.out.ns2.test$n > /dev/null || ret=1
grep ::6 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6, recursive ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6, recursive ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::2
then
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b fd92:7065:b8e:ffff::2 @fd92:7065:b8e:ffff::2 > dig.out.ns2.test$n || ret=1
grep 2001:db8::6 dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=NS ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=NS ($n)"
ret=0
$DIG $DIGOPTS +add ns unsigned -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep AAAA dig.out.ns2.test$n > /dev/null 2>&1 && ret=1
grep "ADDITIONAL: 2" dig.out.ns2.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, unsigned ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, unsigned ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns2.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, signed ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, signed ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx signed -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep "^mx.signed.*AAAA" dig.out.ns2.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6 ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6 ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::2
then
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b fd92:7065:b8e:ffff::2 @fd92:7065:b8e:ffff::2 > dig.out.ns2.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns2.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
# filter-aaaa { 10.53.0.3; };
#
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, signed, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, signed, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.signed -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep ::2 dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when only AAAA record exists, unsigned, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when only AAAA record exists, unsigned, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa aaaa-only.unsigned -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep ::5 dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed, recursive with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "ANSWER: 0" dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned, recursive with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "ANSWER: 0" dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed and DO set, recursive with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, signed and DO set, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.signed +dnssec -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "ANSWER: 0" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set, recursive with break-dnssec ($n)"
+echo_i "checking that NODATA/NOERROR is returned when both AAAA and A records exist, unsigned and DO set, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned +dnssec -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "ANSWER: 0" dig.out.ns3.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A records exist and query source does not match acl, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A records exist and query source does not match acl, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b 10.53.0.1 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep ::6 dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed and qtype=ANY with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.signed -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns3.test$n > /dev/null || ret=1
grep "::3" dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned and qtype=ANY with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns3.test$n > /dev/null || ret=1
grep "::6" dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, signed, qtype=ANY and DO is set with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, signed, qtype=ANY and DO is set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.signed +dnssec -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "1.0.0.3" dig.out.ns3.test$n > /dev/null || ret=1
grep ::3 dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set with break-dnssec ($n)"
+echo_i "checking that A and not AAAA is returned when both AAAA and A records exist, unsigned, qtype=ANY and DO is set with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned +dnssec -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "1.0.0.6" dig.out.ns3.test$n > /dev/null || ret=1
grep "::6" dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl, recursive with break-dnssec ($n)"
+echo_i "checking that both A and AAAA are returned when both AAAA and A records exist, qtype=ANY and query source does not match acl, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS any dual.unsigned -b 10.53.0.1 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep 1.0.0.6 dig.out.ns3.test$n > /dev/null || ret=1
grep ::6 dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is returned when both AAAA and A record exists, unsigned over IPv6, recursive with break-dnssec ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::3
then
ret=0
$DIG $DIGOPTS aaaa dual.unsigned -b fd92:7065:b8e:ffff::3 @fd92:7065:b8e:ffff::3 > dig.out.ns3.test$n || ret=1
grep 2001:db8::6 dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=NS, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=NS, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add ns unsigned -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep AAAA dig.out.ns3.test$n > /dev/null 2>&1 && ret=1
grep "ADDITIONAL: 2" dig.out.ns3.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, unsigned, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, unsigned, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns3.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is omitted from additional section, qtype=MX, signed, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is omitted from additional section, qtype=MX, signed, recursive with break-dnssec ($n)"
ret=0
$DIG $DIGOPTS +add +dnssec mx signed -b 10.53.0.3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep "^mx.signed.*AAAA" dig.out.ns3.test$n > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6, recursive with break-dnssec ($n)"
+echo_i "checking that AAAA is included in additional section, qtype=MX, unsigned, over IPV6, recursive with break-dnssec ($n)"
if $TESTSOCK6 fd92:7065:b8e:ffff::3
then
ret=0
$DIG $DIGOPTS +add +dnssec mx unsigned -b fd92:7065:b8e:ffff::3 @fd92:7065:b8e:ffff::3 > dig.out.ns3.test$n || ret=1
grep "^mx.unsigned.*AAAA" dig.out.ns3.test$n > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
-echo "I: skipped."
+echo_i "skipped."
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f nametoolong.out
rm -f noquestions.out
rm -f twoquestions.out
+rm -f ns*/named.conf
rm -f ns*/named.run
rm -f ns*/named.memstats
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
type master;
file "root.db";
};
-
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
status=0
-echo "I:test name to long"
-$PERL formerr.pl -a 10.53.0.1 -p 5300 nametoolong > nametoolong.out
+echo_i "test name to long"
+$PERL formerr.pl -a 10.53.0.1 -p ${PORT} nametoolong > nametoolong.out
ans=`grep got: nametoolong.out`
if [ "${ans}" != "got: 000080010000000000000000" ];
then
- echo "I:failed"; status=`expr $status + 1`;
+ echo_i "failed"; status=`expr $status + 1`;
fi
-echo "I:two questions"
-$PERL formerr.pl -a 10.53.0.1 -p 5300 twoquestions > twoquestions.out
+echo_i "two questions"
+$PERL formerr.pl -a 10.53.0.1 -p ${PORT} twoquestions > twoquestions.out
ans=`grep got: twoquestions.out`
if [ "${ans}" != "got: 000080010000000000000000" ];
then
- echo "I:failed"; status=`expr $status + 1`;
+ echo_i "failed"; status=`expr $status + 1`;
fi
# this one arguable could be NOERORR.
-echo "I:no questions"
-$PERL formerr.pl -a 10.53.0.1 -p 5300 noquestions > noquestions.out
+echo_i "no questions"
+$PERL formerr.pl -a 10.53.0.1 -p ${PORT} noquestions > noquestions.out
ans=`grep got: noquestions.out`
if [ "${ans}" != "got: 000080010000000000000000" ];
then
- echo "I:failed"; status=`expr $status + 1`;
+ echo_i "failed"; status=`expr $status + 1`;
fi
-echo "I:bad OPT option"
-$PERL formerr.pl -a 10.53.0.1 -p 5300 badoptoption > badoptoption.out
+echo_i "bad OPT option"
+$PERL formerr.pl -a 10.53.0.1 -p ${PORT} badoptoption > badoptoption.out
ans=`grep got: badoptoption.out`
if [ "${ans}" != "got: 00008001000100000000000100000100020000291000000000000000" ];
then
- echo "I:failed"; status=`expr $status + 1`;
+ echo_i "failed"; status=`expr $status + 1`;
fi
-echo "I:exit status: $status"
-
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.6 2007/09/26 03:22:43 marka Exp $
-
#
# Clean up after forward tests.
#
rm -f dig.out.*
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:03 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:03 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:03 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
forward only;
forwarders { };
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:03 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/10/13 22:48:23 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.9 2011/10/13 22:48:23 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
root=10.53.0.1
hidden=10.53.0.2
f1=10.53.0.3
status=0
-echo "I:checking that a forward zone overrides global forwarders"
+echo_i "checking that a forward zone overrides global forwarders"
ret=0
-$DIG txt.example1. txt @$hidden -p 5300 > dig.out.hidden || ret=1
-$DIG txt.example1. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$DIG $DIGOPTS txt.example1. txt @$hidden > dig.out.hidden || ret=1
+$DIG $DIGOPTS txt.example1. txt @$f1 > dig.out.f1 || ret=1
$PERL ../digcomp.pl dig.out.hidden dig.out.f1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a forward first zone no forwarders recurses"
+echo_i "checking that a forward first zone no forwarders recurses"
ret=0
-$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
-$DIG txt.example2. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$DIG $DIGOPTS txt.example2. txt @$root > dig.out.root || ret=1
+$DIG $DIGOPTS txt.example2. txt @$f1 > dig.out.f1 || ret=1
$PERL ../digcomp.pl dig.out.root dig.out.f1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a forward only zone no forwarders fails"
+echo_i "checking that a forward only zone no forwarders fails"
ret=0
-$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
-$DIG txt.example2. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$DIG $DIGOPTS txt.example2. txt @$root > dig.out.root || ret=1
+$DIG $DIGOPTS txt.example2. txt @$f1 > dig.out.f1 || ret=1
$PERL ../digcomp.pl dig.out.root dig.out.f1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that global forwarders work"
+echo_i "checking that global forwarders work"
ret=0
-$DIG txt.example4. txt @$hidden -p 5300 > dig.out.hidden || ret=1
-$DIG txt.example4. txt @$f1 -p 5300 > dig.out.f1 || ret=1
+$DIG $DIGOPTS txt.example4. txt @$hidden > dig.out.hidden || ret=1
+$DIG $DIGOPTS txt.example4. txt @$f1 > dig.out.f1 || ret=1
$PERL ../digcomp.pl dig.out.hidden dig.out.f1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a forward zone works"
+echo_i "checking that a forward zone works"
ret=0
-$DIG txt.example1. txt @$hidden -p 5300 > dig.out.hidden || ret=1
-$DIG txt.example1. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS txt.example1. txt @$hidden > dig.out.hidden || ret=1
+$DIG $DIGOPTS txt.example1. txt @$f2 > dig.out.f2 || ret=1
$PERL ../digcomp.pl dig.out.hidden dig.out.f2 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that forwarding doesn't spontaneously happen"
+echo_i "checking that forwarding doesn't spontaneously happen"
ret=0
-$DIG txt.example2. txt @$root -p 5300 > dig.out.root || ret=1
-$DIG txt.example2. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS txt.example2. txt @$root > dig.out.root || ret=1
+$DIG $DIGOPTS txt.example2. txt @$f2 > dig.out.f2 || ret=1
$PERL ../digcomp.pl dig.out.root dig.out.f2 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a forward zone with no specified policy works"
+echo_i "checking that a forward zone with no specified policy works"
ret=0
-$DIG txt.example3. txt @$hidden -p 5300 > dig.out.hidden || ret=1
-$DIG txt.example3. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS txt.example3. txt @$hidden > dig.out.hidden || ret=1
+$DIG $DIGOPTS txt.example3. txt @$f2 > dig.out.f2 || ret=1
$PERL ../digcomp.pl dig.out.hidden dig.out.f2 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that a forward only doesn't recurse"
+echo_i "checking that a forward only doesn't recurse"
ret=0
-$DIG txt.example5. txt @$f2 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS txt.example5. txt @$f2 > dig.out.f2 || ret=1
grep "SERVFAIL" dig.out.f2 > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking for negative caching of forwarder response"
+echo_i "checking for negative caching of forwarder response"
# prime the cache, shutdown the forwarder then check that we can
# get the answer from the cache. restart forwarder.
ret=0
-$DIG nonexist. txt @10.53.0.5 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS nonexist. txt @10.53.0.5 > dig.out.f2 || ret=1
grep "status: NXDOMAIN" dig.out.f2 > /dev/null || ret=1
$PERL ../stop.pl . ns4 || ret=1
-$DIG nonexist. txt @10.53.0.5 -p 5300 > dig.out.f2 || ret=1
+$DIG $DIGOPTS nonexist. txt @10.53.0.5 > dig.out.f2 || ret=1
grep "status: NXDOMAIN" dig.out.f2 > /dev/null || ret=1
-$PERL ../start.pl --restart --noclean . ns4 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$PERL ../start.pl --restart --noclean --port ${PORT} . ns4 || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that forward only zone overrides empty zone"
+echo_i "checking that forward only zone overrides empty zone"
ret=0
-$DIG 1.0.10.in-addr.arpa TXT @10.53.0.4 -p 5300 > dig.out.f2
+$DIG $DIGOPTS 1.0.10.in-addr.arpa TXT @10.53.0.4 > dig.out.f2
grep "status: NOERROR" dig.out.f2 > /dev/null || ret=1
-$DIG 2.0.10.in-addr.arpa TXT @10.53.0.4 -p 5300 > dig.out.f2
+$DIG $DIGOPTS 2.0.10.in-addr.arpa TXT @10.53.0.4 > dig.out.f2
grep "status: NXDOMAIN" dig.out.f2 > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that DS lookups for grafting forward zones are isolated"
+echo_i "checking that DS lookups for grafting forward zones are isolated"
ret=0
-$DIG grafted A @10.53.0.4 -p 5300 > dig.out.q1
-$DIG grafted DS @10.53.0.4 -p 5300 > dig.out.q2
-$DIG grafted A @10.53.0.4 -p 5300 > dig.out.q3
-$DIG grafted AAAA @10.53.0.4 -p 5300 > dig.out.q4
+$DIG $DIGOPTS grafted A @10.53.0.4 > dig.out.q1
+$DIG $DIGOPTS grafted DS @10.53.0.4 > dig.out.q2
+$DIG $DIGOPTS grafted A @10.53.0.4 > dig.out.q3
+$DIG $DIGOPTS grafted AAAA @10.53.0.4 > dig.out.q4
grep "status: NOERROR" dig.out.q1 > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.q2 > /dev/null || ret=1
grep "status: NOERROR" dig.out.q3 > /dev/null || ret=1
grep "status: NOERROR" dig.out.q4 > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that rfc1918 inherited 'forward first;' zones are warned about"
+echo_i "checking that rfc1918 inherited 'forward first;' zones are warned about"
ret=0
$CHECKCONF rfc1918-inherited.conf | grep "forward first;" >/dev/null || ret=1
$CHECKCONF rfc1918-notinherited.conf | grep "forward first;" >/dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that ULA inherited 'forward first;' zones are warned about"
+echo_i "checking that ULA inherited 'forward first;' zones are warned about"
ret=0
$CHECKCONF ula-inherited.conf | grep "forward first;" >/dev/null || ret=1
$CHECKCONF ula-notinherited.conf | grep "forward first;" >/dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.9 2007/09/26 03:22:43 marka Exp $
-
#
# Clean up after glue tests.
#
rm -f dig.out ns1/cache
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.17 2009/01/30 23:47:50 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.6 2007/06/19 23:47:03 tbox Exp $
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
cd ns1 && cp -f cache.in cache
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.9 2007/06/19 23:47:03 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
# Do glue tests.
#
+DIGOPTS="+norec -p ${PORT}"
+
status=0
-echo "I:testing that a ccTLD referral gets a full glue set from the root zone"
-$DIG +norec @10.53.0.1 -p 5300 foo.bar.fi. A >dig.out || status=1
+echo_i "testing that a ccTLD referral gets a full glue set from the root zone"
+$DIG $DIGOPTS @10.53.0.1 foo.bar.fi. A >dig.out || status=1
$PERL ../digcomp.pl --lc fi.good dig.out || status=1
-echo "I:testing that we find glue A RRs we are authoritative for"
+echo_i "testing that we find glue A RRs we are authoritative for"
$DIG +norec @10.53.0.1 -p 5300 foo.bar.xx. a >dig.out || status=1
$PERL ../digcomp.pl xx.good dig.out || status=1
-echo "I:testing that we find glue A/AAAA RRs in the cache"
+echo_i "testing that we find glue A/AAAA RRs in the cache"
$DIG +norec @10.53.0.1 -p 5300 foo.bar.yy. a >dig.out || status=1
$PERL ../digcomp.pl yy.good dig.out || status=1
-echo "I:testing that we don't find out-of-zone glue"
-$DIG +norec @10.53.0.1 -p 5300 example.net. a > dig.out || status=1
+echo_i "testing that we don't find out-of-zone glue"
+$DIG $DIGOPTS @10.53.0.1 example.net. a > dig.out || status=1
$PERL ../digcomp.pl noglue.good dig.out || status=1
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
rm -f */trusted.conf
rm -f ns4/noixfr.db
rm -f ns4/noixfr.db.jnl
rm -f ns5/K*
-rm -f ns5/named.conf
rm -f ns5/bits.bk
rm -f ns5/bits.bk.jnl
rm -f ns5/bits.bk.signed
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/10/25 01:54:20 marka Exp $ */
-
// NS1
controls { /* empty */ };
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2012/02/23 07:09:28 tbox Exp $ */
-
// NS2
include "../../common/rndc.key";
-controls { inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.8 2012/02/23 06:53:15 marka Exp $ */
-
// NS3
include "../../common/rndc.key";
-controls { inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2011/08/30 23:46:52 tbox Exp $ */
-
-// NS2
-
-controls { /* empty */ };
+// NS4
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf.post,v 1.2 2011/10/12 00:10:19 marka Exp $ */
-
// NS5
include "../../common/rndc.key";
-controls { inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf.pre,v 1.2 2011/10/12 00:10:20 marka Exp $ */
-
// NS5
include "../../common/rndc.key";
-controls { inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2011/10/25 01:54:21 marka Exp $ */
-
// NS6
include "../../common/rndc.key";
-controls { inet 10.53.0.6 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.6 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
include "../../common/rndc.key";
-controls { inet 10.53.0.7 port 9953 allow { any; } keys { rndc_key; }; };
+controls {
+ inet 10.53.0.7 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
options {
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
cp ns4/noixfr.db.in ns4/noixfr.db
rm -f ns4/noixfr.db.jnl
-cp ns5/named.conf.pre ns5/named.conf
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.pre ns5/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+copy_setports ns7/named.conf.in ns7/named.conf
(cd ns3; $SHELL -e sign.sh)
(cd ns1; $SHELL -e sign.sh)
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="+tcp +dnssec"
+DIGOPTS="+tcp +dnssec -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
status=0
n=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 - nsec3 > /dev/null 2>&1
+$RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 - nsec3 > /dev/null 2>&1
for i in 1 2 3 4 5 6 7 8 9 0
do
- nsec3param=`$DIG +short @10.53.0.3 -p 5300 nsec3param nsec3.`
+ nsec3param=`$DIG $DIGOPTS +nodnssec +short @10.53.0.3 nsec3param nsec3.`
test "$nsec3param" = "1 0 0 -" && break
sleep 1
done
for i in 1 2 3 4 5 6 7 8 9 0
do
ans=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -nsec3param 1 0 0 - retransfer3 > /dev/null 2>&1 || ans=1
+ $RNDCCMD 10.53.0.3 signing -nsec3param 1 0 0 - retransfer3 > /dev/null 2>&1 || ans=1
[ $ans = 0 ] && break
+ sleep 1
done
for i in 1 2 3 4 5 6 7 8 9 0
do
- nsec3param=`$DIG +short @10.53.0.3 -p 5300 nsec3param retransfer3.`
+ nsec3param=`$DIG $DIGOPTS +nodnssec +short @10.53.0.3 nsec3param retransfer3.`
test "$nsec3param" = "1 0 0 -" && break
sleep 1
done
n=`expr $n + 1`
-echo "I:checking that rrsigs are replaced with ksk only ($n)"
+echo_i "checking that rrsigs are replaced with ksk only ($n)"
ret=0
-$DIG @10.53.0.3 -p 5300 axfr nsec3. |
+$DIG $DIGOPTS @10.53.0.3 axfr nsec3. |
awk '/RRSIG NSEC3/ {a[$1]++} END { for (i in a) {if (a[i] != 1) exit (1)}}' || ret=1
-#$DIG @10.53.0.3 -p 5300 axfr nsec3. | grep -w NSEC | grep -v "IN.RRSIG.NSEC"
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that the zone is signed on initial transfer ($n)"
+echo_i "checking that the zone is signed on initial transfer ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list bits > signing.out.test$n 2>&1
keys=`grep '^Done signing' signing.out.test$n | wc -l`
[ $keys = 2 ] || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking expired signatures are updated on load ($n)"
+echo_i "checking expired signatures are updated on load ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.3 -p 5300 +noall +answer +dnssec expired SOA > dig.out.ns3.test$n
+$DIG $DIGOPTS @10.53.0.3 +noall +answer +dnssec expired SOA > dig.out.ns3.test$n
expiry=`awk '$4 == "RRSIG" { print $9 }' dig.out.ns3.test$n`
[ "$expiry" = "20110101000000" ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking removal of private type record via 'rndc signing -clear' ($n)"
+echo_i "checking removal of private type record via 'rndc signing -clear' ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
+$RNDCCMD 10.53.0.3 signing -list bits > signing.out.test$n 2>&1
keys=`sed -n -e 's/Done signing with key \(.*\)$/\1/p' signing.out.test$n`
for key in $keys; do
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear ${key} bits > /dev/null || ret=1
+ $RNDCCMD 10.53.0.3 signing -clear ${key} bits > /dev/null || ret=1
break; # We only want to remove 1 record for now.
-done 2>&1 |sed 's/^/I:ns3 /'
+done 2>&1 |sed 's/^/ns3 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9 10
do
ans=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list bits > signing.out.test$n 2>&1
num=`grep "Done signing with" signing.out.test$n | wc -l`
[ $num = 1 ] && break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking private type was properly signed ($n)"
+echo_i "checking private type was properly signed ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.6 -p 5300 bits TYPE65534 > dig.out.ns6.test$n
+$DIG $DIGOPTS @10.53.0.6 bits TYPE65534 > dig.out.ns6.test$n
grep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking removal of remaining private type record via 'rndc signing -clear all' ($n)"
+echo_i "checking removal of remaining private type record via 'rndc signing -clear all' ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all bits > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -clear all bits > /dev/null || ret=1
for i in 1 2 3 4 5 6 7 8 9 10
do
ans=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list bits > signing.out.test$n 2>&1
grep "No signing records found" signing.out.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking negative private type response was properly signed ($n)"
+echo_i "checking negative private type response was properly signed ($n)"
ret=0
sleep 1
-$DIG $DIGOPTS @10.53.0.6 -p 5300 bits TYPE65534 > dig.out.ns6.test$n
+$DIG $DIGOPTS @10.53.0.6 bits TYPE65534 > dig.out.ns6.test$n
grep "status: NOERROR" dig.out.ns6.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.ns6.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone bits
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
update add added.bits 0 A 1.2.3.4
send
EOF
n=`expr $n + 1`
-echo "I:checking that the record is added on the hidden master ($n)"
+echo_i "checking that the record is added on the hidden master ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.2 -p 5300 added.bits A > dig.out.ns2.test$n
+$DIG $DIGOPTS @10.53.0.2 added.bits A > dig.out.ns2.test$n
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that update has been transfered and has been signed ($n)"
+echo_i "checking that update has been transfered and has been signed ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 added.bits A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 added.bits A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone bits
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
update add bits 0 SOA ns2.bits. . 2011072400 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072400) serial on hidden master ($n)"
+echo_i "checking YYYYMMDDVV (2011072400) serial on hidden master ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
+$DIG $DIGOPTS @10.53.0.2 bits SOA > dig.out.ns2.test$n
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2011072400" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072400) serial in signed zone ($n)"
+echo_i "checking YYYYMMDDVV (2011072400) serial in signed zone ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 bits SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072400" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that the zone is signed on initial transfer, noixfr ($n)"
+echo_i "checking that the zone is signed on initial transfer, noixfr ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list noixfr > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list noixfr > signing.out.test$n 2>&1
keys=`grep '^Done signing' signing.out.test$n | wc -l`
[ $keys = 2 ] || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone noixfr
-server 10.53.0.4 5300
+server 10.53.0.4 ${PORT}
update add added.noixfr 0 A 1.2.3.4
send
EOF
n=`expr $n + 1`
-echo "I:checking that the record is added on the hidden master, noixfr ($n)"
+echo_i "checking that the record is added on the hidden master, noixfr ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.4 -p 5300 added.noixfr A > dig.out.ns4.test$n
+$DIG $DIGOPTS @10.53.0.4 added.noixfr A > dig.out.ns4.test$n
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that update has been transfered and has been signed, noixfr ($n)"
+echo_i "checking that update has been transfered and has been signed, noixfr ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 added.noixfr A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 added.noixfr A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone noixfr
-server 10.53.0.4 5300
+server 10.53.0.4 ${PORT}
update add noixfr 0 SOA ns4.noixfr. . 2011072400 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072400) serial on hidden master, noixfr ($n)"
+echo_i "checking YYYYMMDDVV (2011072400) serial on hidden master, noixfr ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
+$DIG $DIGOPTS @10.53.0.4 noixfr SOA > dig.out.ns4.test$n
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
grep "2011072400" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072400) serial in signed zone, noixfr ($n)"
+echo_i "checking YYYYMMDDVV (2011072400) serial in signed zone, noixfr ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 noixfr SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072400" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that the master zone signed on initial load ($n)"
+echo_i "checking that the master zone signed on initial load ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list master > signing.out.test$n 2>&1
keys=`grep '^Done signing' signing.out.test$n | wc -l`
[ $keys = 2 ] || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking removal of private type record via 'rndc signing -clear' (master) ($n)"
+echo_i "checking removal of private type record via 'rndc signing -clear' (master) ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
+$RNDCCMD 10.53.0.3 signing -list master > signing.out.test$n 2>&1
keys=`sed -n -e 's/Done signing with key \(.*\)$/\1/p' signing.out.test$n`
for key in $keys; do
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear ${key} master > /dev/null || ret=1
+ $RNDCCMD 10.53.0.3 signing -clear ${key} master > /dev/null || ret=1
break; # We only want to remove 1 record for now.
-done 2>&1 |sed 's/^/I:ns3 /'
+done 2>&1 |sed 's/^/ns3 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9
do
ans=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list master > signing.out.test$n 2>&1
num=`grep "Done signing with" signing.out.test$n | wc -l`
[ $num = 1 ] && break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking private type was properly signed (master) ($n)"
+echo_i "checking private type was properly signed (master) ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.6 -p 5300 master TYPE65534 > dig.out.ns6.test$n
+$DIG $DIGOPTS @10.53.0.6 master TYPE65534 > dig.out.ns6.test$n
grep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ret=1
grep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking removal of remaining private type record via 'rndc signing -clear' (master) ($n)"
+echo_i "checking removal of remaining private type record via 'rndc signing -clear' (master) ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all master > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 signing -clear all master > /dev/null || ret=1
for i in 1 2 3 4 5 6 7 8 9 10
do
ans=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list master > signing.out.test$n 2>&1
grep "No signing records found" signing.out.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check adding of record to unsigned master ($n)"
+echo_i "check adding of record to unsigned master ($n)"
ret=0
cp ns3/master2.db.in ns3/master.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload master || ret=1
+$RNDCCMD 10.53.0.3 reload master 2>&1 | sed 's/^/ns3 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 e.master A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 e.master A > dig.out.ns3.test$n
grep "10.0.0.5" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check adding record fails when SOA serial not changed ($n)"
+echo_i "check adding record fails when SOA serial not changed ($n)"
ret=0
echo "c A 10.0.0.3" >> ns3/master.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload || ret=1
+$RNDCCMD 10.53.0.3 reload 2>&1 | sed 's/^/ns3 /' | cat_i
sleep 1
-$DIG $DIGOPTS @10.53.0.3 -p 5300 c.master A > dig.out.ns3.test$n
+$DIG $DIGOPTS @10.53.0.3 c.master A > dig.out.ns3.test$n
grep "NXDOMAIN" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check adding record works after updating SOA serial ($n)"
+echo_i "check adding record works after updating SOA serial ($n)"
ret=0
cp ns3/master3.db.in ns3/master.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload master || ret=1
+$RNDCCMD 10.53.0.3 reload master 2>&1 | sed 's/^/ns3 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 c.master A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 c.master A > dig.out.ns3.test$n
grep "10.0.0.3" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check the added record was properly signed ($n)"
+echo_i "check the added record was properly signed ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.3 -p 5300 e.master A > dig.out.ns6.test$n
+$DIG $DIGOPTS @10.53.0.3 e.master A > dig.out.ns6.test$n
grep "10.0.0.5" dig.out.ns6.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ans=1
grep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ans=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that the dynamic master zone signed on initial load ($n)"
+echo_i "checking that the dynamic master zone signed on initial load ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list dynamic > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.3 signing -list dynamic > signing.out.test$n 2>&1
keys=`grep '^Done signing' signing.out.test$n | wc -l`
[ $keys = 2 ] || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking master zone that was updated while offline is correct ($n)"
+echo_i "checking master zone that was updated while offline is correct ($n)"
ret=0
-serial=`$DIG $DIGOPTS +short @10.53.0.3 -p 5300 updated SOA | awk '{print $3}'`
+serial=`$DIG $DIGOPTS +nodnssec +short @10.53.0.3 updated SOA | awk '{print $3}'`
# serial should have changed
[ "$serial" = "2000042407" ] && ret=1
# e.updated should exist and should be signed
-$DIG $DIGOPTS @10.53.0.3 -p 5300 e.updated A > dig.out.ns3.test$n
+$DIG $DIGOPTS @10.53.0.3 e.updated A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
# updated.db.signed.jnl should exist, should have the source serial
[ "$serial" = "2000042408" ] || ret=1
diffsize=`$JOURNALPRINT ns3/updated.db.signed.jnl | wc -l`
[ "$diffsize" -le 13 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking adding of record to unsigned master using UPDATE ($n)"
+echo_i "checking adding of record to unsigned master using UPDATE ($n)"
ret=0
-[ -f ns3/dynamic.db.jnl ] && { ret=1 ; echo "I:journal exists (pretest)" ; }
+[ -f ns3/dynamic.db.jnl ] && { ret=1 ; echo_i "journal exists (pretest)" ; }
$NSUPDATE << EOF
zone dynamic
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add e.dynamic 0 A 1.2.3.4
send
EOF
-[ -f ns3/dynamic.db.jnl ] || { ret=1 ; echo "I:journal does not exist (posttest)" ; }
+[ -f ns3/dynamic.db.jnl ] || { ret=1 ; echo_i "journal does not exist (posttest)" ; }
for i in 1 2 3 4 5 6 7 8 9 10
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 e.dynamic > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 e.dynamic > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
grep "1.2.3.4" dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
-[ $ans = 0 ] || { ret=1; echo "I:signed record not found"; cat dig.out.ns3.test$n ; }
+[ $ans = 0 ] || { ret=1; echo_i "signed record not found"; cat dig.out.ns3.test$n ; }
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:stop bump in the wire signer server ($n)"
+echo_i "stop bump in the wire signer server ($n)"
ret=0
$PERL ../stop.pl . ns3 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:restart bump in the wire signer server ($n)"
+echo_i "restart bump in the wire signer server ($n)"
ret=0
-$PERL ../start.pl --noclean --restart . ns3 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$PERL ../start.pl --noclean --restart --port ${PORT} . ns3 || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone bits
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
update add bits 0 SOA ns2.bits. . 2011072450 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072450) serial on hidden master ($n)"
+echo_i "checking YYYYMMDDVV (2011072450) serial on hidden master ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
+$DIG $DIGOPTS @10.53.0.2 bits SOA > dig.out.ns2.test$n
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2011072450" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072450) serial in signed zone ($n)"
+echo_i "checking YYYYMMDDVV (2011072450) serial in signed zone ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 bits SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072450" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone noixfr
-server 10.53.0.4 5300
+server 10.53.0.4 ${PORT}
update add noixfr 0 SOA ns4.noixfr. . 2011072450 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072450) serial on hidden master, noixfr ($n)"
+echo_i "checking YYYYMMDDVV (2011072450) serial on hidden master, noixfr ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
+$DIG $DIGOPTS @10.53.0.4 noixfr SOA > dig.out.ns4.test$n
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
grep "2011072450" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking YYYYMMDDVV (2011072450) serial in signed zone, noixfr ($n)"
+echo_i "checking YYYYMMDDVV (2011072450) serial in signed zone, noixfr ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 noixfr SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072450" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone bits
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add bits 0 SOA ns2.bits. . 2011072460 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking forwarded update on hidden master ($n)"
+echo_i "checking forwarded update on hidden master ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
+$DIG $DIGOPTS @10.53.0.2 bits SOA > dig.out.ns2.test$n
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
grep "2011072460" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking forwarded update on signed zone ($n)"
+echo_i "checking forwarded update on signed zone ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 bits SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072460" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone noixfr
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add noixfr 0 SOA ns4.noixfr. . 2011072460 20 20 1814400 3600
send
EOF
n=`expr $n + 1`
-echo "I:checking forwarded update on hidden master, noixfr ($n)"
+echo_i "checking forwarded update on hidden master, noixfr ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
+$DIG $DIGOPTS @10.53.0.4 noixfr SOA > dig.out.ns4.test$n
grep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
grep "2011072460" dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking forwarded update on signed zone, noixfr ($n)"
+echo_i "checking forwarded update on signed zone, noixfr ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 noixfr SOA > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
grep "2011072460" dig.out.ns3.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking turning on of inline signing in a slave zone via reload ($n)"
-$DIG $DIGOPTS @10.53.0.5 -p 5300 +dnssec bits SOA > dig.out.ns5.test$n
+echo_i "checking turning on of inline signing in a slave zone via reload ($n)"
+$DIG $DIGOPTS @10.53.0.5 +dnssec bits SOA > dig.out.ns5.test$n
grep "status: NOERROR" dig.out.ns5.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:setup broken"; fi
+if [ $ret != 0 ]; then echo_i "setup broken"; fi
status=`expr $status + $ret`
-cp ns5/named.conf.post ns5/named.conf
+
+copy_setports ns5/named.conf.post ns5/named.conf
(cd ns5; $KEYGEN -q -r $RANDFILE bits) > /dev/null 2>&1
(cd ns5; $KEYGEN -q -r $RANDFILE -f KSK bits) > /dev/null 2>&1
-$RNDC -c ../common/rndc.conf -s 10.53.0.5 -p 9953 reload 2>&1 | sed 's/^/I:ns5 /'
+$RNDCCMD 10.53.0.5 reload 2>&1 | sed 's/^/ns5 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG $DIGOPTS @10.53.0.5 -p 5300 bits SOA > dig.out.ns5.test$n
+ $DIG $DIGOPTS @10.53.0.5 bits SOA > dig.out.ns5.test$n
grep "status: NOERROR" dig.out.ns5.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns5.test$n > /dev/null || ret=1
if [ $ret = 0 ]; then break; fi
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking rndc freeze/thaw of dynamic inline zone no change ($n)"
+echo_i "checking rndc freeze/thaw of dynamic inline zone no change ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze dynamic > freeze.test$n 2>&1 || { echo "I: rndc freeze dynamic failed" ; sed 's/^/I:/' < freeze.test$n ; ret=1; }
+$RNDCCMD 10.53.0.3 freeze dynamic > freeze.test$n 2>&1 || { echo_i "/' < freeze.test$n"; ret=1; }
sleep 1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw dynamic > thaw.test$n 2>&1 || { echo "I: rndc thaw dynamic failed" ; ret=1; }
+$RNDCCMD 10.53.0.3 thaw dynamic > thaw.test$n 2>&1 || { echo_i "rndc thaw dynamic failed" ; ret=1; }
sleep 1
grep "zone dynamic/IN (unsigned): ixfr-from-differences: unchanged" ns3/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking rndc freeze/thaw of dynamic inline zone ($n)"
+echo_i "checking rndc freeze/thaw of dynamic inline zone ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze dynamic > freeze.test$n 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 freeze dynamic > freeze.test$n 2>&1 || ret=1
sleep 1
awk '$2 == ";" && $3 == "serial" { printf("%d %s %s\n", $1 + 1, $2, $3); next; }
{ print; }
END { print "freeze1.dynamic. 0 TXT freeze1"; } ' ns3/dynamic.db > ns3/dynamic.db.new
mv ns3/dynamic.db.new ns3/dynamic.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw dynamic > thaw.test$n 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDCCMD 10.53.0.3 thaw dynamic > thaw.test$n 2>&1 || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check added record freeze1.dynamic ($n)"
+echo_i "check added record freeze1.dynamic ($n)"
for i in 1 2 3 4 5 6 7 8 9
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 freeze1.dynamic TXT > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 freeze1.dynamic TXT > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
test $ret = 0 && break
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# allow 1 second so that file time stamps change
sleep 1
n=`expr $n + 1`
-echo "I:checking rndc freeze/thaw of server ($n)"
+echo_i "checking rndc freeze/thaw of server ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze > freeze.test$n 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 freeze > freeze.test$n 2>&1 || ret=1
sleep 1
awk '$2 == ";" && $3 == "serial" { printf("%d %s %s\n", $1 + 1, $2, $3); next; }
{ print; }
END { print "freeze2.dynamic. 0 TXT freeze2"; } ' ns3/dynamic.db > ns3/dynamic.db.new
mv ns3/dynamic.db.new ns3/dynamic.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw > thaw.test$n 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDCCMD 10.53.0.3 thaw > thaw.test$n 2>&1 || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check added record freeze2.dynamic ($n)"
+echo_i "check added record freeze2.dynamic ($n)"
for i in 1 2 3 4 5 6 7 8 9
do
ret=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 freeze2.dynamic TXT > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 freeze2.dynamic TXT > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
test $ret = 0 && break
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check rndc reload allows reuse of inline-signing zones ($n)"
+echo_i "check rndc reload allows reuse of inline-signing zones ($n)"
ret=0
-{ $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 || ret=1 ; } |
-sed 's/^/I:ns3 /'
+{ $RNDCCMD 10.53.0.3 reload 2>&1 || ret=1 ; } | sed 's/^/ns3 /' | cat_i
grep "not reusable" ns3/named.run > /dev/null 2>&1 && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check rndc sync removes both signed and unsigned journals ($n)"
+echo_i "check rndc sync removes both signed and unsigned journals ($n)"
ret=0
[ -f ns3/dynamic.db.jnl ] || ret=1
[ -f ns3/dynamic.db.signed.jnl ] || ret=1
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sync -clean dynamic 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 sync -clean dynamic 2>&1 || ret=1
[ -f ns3/dynamic.db.jnl ] && ret=1
[ -f ns3/dynamic.db.signed.jnl ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
$NSUPDATE << EOF
zone retransfer
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
update add added.retransfer 0 A 1.2.3.4
send
EOF
n=`expr $n + 1`
-echo "I:checking that the retransfer record is added on the hidden master ($n)"
+echo_i "checking that the retransfer record is added on the hidden master ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.2 -p 5300 added.retransfer A > dig.out.ns2.test$n
+$DIG $DIGOPTS @10.53.0.2 added.retransfer A > dig.out.ns2.test$n
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that the change has not been transfered due to notify ($n)"
+echo_i "checking that the change has not been transfered due to notify ($n)"
ret=0
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 added.retransfer A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 added.retransfer A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
-if [ $ans != 1 ]; then echo "I:failed"; ret=1; fi
+if [ $ans != 1 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check rndc retransfer of a inline slave zone works ($n)"
+echo_i "check rndc retransfer of a inline slave zone works ($n)"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 retransfer retransfer 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 retransfer retransfer 2>&1 || ret=1
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 added.retransfer A > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 added.retransfer A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
[ $ans = 1 ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check rndc retransfer of a inline nsec3 slave retains nsec3 ($n)"
+echo_i "check rndc retransfer of a inline nsec3 slave retains nsec3 ($n)"
ret=0
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 nonexist.retransfer3 A > dig.out.ns3.pre.test$n
+ $DIG $DIGOPTS @10.53.0.3 nonexist.retransfer3 A > dig.out.ns3.pre.test$n
grep "status: NXDOMAIN" dig.out.ns3.pre.test$n > /dev/null || ans=1
grep "NSEC3" dig.out.ns3.pre.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 retransfer retransfer3 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 retransfer retransfer3 2>&1 || ret=1
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 nonexist.retransfer3 A > dig.out.ns3.post.test$n
+ $DIG $DIGOPTS @10.53.0.3 nonexist.retransfer3 A > dig.out.ns3.post.test$n
grep "status: NXDOMAIN" dig.out.ns3.post.test$n > /dev/null || ans=1
grep "NSEC3" dig.out.ns3.post.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
[ $ans = 1 ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# NOTE: The test below should be considered fragile. More details can be found
# in the comment inside ns7/named.conf.
n=`expr $n + 1`
-echo "I:check rndc retransfer of a inline nsec3 slave does not trigger an infinite loop ($n)"
+echo_i "check rndc retransfer of a inline nsec3 slave does not trigger an infinite loop ($n)"
ret=0
zone=nsec3-loop
# Add slave zone using rndc
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 addzone $zone \
+$RNDCCMD 10.53.0.7 addzone $zone \
'{ type slave; masters { 10.53.0.2; }; file "'$zone'.db"; inline-signing yes; auto-dnssec maintain; };'
# Wait until slave zone is fully signed using NSEC
for i in 1 2 3 4 5 6 7 8 9 0
do
ret=1
- $RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 signing -list $zone > signing.out.test$n 2>&1
+ $RNDCCMD 10.53.0.7 signing -list $zone > signing.out.test$n 2>&1
keys=`grep '^Done signing' signing.out.test$n | wc -l`
[ $keys -eq 3 ] && ret=0 && break
sleep 1
done
# Switch slave zone to NSEC3
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 signing -nsec3param 1 0 2 12345678 $zone > /dev/null 2>&1
+$RNDCCMD 10.53.0.7 signing -nsec3param 1 0 2 12345678 $zone > /dev/null 2>&1
# Wait until slave zone is fully signed using NSEC3
for i in 1 2 3 4 5 6 7 8 9 0
do
ret=1
- nsec3param=`$DIG +short @10.53.0.7 -p 5300 nsec3param $zone`
+ nsec3param=`$DIG $DIGOPTS +nodnssec +short @10.53.0.7 nsec3param $zone`
test "$nsec3param" = "1 0 2 12345678" && ret=0 && break
sleep 1
done
# Attempt to retransfer the slave zone from master
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 retransfer $zone
+$RNDCCMD 10.53.0.7 retransfer $zone
# Check whether the signer managed to fully sign the retransferred zone by
# waiting for a specific SOA serial number to appear in the logs; if this
# specific SOA serial number does not appear in the logs, it means the signer
[ $? -eq 0 ] && ret=0 && break
sleep 1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:stop bump in the wire signer server ($n)"
+echo_i "stop bump in the wire signer server ($n)"
ret=0
$PERL ../stop.pl . ns3 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:update SOA record while stopped"
+echo_i "update SOA record while stopped"
cp ns3/master4.db.in ns3/master.db
rm ns3/master.db.jnl
n=`expr $n + 1`
-echo "I:restart bump in the wire signer server ($n)"
+echo_i "restart bump in the wire signer server ($n)"
ret=0
-$PERL ../start.pl --noclean --restart . ns3 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$PERL ../start.pl --noclean --restart --port ${PORT} . ns3 || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:updates to SOA parameters other than serial while stopped are reflected in signed zone ($n)"
+echo_i "updates to SOA parameters other than serial while stopped are reflected in signed zone ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9
do
ans=0
- $DIG $DIGOPTS @10.53.0.3 -p 5300 master SOA > dig.out.ns3.test$n
+ $DIG $DIGOPTS @10.53.0.3 master SOA > dig.out.ns3.test$n
grep "hostmaster" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:test add/del zone combinations ($n)"
+echo_i "test add/del zone combinations ($n)"
ret=0
for zone in a b c d e f g h i j k l m n o p q r s t u v w x y z
do
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone test-$zone \
+$RNDCCMD 10.53.0.2 addzone test-$zone \
'{ type master; file "bits.db.in"; allow-transfer { any; }; };'
-$DIG $DIGOPTS @10.53.0.2 -p 5300 test-$zone SOA > dig.out.ns2.$zone.test$n
+$DIG $DIGOPTS @10.53.0.2 test-$zone SOA > dig.out.ns2.$zone.test$n
grep "status: NOERROR," dig.out.ns2.$zone.test$n > /dev/null || { ret=1; cat dig.out.ns2.$zone.test$n; }
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone test-$zone \
+$RNDCCMD 10.53.0.3 addzone test-$zone \
'{ type slave; masters { 10.53.0.2; }; file "'test-$zone.bk'"; inline-signing yes; auto-dnssec maintain; allow-transfer { any; }; };'
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 delzone test-$zone > /dev/null 2>&1
+$RNDCCMD 10.53.0.3 delzone test-$zone > /dev/null 2>&1
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing adding external keys to a inline zone ($n)"
+echo_i "testing adding external keys to a inline zone ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.3 -p 5300 dnskey externalkey > dig.out.ns3.test$n
+$DIG $DIGOPTS @10.53.0.3 dnskey externalkey > dig.out.ns3.test$n
for alg in 3 7 12 13
do
[ $alg = 3 -a ! -f checkdsa ] && continue;
[ $alg = 13 -a ! -f checkecdsa ] && continue;
case $alg in
- 3) echo "I: checking DSA";;
- 7) echo "I: checking NSEC3RSASHA1";;
- 12) echo "I: checking GOST";;
- 13) echo "I: checking ECDSAP256SHA256";;
- *) echo "I: checking $alg";;
+ 3) echo_i "checking DSA";;
+ 7) echo_i "checking NSEC3RSASHA1";;
+ 12) echo_i "checking GOST";;
+ 13) echo_i "checking ECDSAP256SHA256";;
+ *) echo_i "checking $alg";;
esac
dnskeys=`grep "IN.DNSKEY.25[67] [0-9]* $alg " dig.out.ns3.test$n | wc -l`
rrsigs=`grep "RRSIG.DNSKEY $alg " dig.out.ns3.test$n | wc -l`
- test ${dnskeys:-0} -eq 3 || { echo "I: failed $alg (dnskeys ${dnskeys:-0})"; ret=1; }
- test ${rrsigs:-0} -eq 2 || { echo "I: failed $alg (rrsigs ${rrsigs:-0})"; ret=1; }
+ test ${dnskeys:-0} -eq 3 || { echo_i "failed $alg (dnskeys ${dnskeys:-0})"; ret=1; }
+ test ${rrsigs:-0} -eq 2 || { echo_i "failed $alg (rrsigs ${rrsigs:-0})"; ret=1; }
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing imported key won't overwrite a private key ($n)"
+echo_i "testing imported key won't overwrite a private key ($n)"
ret=0
key=`$KEYGEN -r $RANDFILE -q import.example`
cp ${key}.key import.key
$IMPORTKEY -f import.key import.example > /dev/null 2>&1 || ret=1
# now that it's an external key, re-import should succeed
$IMPORTKEY -f import.key import.example > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing that inline signing works with inactive ZSK and active KSK ($n)"
+echo_i "testing that inline signing works with inactive ZSK and active KSK ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.3 -p 5300 soa inactivezsk > dig.out.ns3.pre.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.3 soa inactivezsk > dig.out.ns3.pre.test$n || ret=1
soa1=`awk '$4 == "SOA" { print $7 }' dig.out.ns3.pre.test$n`
$NSUPDATE << EOF
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
update add added.inactivezsk 0 IN TXT added record
send
EOF
for i in 1 2 3 4 5 6 7 8 9 10
do
- $DIG $DIGOPTS @10.53.0.3 -p 5300 soa inactivezsk > dig.out.ns3.post.test$n || ret=1
+ $DIG $DIGOPTS @10.53.0.3 soa inactivezsk > dig.out.ns3.post.test$n || ret=1
soa2=`awk '$4 == "SOA" { print $7 }' dig.out.ns3.post.test$n`
test ${soa1:-0} -ne ${soa2:-0} && break
sleep 1
done
test ${soa1:-0} -ne ${soa2:-0} || ret=1
-$DIG $DIGOPTS @10.53.0.3 -p 5300 txt added.inactivezsk > dig.out.ns3.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.3 txt added.inactivezsk > dig.out.ns3.test$n || ret=1
grep "ANSWER: 3," dig.out.ns3.test$n > /dev/null || ret=1
grep "RRSIG" dig.out.ns3.test$n > /dev/null || ret=1
grep "TXT 7 2" dig.out.ns3.test$n > /dev/null || ret=1
grep "TXT 8 2" dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing that inline signing works with inactive KSK and active ZSK ($n)"
+echo_i "testing that inline signing works with inactive KSK and active ZSK ($n)"
ret=0
-$DIG $DIGOPTS @10.53.0.3 -p 5300 axfr inactiveksk > dig.out.ns3.test$n
+$DIG $DIGOPTS @10.53.0.3 axfr inactiveksk > dig.out.ns3.test$n
#
# check that DNSKEY is signed with ZSK for algorithm 7
$DSFROMKEY -2 -f - inactiveksk | awk '{ print $4}' `
grep "DNSKEY 8 1 [0-9]* [0-9]* [0-9]* ${kskid} " dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# PERFORMANCE OF THIS SOFTWARE.
rm -f dig.out.test*
+rm -f */named.memstats
+rm -f */named.conf
+rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
-
zone "." {
type hint;
file "../../common/root.hint";
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
status=0
n=1
-echo "I:check that 'check-integrity yes; check-mx-cname fail;' works ($n)"
+echo_i "check that 'check-integrity yes; check-mx-cname fail;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx mx-cname-fail > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx mx-cname-fail > dig.out.test$n || ret=1
grep "status: SERVFAIL," dig.out.test$n > /dev/null || ret=1
grep "zone mx-cname-fail/IN: mx-cname-fail/MX 'cname.mx-cname-fail' is a CNAME (illegal)" ns1/named.run > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity yes; check-mx-cname warn;' works ($n)"
+echo_i "check that 'check-integrity yes; check-mx-cname warn;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx mx-cname-warn > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx mx-cname-warn > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone mx-cname-warn/IN: mx-cname-warn/MX 'cname.mx-cname-warn' is a CNAME (illegal)" ns1/named.run > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity yes; check-mx-cname ignore;' works ($n)"
+echo_i "check that 'check-integrity yes; check-mx-cname ignore;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx mx-cname-ignore > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx mx-cname-ignore > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone mx-cname-ignore/IN: mx-cname-ignore/MX 'cname.mx-cname-ignore' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-mx-cname fail;' works ($n)"
+echo_i "check that 'check-integrity no; check-mx-cname fail;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx no-mx-cname-fail > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx no-mx-cname-fail > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-mx-cname-fail/IN: no-mx-cname-fail/MX 'cname.no-mx-cname-fail' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-mx-cname warn;' works ($n)"
+echo_i "check that 'check-integrity no; check-mx-cname warn;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx no-mx-cname-warn > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx no-mx-cname-warn > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-mx-cname-warn/IN: no-mx-cname-warn/MX 'cname.no-mx-cname-warn' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-mx-cname ignore;' works ($n)"
+echo_i "check that 'check-integrity no; check-mx-cname ignore;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 mx no-mx-cname-ignore > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 mx no-mx-cname-ignore > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-mx-cname-ignore/IN: no-mx-cname-ignore/MX 'cname.no-mx-cname-ignore' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity yes; check-srv-cname fail;' works ($n)"
+echo_i "check that 'check-integrity yes; check-srv-cname fail;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv srv-cname-fail > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv srv-cname-fail > dig.out.test$n || ret=1
grep "status: SERVFAIL," dig.out.test$n > /dev/null || ret=1
grep "zone srv-cname-fail/IN: srv-cname-fail/SRV 'cname.srv-cname-fail' is a CNAME (illegal)" ns1/named.run > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity yes; check-srv-cname warn;' works ($n)"
+echo_i "check that 'check-integrity yes; check-srv-cname warn;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv srv-cname-warn > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv srv-cname-warn > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone srv-cname-warn/IN: srv-cname-warn/SRV 'cname.srv-cname-warn' is a CNAME (illegal)" ns1/named.run > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity yes; check-srv-cname ignore;' works ($n)"
+echo_i "check that 'check-integrity yes; check-srv-cname ignore;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv srv-cname-ignore > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv srv-cname-ignore > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone srv-cname-ignore/IN: srv-cname-ignore/SRV 'cname.srv-cname-ignore' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-srv-cname fail;' works ($n)"
+echo_i "check that 'check-integrity no; check-srv-cname fail;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv no-srv-cname-fail > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv no-srv-cname-fail > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-srv-cname-fail/IN: no-srv-cname-fail/SRV 'cname.no-srv-cname-fail' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-srv-cname warn;' works ($n)"
+echo_i "check that 'check-integrity no; check-srv-cname warn;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv no-srv-cname-warn > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv no-srv-cname-warn > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-srv-cname-warn/IN: no-srv-cname-warn/SRV 'cname.no-srv-cname-warn' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:check that 'check-integrity no; check-srv-cname ignore;' works ($n)"
+echo_i "check that 'check-integrity no; check-srv-cname ignore;' works ($n)"
ret=0
-$DIG -p 5300 @10.53.0.1 srv no-srv-cname-ignore > dig.out.test$n || ret=1
+$DIG $DIGOPTS @10.53.0.1 srv no-srv-cname-ignore > dig.out.test$n || ret=1
grep "status: NOERROR," dig.out.test$n > /dev/null || ret=1
grep "zone no-srv-cname-ignore/IN: no-srv-cname-ignore/SRV 'cname.no-srv-cname-ignore' is a CNAME (illegal)" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
test $status -eq 0 || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
-rm -f ns1/named.conf ns1/myftp.db
+rm -f ns1/myftp.db
rm -f ns3/*.jnl ns3/mytest.db ns3/subtest.db
rm -f ns4/*.jnl ns4/*.db
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f */ans.run
rm -f dig.out dig.out1 dig.out2 dig.out3
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/09/07 23:46:27 tbox Exp $ */
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
allow-transfer { any; };
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
view "primary" {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/09/07 23:46:28 tbox Exp $ */
-
options {
- query-source address 10.53.0.4;
- notify-source 10.53.0.4;
- transfer-source 10.53.0.4;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.4; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
+ query-source address 10.53.0.4;
+ notify-source 10.53.0.4;
+ transfer-source 10.53.0.4;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.4; };
+ listen-on-v6 { none; };
+ recursion no;
+ notify yes;
};
key rndc_key {
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
view "primary" {
then
:
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo_i "This test requires the Net::DNS library." >&2
exit 1
fi
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port ${PORT};
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port ${CONTROLPORT} allow { any; } keys { rndc_key; };
};
EOF
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+
# Setup initial db files for ns3
cp ns3/mytest0.db ns3/mytest.db
cp ns3/subtest0.db ns3/subtest.db
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
-
# WARNING: The test labelled "testing request-ixfr option in view vs zone"
# is fragile because it depends upon counting instances of records
# in the log file - need a better approach <sdm> - until then,
status=0
-DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
-DIGCMD="$DIG $DIGOPTS @10.53.0.1 -p 5300"
-SENDCMD="$PERL ../send.pl 10.53.0.2 5301"
-RNDCCMD="$RNDC -s 10.53.0.1 -p 9953 -c ../common/rndc.conf"
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+SENDCMD="$PERL ../send.pl 10.53.0.2 ${EXTRAPORT1}"
+RNDCCMD="$RNDC -p ${CONTROLPORT} -c ../common/rndc.conf -s"
-echo "I:testing initial AXFR"
+echo_i "testing initial AXFR"
$SENDCMD <<EOF
/SOA/
};
EOF
-$RNDCCMD reload
+$RNDCCMD 10.53.0.1 reload
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIGCMD nil. SOA > dig.out
+ $DIG $DIGOPTS @10.53.0.1 nil. SOA > dig.out
grep "SOA" dig.out > /dev/null && break
sleep 1
done
-$DIGCMD nil. TXT | grep 'initial AXFR' >/dev/null || {
- echo "I:failed"
+$DIG $DIGOPTS @10.53.0.1 nil. TXT | grep 'initial AXFR' >/dev/null || {
+ echo_i "failed"
status=1
}
-echo "I:testing successful IXFR"
+echo_i "testing successful IXFR"
# We change the IP address of a.nil., and the TXT record at the apex.
# Then we do a SOA-only update.
sleep 1
-$RNDCCMD refresh nil
+$RNDCCMD 10.53.0.1 refresh nil
sleep 2
-$DIGCMD nil. TXT | grep 'successful IXFR' >/dev/null || {
- echo "I:failed"
+$DIG $DIGOPTS @10.53.0.1 nil. TXT | grep 'successful IXFR' >/dev/null || {
+ echo_i "failed"
status=1
}
-echo "I:testing AXFR fallback after IXFR failure"
+echo_i "testing AXFR fallback after IXFR failure"
# Provide a broken IXFR response and a working fallback AXFR response
sleep 1
-$RNDCCMD refresh nil
+$RNDCCMD 10.53.0.1 refresh nil
sleep 2
-$DIGCMD nil. TXT | grep 'fallback AXFR' >/dev/null || {
- echo "I:failed"
+$DIG $DIGOPTS @10.53.0.1 nil. TXT | grep 'fallback AXFR' >/dev/null || {
+ echo_i "failed"
status=1
}
-echo "I:testing ixfr-from-differences option"
-# ns3 is master; ns4 is slave
+echo_i "testing ixfr-from-differences option"
+# ns3 is master; ns4 is slave
$CHECKZONE test. ns3/mytest.db > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I:named-checkzone returned failure on ns3/mytest.db"
+ echo_i "named-checkzone returned failure on ns3/mytest.db"
fi
# modify the master
-#echo "I: digging against master: "
-#$DIG $DIGOPTS @10.53.0.3 -p 5300 a host1.test.
-#echo "I: digging against slave: "
-#$DIG $DIGOPTS @10.53.0.4 -p 5300 a host1.test.
+#echo_i "digging against master: "
+#$DIG $DIGOPTS @10.53.0.3 a host1.test.
+#echo_i "digging against slave: "
+#$DIG $DIGOPTS @10.53.0.4 a host1.test.
cp ns3/mytest1.db ns3/mytest.db
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reload
+$RNDCCMD 10.53.0.3 reload
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp -p 5300 @10.53.0.4 SOA test > dig.out
+ $DIG $DIGOPTS +tcp @10.53.0.4 SOA test > dig.out
grep -i "hostmaster\.test\..2" dig.out > /dev/null && break
sleep 1
done
done
if [ $INCR -ne 1 ]
then
- echo "I:failed to get incremental response"
+ echo_i "failed to get incremental response"
status=1
fi
-echo "I:testing request-ixfr option in view vs zone"
+echo_i "testing request-ixfr option in view vs zone"
# There's a view with 2 zones. In the view, "request-ixfr yes"
# but in the zone "sub.test", request-ixfr no"
# we want to make sure that a change to sub.test results in AXFR, while
# changes to test. result in IXFR
-echo "I: this result should be AXFR"
+echo_i " this result should be AXFR"
cp ns3/subtest1.db ns3/subtest.db # change to sub.test zone, should be AXFR
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reload
+$RNDCCMD 10.53.0.3 reload
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp -p 5300 @10.53.0.4 SOA sub.test > dig.out
+ $DIG $DIGOPTS +tcp @10.53.0.4 SOA sub.test > dig.out
grep -i "hostmaster\.test\..3" dig.out > /dev/null && break
sleep 1
done
-echo "I: this result should be AXFR"
+echo_i " this result should be AXFR"
for i in 0 1 2 3 4 5 6 7 8 9
do
NONINCR=`grep 'sub\.test/IN/primary' ns4/named.run|grep "got nonincremental" | wc -l`
done
if [ $NONINCR -ne 2 ]
then
- echo "I:failed to get nonincremental response in 2nd AXFR test"
+ echo_i "failed to get nonincremental response in 2nd AXFR test"
status=1
else
- echo "I: success: AXFR it was"
+ echo_i " success: AXFR it was"
fi
-echo "I: this result should be IXFR"
+echo_i " this result should be IXFR"
cp ns3/mytest2.db ns3/mytest.db # change to test zone, should be IXFR
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reload
+$RNDCCMD 10.53.0.3 reload
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp -p 5300 @10.53.0.4 SOA test > dig.out
+ $DIG $DIGOPTS +tcp @10.53.0.4 SOA test > dig.out
grep -i "hostmaster\.test\..4" dig.out > /dev/null && break
sleep 1
done
done
if [ $INCR -ne 2 ]
then
- echo "I:failed to get incremental response in 2nd IXFR test"
+ echo_i "failed to get incremental response in 2nd IXFR test"
status=1
else
- echo "I: success: IXFR it was"
+ echo_i " success: IXFR it was"
fi
-echo "I:testing DiG's handling of a multi message AXFR style IXFR response"
+echo_i "testing DiG's handling of a multi message AXFR style IXFR response"
(
(sleep 10 && kill $$) 2>/dev/null &
sub=$!
-$DIG ixfr=0 large -p 5300 @10.53.0.3 > dig.out
+$DIG -p ${PORT} ixfr=0 large @10.53.0.3 > dig.out
kill $sub
)
lines=`grep hostmaster.large dig.out | wc -l`
-test ${lines:-0} -eq 2 || { echo "I:failed"; status=1; }
+test ${lines:-0} -eq 2 || { echo_i "failed"; status=1; }
messages=`sed -n 's/^;;.*messages \([0-9]*\),.*/\1/p' dig.out`
-test ${messages:-0} -gt 1 || { echo "I:failed"; status=1; }
+test ${messages:-0} -gt 1 || { echo_i "failed"; status=1; }
-echo "I:test 'dig +notcp ixfr=<value>' vs 'dig ixfr=<value> +notcp' vs 'dig ixfr=<value>'"
+echo_i "test 'dig +notcp ixfr=<value>' vs 'dig ixfr=<value> +notcp' vs 'dig ixfr=<value>'"
ret=0
# Should be "switch to TCP" response
-$DIG +notcp ixfr=1 test -p 5300 @10.53.0.4 > dig.out1 || ret=1
-$DIG ixfr=1 +notcp test -p 5300 @10.53.0.4 > dig.out2 || ret=1
+$DIG $DIGOPTS +notcp ixfr=1 test @10.53.0.4 > dig.out1 || ret=1
+$DIG $DIGOPTS ixfr=1 +notcp test @10.53.0.4 > dig.out2 || ret=1
$PERL ../digcomp.pl dig.out1 dig.out2 || ret=1
awk '$4 == "SOA" { soacnt++} END {if (soacnt == 1) exit(0); else exit(1);}' dig.out1 || ret=1
awk '$4 == "SOA" { if ($7 == 4) exit(0); else exit(1);}' dig.out1 || ret=1
# Should be incremental transfer.
-$DIG ixfr=1 test -p 5300 @10.53.0.4 > dig.out3 || ret=1
+$DIG $DIGOPTS ixfr=1 test @10.53.0.4 > dig.out3 || ret=1
awk '$4 == "SOA" { soacnt++} END { if (soacnt == 6) exit(0); else exit(1);}' dig.out3 || ret=1
if [ ${ret} != 0 ]; then
- echo "I:failed";
+ echo_i "failed";
status=1;
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# PERFORMANCE OF THIS SOFTWARE.
rm -f dig.out.*
-rm -f ns1/named.conf
+rm -f ns?/named.conf
rm -f ns?/named.memstats
rm -f ns?/named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
type master;
file "root.db";
};
-
-include "trusted.conf";
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
type master;
file "root.db";
};
+
+include "trusted.conf";
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
-echo "I:sign edns512"
+echo_i "sign edns512"
zone=edns512
infile=edns512.db.in
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
-echo "I:sign edns512-notcp"
+echo_i "sign edns512-notcp"
zone=edns512-notcp
infile=edns512-notcp.db.in
#!/bin/sh
#
-# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-cp -f ns1/named1.conf ns1/named.conf
+$SHELL clean.sh
+
+copy_setports ns1/named1.conf.in ns1/named.conf
+
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+copy_setports ns7/named.conf.in ns7/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
status=0
n=0
n=`expr $n + 1`
-echo "I:checking drop edns server setup ($n)"
+echo_i "checking drop edns server setup ($n)"
ret=0
-$DIG +edns @10.53.0.2 -p 5300 dropedns soa > dig.out.1.test$n
+$DIG $DIGOPTS +edns @10.53.0.2 dropedns soa > dig.out.1.test$n
grep "connection timed out; no servers could be reached" dig.out.1.test$n > /dev/null || ret=1
-$DIG +noedns @10.53.0.2 -p 5300 dropedns soa > dig.out.2.test$n || ret=1
+$DIG $DIGOPTS +noedns @10.53.0.2 dropedns soa > dig.out.2.test$n || ret=1
grep "status: NOERROR" dig.out.2.test$n > /dev/null || ret=1
grep "EDNS: version:" dig.out.2.test$n > /dev/null && ret=1
-$DIG +noedns +tcp @10.53.0.2 -p 5300 dropedns soa > dig.out.3.test$n || ret=1
+$DIG $DIGOPTS +noedns +tcp @10.53.0.2 dropedns soa > dig.out.3.test$n || ret=1
grep "status: NOERROR" dig.out.3.test$n > /dev/null || ret=1
grep "EDNS: version:" dig.out.3.test$n > /dev/null && ret=1
-$DIG +edns +tcp @10.53.0.2 -p 5300 dropedns soa > dig.out.4.test$n
+$DIG $DIGOPTS +edns +tcp @10.53.0.2 dropedns soa > dig.out.4.test$n
grep "connection timed out; no servers could be reached" dig.out.4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to drop edns server succeeds ($n)"
+echo_i "checking recursive lookup to drop edns server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 dropedns soa > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 dropedns soa > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking drop edns + no tcp server setup ($n)"
+echo_i "checking drop edns + no tcp server setup ($n)"
ret=0
-$DIG +edns @10.53.0.3 -p 5300 dropedns-notcp soa > dig.out.1.test$n
+$DIG $DIGOPTS +edns @10.53.0.3 dropedns-notcp soa > dig.out.1.test$n
grep "connection timed out; no servers could be reached" dig.out.1.test$n > /dev/null || ret=1
-$DIG +noedns +tcp @10.53.0.3 -p 5300 dropedns-notcp soa > dig.out.2.test$n
+$DIG $DIGOPTS +noedns +tcp @10.53.0.3 dropedns-notcp soa > dig.out.2.test$n
grep "connection timed out; no servers could be reached" dig.out.2.test$n > /dev/null
-$DIG +noedns @10.53.0.3 -p 5300 dropedns-notcp soa > dig.out.3.test$n || ret=1
+$DIG $DIGOPTS +noedns @10.53.0.3 dropedns-notcp soa > dig.out.3.test$n || ret=1
grep "status: NOERROR" dig.out.3.test$n > /dev/null || ret=1
grep "EDNS: version:" dig.out.3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to drop edns + no tcp server succeeds ($n)"
+echo_i "checking recursive lookup to drop edns + no tcp server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 dropedns-notcp soa > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 dropedns-notcp soa > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking plain dns server setup ($n)"
+echo_i "checking plain dns server setup ($n)"
ret=0
-$DIG +edns @10.53.0.4 -p 5300 plain soa > dig.out.1.test$n || ret=1
+$DIG $DIGOPTS +edns @10.53.0.4 plain soa > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
grep "EDNS: version:" dig.out.1.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to plain dns server succeeds ($n)"
+echo_i "checking recursive lookup to plain dns server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 plain soa > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 plain soa > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking plain dns + no tcp server setup ($n)"
+echo_i "checking plain dns + no tcp server setup ($n)"
ret=0
-$DIG +edns @10.53.0.5 -p 5300 plain-notcp soa > dig.out.1.test$n || ret=1
+$DIG $DIGOPTS +edns @10.53.0.5 plain-notcp soa > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
grep "EDNS: version:" dig.out.1.test$n > /dev/null && ret=1
-$DIG +edns +tcp @10.53.0.5 -p 5300 plain-notcp soa > dig.out.2.test$n
+$DIG $DIGOPTS +edns +tcp @10.53.0.5 plain-notcp soa > dig.out.2.test$n
grep "connection timed out; no servers could be reached" dig.out.2.test$n > /dev/null
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to plain dns + no tcp server succeeds ($n)"
+echo_i "checking recursive lookup to plain dns + no tcp server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 plain-notcp soa > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 plain-notcp soa > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking edns 512 server setup ($n)"
+echo_i "checking edns 512 server setup ($n)"
ret=0
-$DIG +edns @10.53.0.6 -p 5300 edns512 soa > dig.out.1.test$n || ret=1
+$DIG $DIGOPTS +edns @10.53.0.6 edns512 soa > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
-$DIG +edns +tcp @10.53.0.6 -p 5300 edns512 soa > dig.out.2.test$n || ret=1
+$DIG $DIGOPTS +edns +tcp @10.53.0.6 edns512 soa > dig.out.2.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
-$DIG +edns @10.53.0.6 -p 5300 txt500.edns512 txt > dig.out.3.test$n
+$DIG $DIGOPTS +edns @10.53.0.6 txt500.edns512 txt > dig.out.3.test$n
grep "connection timed out; no servers could be reached" dig.out.3.test$n > /dev/null
-$DIG +edns +bufsize=512 +ignor @10.53.0.6 -p 5300 txt500.edns512 txt > dig.out.4.test$n
+$DIG $DIGOPTS +edns +bufsize=512 +ignor @10.53.0.6 txt500.edns512 txt > dig.out.4.test$n
grep "status: NOERROR" dig.out.4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to edns 512 server succeeds ($n)"
+echo_i "checking recursive lookup to edns 512 server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 txt500.edns512 txt > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 txt500.edns512 txt > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking edns 512 + no tcp server setup ($n)"
+echo_i "checking edns 512 + no tcp server setup ($n)"
ret=0
-$DIG +noedns @10.53.0.7 -p 5300 edns512-notcp soa > dig.out.1.test$n || ret=1
+$DIG $DIGOPTS +noedns @10.53.0.7 edns512-notcp soa > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
-$DIG +noedns +tcp @10.53.0.7 -p 5300 edns512-notcp soa > dig.out.2.test$n
+$DIG $DIGOPTS +noedns +tcp @10.53.0.7 edns512-notcp soa > dig.out.2.test$n
grep "connection timed out; no servers could be reached" dig.out.2.test$n > /dev/null
-$DIG +edns @10.53.0.7 -p 5300 edns512-notcp soa > dig.out.3.test$n
+$DIG $DIGOPTS +edns @10.53.0.7 edns512-notcp soa > dig.out.3.test$n
grep "connection timed out; no servers could be reached" dig.out.3.test$n > /dev/null
-$DIG +edns +bufsize=512 +ignor @10.53.0.7 -p 5300 edns512-notcp soa > dig.out.4.test$n
+$DIG $DIGOPTS +edns +bufsize=512 +ignor @10.53.0.7 edns512-notcp soa > dig.out.4.test$n
grep "status: NOERROR" dig.out.4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking recursive lookup to edns 512 + no tcp server succeeds ($n)"
+echo_i "checking recursive lookup to edns 512 + no tcp server succeeds ($n)"
ret=0
-$DIG +tcp @10.53.0.1 -p 5300 edns512-notcp soa > dig.out.test$n || ret=1
+$DIG $DIGOPTS +tcp @10.53.0.1 edns512-notcp soa > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if $SHELL ../testcrypto.sh > /dev/null 2>&1
then
$PERL $SYSTEMTESTTOP/stop.pl . ns1
- cp -f ns1/named2.conf ns1/named.conf
+ copy_setports ns1/named2.conf.in ns1/named.conf
- $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns1
n=`expr $n + 1`
- echo "I:checking recursive lookup to edns 512 + no tcp + trust anchor fails ($n)"
+ echo_i "checking recursive lookup to edns 512 + no tcp + trust anchor fails ($n)"
ret=0
- $DIG +tcp @10.53.0.1 -p 5300 edns512-notcp soa > dig.out.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.1 edns512-notcp soa > dig.out.test$n
grep "status: SERVFAIL" dig.out.test$n > /dev/null ||
grep "connection timed out;" dig.out.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
- echo "I:skipping checking recursive lookup to edns 512 + no tcp + trust anchor fails as crypto not enabled"
+ echo_i "skipping checking recursive lookup to edns 512 + no tcp + trust anchor fails as crypto not enabled"
fi
-
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.11 2007/09/26 03:22:44 marka Exp $
-
#
# Clean up after limits tests.
#
rm -f dig.out.*
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.14 2007/06/19 23:47:03 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.19 2011/11/04 23:46:15 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
status=0
-echo "I:1000 A records"
-$DIG +tcp +norec 1000.example. @10.53.0.1 a -p 5300 > dig.out.1000 || status=1
-#dig 1000.example. @10.53.0.1 a -p 5300 > knowngood.dig.out.1000
+echo_i "1000 A records"
+$DIG $DIGOPTS +tcp +norec 1000.example. @10.53.0.1 a > dig.out.1000 || status=1
+# $DIG $DIGOPTS 1000.example. @10.53.0.1 a > knowngood.dig.out.1000
$PERL ../digcomp.pl knowngood.dig.out.1000 dig.out.1000 || status=1
-echo "I:2000 A records"
-$DIG +tcp +norec 2000.example. @10.53.0.1 a -p 5300 > dig.out.2000 || status=1
-#dig 2000.example. @10.53.0.1 a -p 5300 > knowngood.dig.out.2000
+echo_i "2000 A records"
+$DIG $DIGOPTS +tcp +norec 2000.example. @10.53.0.1 a > dig.out.2000 || status=1
+# $DIG $DIGOPTS 2000.example. @10.53.0.1 a > knowngood.dig.out.2000
$PERL ../digcomp.pl knowngood.dig.out.2000 dig.out.2000 || status=1
-echo "I:3000 A records"
-$DIG +tcp +norec 3000.example. @10.53.0.1 a -p 5300 > dig.out.3000 || status=1
-#dig 3000.example. @10.53.0.1 a -p 5300 > knowngood.dig.out.3000
+echo_i "3000 A records"
+$DIG $DIGOPTS +tcp +norec 3000.example. @10.53.0.1 a > dig.out.3000 || status=1
+# $DIG $DIGOPTS 3000.example. @10.53.0.1 a > knowngood.dig.out.3000
$PERL ../digcomp.pl knowngood.dig.out.3000 dig.out.3000 || status=1
-echo "I:4000 A records"
-$DIG +tcp +norec 4000.example. @10.53.0.1 a -p 5300 > dig.out.4000 || status=1
-#dig 4000.example. @10.53.0.1 a -p 5300 > knowngood.dig.out.4000
+echo_i "4000 A records"
+$DIG $DIGOPTS +tcp +norec 4000.example. @10.53.0.1 a > dig.out.4000 || status=1
+# $DIG $DIGOPTS 4000.example. @10.53.0.1 a > knowngood.dig.out.4000
$PERL ../digcomp.pl knowngood.dig.out.4000 dig.out.4000 || status=1
-echo "I:exactly maximum rrset"
-$DIG +tcp +norec +noedns a-maximum-rrset.example. @10.53.0.1 a -p 5300 > dig.out.a-maximum-rrset \
+echo_i "exactly maximum rrset"
+$DIG $DIGOPTS +tcp +norec +noedns a-maximum-rrset.example. @10.53.0.1 a > dig.out.a-maximum-rrset \
|| status=1
-#dig a-maximum-rrset.example. @10.53.0.1 a -p 5300 > knowngood.dig.out.a-maximum-rrset
+# $DIG $DIGOPTS a-maximum-rrset.example. @10.53.0.1 a > knowngood.dig.out.a-maximum-rrset
$PERL ../digcomp.pl knowngood.dig.out.a-maximum-rrset dig.out.a-maximum-rrset || status=1
-echo "I:exceed maximum rrset (5000 A records)"
-$DIG +tcp +norec +noadd 5000.example. @10.53.0.1 a -p 5300 > dig.out.exceed || status=1
+echo_i "exceed maximum rrset (5000 A records)"
+$DIG $DIGOPTS +tcp +norec +noadd 5000.example. @10.53.0.1 a > dig.out.exceed || status=1
# Look for truncation bit (tc).
grep 'flags: .*tc.*;' dig.out.exceed > /dev/null || {
- echo "I:TC bit was not set"
+ echo_i "TC bit was not set"
status=1
}
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.4 2011/03/22 16:51:50 smann Exp $
-
#
# Clean up after log file tests
#
+rm -f ns1/rndc.conf
+rm -f ns1/controls.conf
+rm -f ns1/named.conf
rm -f ns1/named.pid ns1/named.run
rm -f ns1/named.memstats ns1/dig.out
rm -f ns1/named_log ns1/named_pipe ns1/named_sym
-rm -f ns1/named.conf
rm -rf ns1/named_dir
rm -f ns1/query_log
rm -f ns1/rndc.out.test*
--- /dev/null
+/*
+ * Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+controls {
+ inet 127.0.0.1 port @CONTROLPORT@
+ allow { 127.0.0.1/32; ::1/128; }
+ keys { "rndc-key"; };
+};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.dirconf,v 1.2 2011/03/04 14:43:57 smann Exp $ */
-
options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
- listen-on-v6 { none; };
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
recursion no;
notify yes;
};
category lame-servers { null; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-md5;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.pipeconf,v 1.2 2011/03/04 14:43:57 smann Exp $ */
-
options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
- listen-on-v6 { none; };
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
recursion no;
notify yes;
};
category lame-servers { null; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-md5;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.plain,v 1.2 2011/03/04 14:43:57 smann Exp $ */
-
options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
- listen-on-v6 { none; };
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
recursion no;
notify yes;
};
category lame-servers { null; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-md5;
secret "Am9vCg==";
};
-
zone "." {
type master;
file "root.db";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.symconf,v 1.2 2011/03/04 14:43:57 smann Exp $ */
-
options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
- listen-on-v6 { none; };
+ query-source address 10.53.0.1;
+ notify-source 10.53.0.1;
+ transfer-source 10.53.0.1;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.1; };
+ listen-on-v6 { none; };
recursion no;
notify yes;
};
category lame-servers { null; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-md5;
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
+ listen-on { 10.53.0.1; };
listen-on-v6 { none; };
recursion no;
notify yes;
category queries { query_log; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-sha256;
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
- listen-on port 5300 {
- 10.53.0.1;
- };
+ listen-on { 10.53.0.1; };
listen-on-v6 { none; };
recursion no;
notify yes;
category queries { query_log; };
};
-controls {
- inet 127.0.0.1 port 9593 allow {
- 127.0.0.1/32; ::1/128; }
- keys { "rndc-key"; };
-};
+include "controls.conf";
key "rndc-key" {
algorithm hmac-sha256;
server 127.0.0.1 {
key "rndc-key";
- addresses { 127.0.0.1 port 9593; };
+ addresses { 127.0.0.1 port @CONTROLPORT@; };
};
key "rndc-key" {
$SHELL clean.sh
-cp ns1/named.plain ns1/named.conf
+copy_setports ns1/named.plain ns1/named.conf
+copy_setports ns1/rndc.conf.in ns1/rndc.conf
+copy_setports ns1/controls.conf.in ns1/controls.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.4 2011/03/22 16:51:50 smann Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
THISDIR=`pwd`
CONFDIR="ns1"
+
PLAINCONF="${THISDIR}/${CONFDIR}/named.plain"
-DIRCONF="${THISDIR}/${CONFDIR}/named.dirconf"
-PIPECONF="${THISDIR}/${CONFDIR}/named.pipeconf"
-SYMCONF="${THISDIR}/${CONFDIR}/named.symconf"
-VERSCONF="${THISDIR}/${CONFDIR}/named.versconf"
-UNLIMITEDCONF="${THISDIR}/${CONFDIR}/named.unlimited"
PLAINFILE="named_log"
+DIRCONF="${THISDIR}/${CONFDIR}/named.dirconf"
DIRFILE="named_dir"
+PIPECONF="${THISDIR}/${CONFDIR}/named.pipeconf"
PIPEFILE="named_pipe"
+SYMCONF="${THISDIR}/${CONFDIR}/named.symconf"
SYMFILE="named_sym"
-VERSFILE="named_vers"
+UNLIMITEDCONF="${THISDIR}/${CONFDIR}/named.unlimited"
UNLIMITEDFILE="named_unlimited"
+DLFILE="named_deflog"
+
PIDFILE="${THISDIR}/${CONFDIR}/named.pid"
myRNDC="$RNDC -c ${THISDIR}/${CONFDIR}/rndc.conf"
myNAMED="$NAMED -c ${THISDIR}/${CONFDIR}/named.conf -m record,size,mctx -T clienttest -T nosyslog -d 99 -U 4"
cd $CONFDIR
-echo "I:testing log file validity (named -g + only plain files allowed)"
+echo_i "testing log file validity (named -g + only plain files allowed)"
n=`expr $n + 1`
-echo "I: testing plain file (named -g) ($n)"
+echo_i "testing plain file (named -g) ($n)"
# First run with a known good config.
echo > $PLAINFILE
-cp $PLAINCONF named.conf
+copy_setports $PLAINCONF named.conf
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "reloading configuration failed" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing plain file succeeded"
+ echo_i "testing plain file succeeded"
else
- echo "I: testing plain file failed (unexpected)"
- echo "I:exit status: 1"
+ echo_i "testing plain file failed (unexpected)"
+ echo_i "exit status: 1"
exit 1
fi
# Now try directory, expect failure
n=`expr $n + 1`
-echo "I: testing directory as log file (named -g) ($n)"
+echo_i "testing directory as log file (named -g) ($n)"
echo > named.run
rm -rf $DIRFILE
mkdir -p $DIRFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $DIRCONF named.conf
+ copy_setports $DIRCONF named.conf
echo > named.run
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "checking logging configuration failed: invalid file" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing directory as file succeeded (UNEXPECTED)"
- echo "I:exit status: 1"
+ echo_i "testing directory as file succeeded (UNEXPECTED)"
+ echo_i "exit status: 1"
exit 1
else
- echo "I: testing directory as log file failed (expected)"
+ echo_i "testing directory as log file failed (expected)"
fi
else
- echo "I: skipping directory test (unable to create directory)"
+ echo_i "skipping directory test (unable to create directory)"
fi
# Now try pipe file, expect failure
n=`expr $n + 1`
-echo "I: testing pipe file as log file (named -g) ($n)"
+echo_i "testing pipe file as log file (named -g) ($n)"
echo > named.run
rm -f $PIPEFILE
mkfifo $PIPEFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $PIPECONF named.conf
+ copy_setports $PIPECONF named.conf
echo > named.run
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "checking logging configuration failed: invalid file" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing pipe file as log file succeeded (UNEXPECTED)"
- echo "I:exit status: 1"
+ echo_i "testing pipe file as log file succeeded (UNEXPECTED)"
+ echo_i "exit status: 1"
exit 1
else
- echo "I: testing pipe file as log file failed (expected)"
+ echo_i "testing pipe file as log file failed (expected)"
fi
else
- echo "I: skipping pipe test (unable to create pipe)"
+ echo_i "skipping pipe test (unable to create pipe)"
fi
# Now try symlink file to plain file, expect success
n=`expr $n + 1`
-echo "I: testing symlink to plain file as log file (named -g) ($n)"
+echo_i "testing symlink to plain file as log file (named -g) ($n)"
# Assume success
echo > named.run
echo > $PLAINFILE
ln -s $PLAINFILE $SYMFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $SYMCONF named.conf
+ copy_setports $SYMCONF named.conf
$myRNDC reconfig > rndc.out.test$n 2>&1
echo > named.run
grep "reloading configuration failed" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing symlink to plain file succeeded"
+ echo_i "testing symlink to plain file succeeded"
else
- echo "I: testing symlink to plain file failed (unexpected)"
- echo "I:exit status: 1"
+ echo_i "testing symlink to plain file failed (unexpected)"
+ echo_i "exit status: 1"
exit 1
fi
else
- echo "I: skipping symlink test (unable to create symlink)"
+ echo_i "skipping symlink test (unable to create symlink)"
fi
# Stop the server and run through a series of tests with various config
# files while controlling the stop/start of the server.
if [ $? -ne 0 ]
then
- echo "I:failed to start $myNAMED"
- echo "I:exit status: $status"
+ echo_i "failed to start $myNAMED"
+ echo_i "exit status: $status"
exit $status
fi
status=0
-echo "I:testing log file validity (only plain files allowed)"
+echo_i "testing log file validity (only plain files allowed)"
n=`expr $n + 1`
-echo "I: testing plain file (named -g) ($n)"
+echo_i "testing plain file (named -g) ($n)"
# First run with a known good config.
echo > $PLAINFILE
-cp $PLAINCONF named.conf
+copy_setports $PLAINCONF named.conf
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "reloading configuration failed" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing plain file succeeded"
+ echo_i "testing plain file succeeded"
else
- echo "I: testing plain file failed (unexpected)"
- echo "I:exit status: 1"
+ echo_i "testing plain file failed (unexpected)"
+ echo_i "exit status: 1"
exit 1
fi
# Now try directory, expect failure
n=`expr $n + 1`
-echo "I: testing directory as log file ($n)"
+echo_i "testing directory as log file ($n)"
echo > named.run
rm -rf $DIRFILE
mkdir -p $DIRFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $DIRCONF named.conf
+ copy_setports $DIRCONF named.conf
echo > named.run
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "configuring logging: invalid file" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing directory as file succeeded (UNEXPECTED)"
- echo "I:exit status: 1"
+ echo_i "testing directory as file succeeded (UNEXPECTED)"
+ echo_i "exit status: 1"
exit 1
else
- echo "I: testing directory as log file failed (expected)"
+ echo_i "testing directory as log file failed (expected)"
fi
else
- echo "I: skipping directory test (unable to create directory)"
+ echo_i "skipping directory test (unable to create directory)"
fi
# Now try pipe file, expect failure
n=`expr $n + 1`
-echo "I: testing pipe file as log file ($n)"
+echo_i "testing pipe file as log file ($n)"
echo > named.run
rm -f $PIPEFILE
mkfifo $PIPEFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $PIPECONF named.conf
+ copy_setports $PIPECONF named.conf
echo > named.run
$myRNDC reconfig > rndc.out.test$n 2>&1
grep "configuring logging: invalid file" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing pipe file as log file succeeded (UNEXPECTED)"
- echo "I:exit status: 1"
+ echo_i "testing pipe file as log file succeeded (UNEXPECTED)"
+ echo_i "exit status: 1"
exit 1
else
- echo "I: testing pipe file as log file failed (expected)"
+ echo_i "testing pipe file as log file failed (expected)"
fi
else
- echo "I: skipping pipe test (unable to create pipe)"
+ echo_i "skipping pipe test (unable to create pipe)"
fi
# Now try symlink file to plain file, expect success
n=`expr $n + 1`
-echo "I: testing symlink to plain file as log file ($n)"
+echo_i "testing symlink to plain file as log file ($n)"
# Assume success
status=0
echo > named.run
ln -s $PLAINFILE $SYMFILE >/dev/null 2>&1
if [ $? -eq 0 ]
then
- cp $SYMCONF named.conf
+ copy_setports $SYMCONF named.conf
$myRNDC reconfig > rndc.out.test$n 2>&1
echo > named.run
grep "reloading configuration failed" named.run > /dev/null 2>&1
if [ $? -ne 0 ]
then
- echo "I: testing symlink to plain file succeeded"
+ echo_i "testing symlink to plain file succeeded"
else
- echo "I: testing symlink to plain file failed (unexpected)"
- echo "I:exit status: 1"
+ echo_i "testing symlink to plain file failed (unexpected)"
+ echo_i "exit status: 1"
exit 1
fi
else
- echo "I: skipping symlink test (unable to create symlink)"
+ echo_i "skipping symlink test (unable to create symlink)"
fi
-echo "I:testing logging functionality"
+echo_i "testing logging functionality"
n=`expr $n + 1`
-echo "I: testing explicit versions ($n)"
+echo_i "testing explicit versions ($n)"
cp $VERSCONF named.conf
# a seconds since epoch version number
touch $VERSFILE.1480039317
t1=`$PERL -e 'print time()."\n";'`
$myRNDC reconfig > rndc.out.test$n 2>&1
-$DIG version.bind txt ch @10.53.0.1 -p 5300 > dig.out.test$n
+$DIG version.bind txt ch @10.53.0.1 -p ${PORT} > dig.out.test$n
t2=`$PERL -e 'print time()."\n";'`
t=`expr ${t2:-0} - ${t1:-0}`
if test ${t:-1000} -gt 5
then
- echo "I: testing explicit versions failed: cleanup of old entries took too long ($t secs)"
+ echo_i "testing explicit versions failed: cleanup of old entries took too long ($t secs)"
status=`expr $status + 1`
fi
if ! grep "status: NOERROR" dig.out.test$n > /dev/null
then
- echo "I: testing explicit versions failed: DiG lookup failed"
+ echo_i "testing explicit versions failed: DiG lookup failed"
status=`expr $status + 1`
fi
if test_with_retry -f $VERSFILE.1480039317
then
- echo "I: testing explicit versions failed: $VERSFILE.1480039317 not removed"
+ echo_i "testing explicit versions failed: $VERSFILE.1480039317 not removed"
status=`expr $status + 1`
fi
if test_with_retry -f $VERSFILE.5
then
- echo "I: testing explicit versions failed: $VERSFILE.5 exists"
+ echo_i "testing explicit versions failed: $VERSFILE.5 exists"
status=`expr $status + 1`
fi
if test_with_retry ! -f $VERSFILE.4
then
- echo "I: testing explicit versions failed: $VERSFILE.4 does not exist"
+ echo_i "testing explicit versions failed: $VERSFILE.4 does not exist"
status=`expr $status + 1`
fi
n=`expr $n + 1`
-echo "I: testing unlimited versions ($n)"
+echo_i "testing unlimited versions ($n)"
cp $UNLIMITEDCONF named.conf
# a seconds since epoch version number
touch $UNLIMITEDFILE.1480039317
t1=`$PERL -e 'print time()."\n";'`
$myRNDC reconfig > rndc.out.test$n 2>&1
-$DIG version.bind txt ch @10.53.0.1 -p 5300 > dig.out.test$n
+$DIG version.bind txt ch @10.53.0.1 -p ${PORT} > dig.out.test$n
t2=`$PERL -e 'print time()."\n";'`
t=`expr ${t2:-0} - ${t1:-0}`
if test ${t:-1000} -gt 5
then
- echo "I: testing unlimited versions failed: took too long ($t secs)"
+ echo_i "testing unlimited versions failed: took too long ($t secs)"
status=`expr $status + 1`
fi
if ! grep "status: NOERROR" dig.out.test$n > /dev/null
then
- echo "I: testing unlimited versions failed: DiG lookup failed"
+ echo_i "testing unlimited versions failed: DiG lookup failed"
status=`expr $status + 1`
fi
if test_with_retry ! -f $UNLIMITEDFILE.1480039317
then
- echo "I: testing unlimited versions failed: $UNLIMITEDFILE.1480039317 removed"
+ echo_i "testing unlimited versions failed: $UNLIMITEDFILE.1480039317 removed"
status=`expr $status + 1`
fi
if test_with_retry ! -f $UNLIMITEDFILE.4
then
- echo "I: testing unlimited versions failed: $UNLIMITEDFILE.4 does not exist"
+ echo_i "testing unlimited versions failed: $UNLIMITEDFILE.4 does not exist"
status=`expr $status + 1`
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f checkzone.out*
rm -f dig.out.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2007/06/19 23:47:04 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2010/09/15 03:32:34 marka Exp $ */
-
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
type master;
file "missing.db";
};
-
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.7 2010/09/15 12:38:35 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
status=0
n=0
ret=0
n=`expr $n + 1`
-echo "I:test master file \$INCLUDE semantics ($n)"
-$DIG +nostats +nocmd include. axfr @10.53.0.1 -p 5300 >dig.out.$n
+echo_i "test master file \$INCLUDE semantics ($n)"
+$DIG $DIGOPTS +nostats +nocmd include. axfr @10.53.0.1 >dig.out.$n
-echo "I:test master file BIND 8 compatibility TTL and \$TTL semantics ($n)"
-$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out.$n
+echo_i "test master file BIND 8 compatibility TTL and \$TTL semantics ($n)"
+$DIG $DIGOPTS +nostats +nocmd ttl2. axfr @10.53.0.1 >>dig.out.$n
-echo "I:test of master file RFC1035 TTL and \$TTL semantics ($n)"
-$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out.$n
+echo_i "test of master file RFC1035 TTL and \$TTL semantics ($n)"
+$DIG $DIGOPTS +nostats +nocmd ttl2. axfr @10.53.0.1 >>dig.out.$n
-diff dig.out.$n knowngood.dig.out || status=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$DIFF dig.out.$n knowngood.dig.out || status=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
ret=0
n=`expr $n + 1`
-echo "I:test that the nameserver is running with a missing master file ($n)"
-$DIG +tcp +noall +answer example soa @10.53.0.2 -p 5300 > dig.out.$n
+echo_i "test that the nameserver is running with a missing master file ($n)"
+$DIG $DIGOPTS +tcp +noall +answer example soa @10.53.0.2 > dig.out.$n
grep SOA dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
ret=0
n=`expr $n + 1`
-echo "I:test that the nameserver returns SERVFAIL for a missing master file ($n)"
-$DIG +tcp +all missing soa @10.53.0.2 -p 5300 > dig.out.$n
+echo_i "test that the nameserver returns SERVFAIL for a missing master file ($n)"
+$DIG $DIGOPTS +tcp +all missing soa @10.53.0.2 > dig.out.$n
grep "status: SERVFAIL" dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
ret=0
n=`expr $n + 1`
-echo "I:test owner inheritence after "'$INCLUDE'" ($n)"
+echo_i "test owner inheritence after "'$INCLUDE'" ($n)"
$CHECKZONE -Dq example zone/inheritownerafterinclude.db > checkzone.out$n
-diff checkzone.out$n zone/inheritownerafterinclude.good || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$DIFF checkzone.out$n zone/inheritownerafterinclude.good || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f dig.out.*
rm -f dig.out
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f ns2/example.db
rm -f ns2/transfer.db.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS1
-controls { /* empty */ };
-
options {
pid-file "named.pid";
- listen-on port 5300 { 10.53.0.1; };
- port 5300;
+ listen-on port @PORT@ { 10.53.0.1; };
+ port @PORT@;
listen-on-v6 { none; };
recursion no;
notify no;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS2
-controls { /* empty */ };
-
options {
pid-file "named.pid";
- listen-on port 5300 { 10.53.0.2; };
+ listen-on port @PORT@ { 10.53.0.2; };
listen-on-v6 { none; };
- port 5300;
+ port @PORT@;
recursion no;
notify no;
dnssec-enable yes;
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
rm -f named-compilezone
ln -s $CHECKZONE named-compilezone
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
}' < $1
}
-DIGOPTS="+tcp +noauth +noadd +nosea +nostat +noquest +nocomm +nocmd"
+DIGOPTS="+tcp +noauth +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
status=0
-echo "I:checking that master files in raw format loaded"
+echo_i "checking that master files in raw format loaded"
ret=0
for zone in example example-explicit example-compat; do
for server in 1 2; do
for name in ns mx a aaaa cname dname txt rrsig nsec \
dnskey ds cdnskey cds; do
- $DIG $DIGOPTS $name.$zone. $name @10.53.0.$server -p 5300
+ $DIG $DIGOPTS $name.$zone. $name @10.53.0.$server
echo
done > dig.out.$zone.$server
done
$PERL ../digcomp.pl dig.out.$zone.1 dig.out.$zone.2 || ret=1
done
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking raw format versions"
+echo_i "checking raw format versions"
ret=0
israw ns1/example.db.raw || ret=1
israw ns1/example.db.raw1 || ret=1
[ "`rawversion ns1/example.db.raw`" = 1 ] || ret=1
[ "`rawversion ns1/example.db.raw1`" = 1 ] || ret=1
[ "`rawversion ns1/example.db.compat`" = 0 ] || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking source serial numbers"
+echo_i "checking source serial numbers"
ret=0
[ "`sourceserial ns1/example.db.raw`" = "UNSET" ] || ret=1
[ "`sourceserial ns1/example.db.serial.raw`" = "3333" ] || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:waiting for transfers to complete"
+echo_i "waiting for transfers to complete"
for i in 0 1 2 3 4 5 6 7 8 9
do
test -f ns2/transfer.db.raw -a -f ns2/transfer.db.txt && break
sleep 1
done
-echo "I:checking that slave was saved in raw format by default"
+echo_i "checking that slave was saved in raw format by default"
ret=0
israw ns2/transfer.db.raw || ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking that slave was saved in text format when configured"
+echo_i "checking that slave was saved in text format when configured"
ret=0
israw ns2/transfer.db.txt && ret=1
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking that slave formerly in text format is now raw"
+echo_i "checking that slave formerly in text format is now raw"
for i in 0 1 2 3 4 5 6 7 8 9
do
ret=0
[ $ret -eq 0 ] && break
sleep 1
done
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking that large rdatasets loaded"
+echo_i "checking that large rdatasets loaded"
for i in 0 1 2 3 4 5 6 7 8 9
do
ret=0
for a in a b c
do
- $DIG +tcp txt ${a}.large @10.53.0.2 -p 5300 > dig.out
+ $DIG +tcp txt ${a}.large @10.53.0.2 -p ${PORT} > dig.out
grep "status: NOERROR" dig.out > /dev/null || ret=1
done
[ $ret -eq 0 ] && break
sleep 1
done
-[ $ret -eq 0 ] || echo "I:failed"
+[ $ret -eq 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
pzone=parent.nil
czone=child.parent.nil
-echo "I:generating keys"
+echo_i "generating keys"
# active zsk
zsk=`$KEYGEN -q -r $RANDFILE $czone`
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.9 2011/07/08 01:43:26 each Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
status=0
n=1
-echo "I:setting key timers"
+echo_i "setting key timers"
$SETTIME -A now+15s `cat rolling.key` > /dev/null
inact=`sed 's/^K'${czone}'.+005+0*\([0-9]\)/\1/' < inact.key`
../../../tools/genrandom 400 $RANDFILE
-echo "I:signing zones"
+echo_i "signing zones"
$SIGNER -Sg -o $czone $cfile > /dev/null 2>&1
$SIGNER -Sg -o $pzone $pfile > /dev/null 2>&1
print flags, id;
}' < ${cfile}.signed > keys
-echo "I:checking that KSK signed DNSKEY only ($n)"
+echo_i "checking that KSK signed DNSKEY only ($n)"
ret=0
grep "DNSKEY $ksk"'$' sigs > /dev/null || ret=1
grep "SOA $ksk"'$' sigs > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that ZSK signed ($n)"
+echo_i "checking that ZSK signed ($n)"
ret=0
grep "SOA $zsk"'$' sigs > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that standby ZSK did not sign ($n)"
+echo_i "checking that standby ZSK did not sign ($n)"
ret=0
grep " $standby"'$' sigs > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that inactive key did not sign ($n)"
+echo_i "checking that inactive key did not sign ($n)"
ret=0
grep " $inact"'$' sigs > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that pending key was not published ($n)"
+echo_i "checking that pending key was not published ($n)"
ret=0
grep " $pending"'$' keys > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that standby KSK did not sign but is delegated ($n)"
+echo_i "checking that standby KSK did not sign but is delegated ($n)"
ret=0
grep " $rolling"'$' sigs > /dev/null && ret=1
grep " $rolling"'$' keys > /dev/null || ret=1
egrep "DS[ ]*$rolling[ ]" ${pfile}.signed > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that key was revoked ($n)"
+echo_i "checking that key was revoked ($n)"
ret=0
grep " $prerev"'$' keys > /dev/null && ret=1
grep " $postrev"'$' keys > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that revoked key self-signed ($n)"
+echo_i "checking that revoked key self-signed ($n)"
ret=0
grep "DNSKEY $postrev"'$' sigs > /dev/null || ret=1
grep "SOA $postrev"'$' sigs > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:waiting 20 seconds for key changes to occur"
+echo_i "waiting 20 seconds for key changes to occur"
sleep 20
-echo "I:re-signing zone"
+echo_i "re-signing zone"
$SIGNER -Sg -o $czone -f ${cfile}.new ${cfile}.signed > /dev/null 2>&1
-echo "I:checking that standby KSK is now active ($n)"
+echo_i "checking that standby KSK is now active ($n)"
ret=0
grep "DNSKEY $rolling"'$' sigs > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking update of an old-style key ($n)"
+echo_i "checking update of an old-style key ($n)"
ret=0
# printing metadata should not work with an old-style key
$SETTIME -pall `cat oldstyle.key` > /dev/null 2>&1 && ret=1
# but now it should
$SETTIME -pall `cat oldstyle.key` > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking warning about permissions change on key with dnssec-settime ($n)"
+echo_i "checking warning about permissions change on key with dnssec-settime ($n)"
uname=`uname -o 2> /dev/null`
if [ Cygwin == "$uname" ]; then
- echo "I: Cygwin detected, skipping"
+ echo_i "Cygwin detected, skipping"
else
ret=0
# settime should print a warning about changing the permissions
$SETTIME -P none `cat oldstyle.key` > settime2.test$n 2>&1 || ret=1
grep "warning: Permissions on the file.*have changed" settime2.test$n > /dev/null 2>&1 && ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:checking warning about delete date < inactive date with dnssec-settime ($n)"
+echo_i "checking warning about delete date < inactive date with dnssec-settime ($n)"
ret=0
# settime should print a warning about delete < inactive
$SETTIME -I now+15s -D now `cat oldstyle.key` > tmp.out 2>&1 || ret=1
grep "warning" tmp.out > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking no warning about delete date < inactive date with dnssec-settime when delete date is unset ($n)"
+echo_i "checking no warning about delete date < inactive date with dnssec-settime when delete date is unset ($n)"
ret=0
$SETTIME -D none `cat oldstyle.key` > tmp.out 2>&1 || ret=1
$SETTIME -p all `cat oldstyle.key` > tmp.out 2>&1 || ret=1
grep "warning" tmp.out > /dev/null 2>&1 && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking warning about delete date < inactive date with dnssec-keygen ($n)"
+echo_i "checking warning about delete date < inactive date with dnssec-keygen ($n)"
ret=0
# keygen should print a warning about delete < inactive
$KEYGEN -q -r $RANDFILE -I now+15s -D now $czone > tmp.out 2>&1 || ret=1
grep "warning" tmp.out > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking correct behavior setting activation without publication date ($n)"
+echo_i "checking correct behavior setting activation without publication date ($n)"
ret=0
key=`$KEYGEN -q -r $RANDFILE -A +1w $czone`
pub=`$SETTIME -upP $key | awk '{print $2}'`
pub=`$SETTIME -upP $key | awk '{print $2}'`
[ $pub = "UNSET" ] || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking calculation of dates for a successor key ($n)"
+echo_i "checking calculation of dates for a successor key ($n)"
ret=0
oldkey=`$KEYGEN -q -r $RANDFILE $czone`
newkey=`$KEYGEN -q -r $RANDFILE $czone`
$SETTIME -i 1d -S $oldkey $newkey > settime2.test$n 2>&1 || ret=1
$SETTIME -pA $newkey | grep "1970" > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.14 2011/10/17 23:46:33 tbox Exp $
-
#
# Clean up after zone transfer tests.
#
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
+rm -f */named.port
rm -f dig.out.?.ns5.test*
rm -f dig.out.ns2.test*
rm -f dig.out.ns3.test*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.17 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.23 2011/12/20 00:06:54 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
masters noport { 10.53.0.4; };
-masters x21 port 5301 { noport; };
+masters x21 port @EXTRAPORT1@ { noport; };
zone x1 { type master; file "generic.db"; also-notify { 10.53.0.3; }; };
zone x2 { type master; file "generic.db"; also-notify { 10.53.0.3; }; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.24 2007/06/18 23:47:29 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
masters { 10.53.0.2; };
file "example.bk";
};
-
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.24 2007/06/18 23:47:29 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5301;
+ port @EXTRAPORT1@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
zone "x21" {
type slave;
- masters { 10.53.0.2 port 5300; };
+ masters { 10.53.0.2 port @PORT@; };
file "x21.bk";
};
--- /dev/null
+@EXTRAPORT1@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.24 2007/06/18 23:47:29 tbox Exp $ */
-
-controls { /* empty */ };
-
key "a" {
algorithm "hmac-md5";
secret "aaaaaaaaaaaaaaaaaaaa";
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.10 2007/06/19 23:47:04 tbox Exp $
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+
+copy_setports ns4/named.port.in ns4/named.port
cp -f ns2/example1.db ns2/example.db
cp -f ns2/generic.db ns2/x21.db
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.36 2011/10/17 01:33:27 marka Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG +tcp example @10.53.0.2 soa -p 5300 > dig.out.ns2.test$n || ret=1
+ $DIG +tcp -p ${PORT} example @10.53.0.2 soa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "flags:.* aa[ ;]" dig.out.ns2.test$n > /dev/null || ret=1
- $DIG +tcp example @10.53.0.3 soa -p 5300 > dig.out.ns3.test$n || ret=1
+ $DIG +tcp -p ${PORT} example @10.53.0.3 soa > dig.out.ns3.test$n || ret=1
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
grep "flags:.* aa[ ;]" dig.out.ns3.test$n > /dev/null || ret=1
[ $ret = 0 ] && break
done
n=`expr $n + 1`
-echo "I:checking initial status ($n)"
+echo_i "checking initial status ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.2 a -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "10.0.0.1" dig.out.ns2.test$n > /dev/null || ret=1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.3 a -p 5300 > dig.out.ns3.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "10.0.0.1" dig.out.ns3.test$n > /dev/null || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
-echo "I:reloading with example2 using HUP and waiting 45 seconds"
+echo_i "reloading with example2 using HUP and waiting up to 45 seconds"
sleep 1 # make sure filesystem time stamp is newer for reload.
rm -f ns2/example.db
cp -f ns2/example2.db ns2/example.db
-kill -HUP `cat ns2/named.pid`
-sleep 45
+echo_i "reloading with example2 using HUP and waiting up to 45 seconds"
+$KILL -HUP `cat ns2/named.pid`
+try=0
+while test $try -lt 45
+do
+ sleep 1
+ grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 2$' ns3/named.run > /dev/null && break
+ try=`expr $try + 1`
+done
n=`expr $n + 1`
-echo "I:checking example2 loaded ($n)"
+echo_i "checking example2 loaded ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.2 a -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "10.0.0.2" dig.out.ns2.test$n > /dev/null || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
n=`expr $n + 1`
-echo "I:checking example2 contents have been transferred after HUP reload ($n)"
+echo_i "checking example2 contents have been transferred after HUP reload ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.2 a -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "10.0.0.2" dig.out.ns2.test$n > /dev/null || ret=1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.3 a -p 5300 > dig.out.ns3.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "10.0.0.2" dig.out.ns3.test$n > /dev/null || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
-echo "I:stopping master and restarting with example4 then waiting 45 seconds"
+echo_i "stopping master and restarting with example4 then waiting up to 45 seconds"
$PERL $SYSTEMTESTTOP/stop.pl . ns2
rm -f ns2/example.db
cp -f ns2/example4.db ns2/example.db
-$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns2
+$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns2
-sleep 45
+try=0
+while test $try -lt 45
+do
+ sleep 1
+ grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 4$' ns3/named.run > /dev/null && break
+ try=`expr $try + 1`
+done
n=`expr $n + 1`
-echo "I:checking example4 loaded ($n)"
+echo_i "checking example4 loaded ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.2 a -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
n=`expr $n + 1`
-echo "I:checking example4 contents have been transfered after restart ($n)"
+echo_i "checking example4 contents have been transfered after restart ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.2 a -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd a.example.\
- @10.53.0.3 a -p 5300 > dig.out.ns3.test$n || ret=1
+$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1
grep "10.0.0.4" dig.out.ns3.test$n > /dev/null || ret=1
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
n=`expr $n + 1`
-echo "I:checking notify to alternate port with master inheritance"
+echo_i "checking notify to alternate port with master inheritance ($n)"
$NSUPDATE << EOF
-server 10.53.0.2 5300
+server 10.53.0.2 ${PORT}
zone x21
update add added.x21 0 in txt "test string"
send
EOF
for i in 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd added.x21.\
- @10.53.0.4 txt -p 5301 > dig.out.ns4.test$n || ret=1
+ $DIG $DIGOPTS added.x21. @10.53.0.4 txt -p $EXTRAPORT1 > dig.out.ns4.test$n || ret=1
grep "test string" dig.out.ns4.test$n > /dev/null && break
sleep 1
done
grep "test string" dig.out.ns4.test$n > /dev/null || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
n=`expr $n + 1`
-echo "I:checking notify to multiple views using tsig"
+echo_i "checking notify to multiple views using tsig ($n)"
ret=0
$NSUPDATE << EOF
-server 10.53.0.5 5300
+server 10.53.0.5 ${PORT}
zone x21
key a aaaaaaaaaaaaaaaaaaaa
update add added.x21 0 in txt "test string"
for i in 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd added.x21.\
- -y b:bbbbbbbbbbbbbbbbbbbb @10.53.0.5 \
- txt -p 5300 > dig.out.b.ns5.test$n || ret=1
- $DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd added.x21.\
- -y c:cccccccccccccccccccc @10.53.0.5 \
- txt -p 5300 > dig.out.c.ns5.test$n || ret=1
+ $DIG $DIGOPTS added.x21. -y b:bbbbbbbbbbbbbbbbbbbb @10.53.0.5 \
+ txt > dig.out.b.ns5.test$n || ret=1
+ $DIG $DIGOPTS added.x21. -y c:cccccccccccccccccccc @10.53.0.5 \
+ txt > dig.out.c.ns5.test$n || ret=1
grep "test string" dig.out.b.ns5.test$n > /dev/null &&
grep "test string" dig.out.c.ns5.test$n > /dev/null &&
break
grep "test string" dig.out.b.ns5.test$n > /dev/null || ret=1
grep "test string" dig.out.c.ns5.test$n > /dev/null || ret=1
-[ $ret = 0 ] || echo "I:failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $ret + $status`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f nslookup.out*
rm -f ns*/named.memstats
rm -f ns*/named.run
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
+
$SHELL ../genzone.sh 1 >ns1/example.db
+
+copy_setports ns1/named.conf.in ns1/named.conf
n=0
n=`expr $n + 1`
-echo "Check that domain names that are too big when applying a search list entry are handled cleanly ($n)"
+echo_i "Check that domain names that are too big when applying a search list entry are handled cleanly ($n)"
ret=0
l=012345678901234567890123456789012345678901234567890123456789012
t=0123456789012345678901234567890123456789012345678901234567890
d=$l.$l.$l.$t
-$NSLOOKUP -port=5300 -domain=$d -type=soa example 10.53.0.1 > nslookup.out${n} || ret=1
+$NSLOOKUP -port=${PORT} -domain=$d -type=soa example 10.53.0.1 > nslookup.out${n} || ret=1
grep "origin = ns1.example" nslookup.out${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
$server_addr = @ARGV[0];
}
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $udpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "udp", Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "udp", Reuse => 1) or die "$!";
-print "listening on $server_addr:5300.\n";
+print "listening on $server_addr:$localport.\n";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
# Clean up after zone transfer tests.
#
+rm -f verylarge
rm -f */named.memstats
rm -f */named.run */ans.run
+rm -f */named.conf
rm -f Kxxx.*
rm -f dig.out.*
rm -f jp.out.ns3.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.22 2011/07/01 02:25:47 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.1; 127.0.0.1; };
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key altkey {
};
masters othermasters {
- 10.53.0.2 port 5300;
- 10.53.0.2 port 5300 key altkey;
+ 10.53.0.2 port @PORT@;
+ 10.53.0.2 port @PORT@ key altkey;
};
zone "update.nil" {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.16 2011/05/06 23:47:29 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2011/02/03 12:18:11 tbox Exp $ */
-
-// NS1
-
-controls { /* empty */ };
+// NS3
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
dnssec-validation yes;
};
-/*
-zone "." {
- type master;
- file "root.db.signed";
-};
-*/
-
-// include "trusted.conf";
-
zone "example" {
type master;
allow-update { any; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.5; };
};
controls {
- inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "local.nil" {
then
:
else
- echo "I:Net::DNS versions 0.69 to 0.70 have bugs that cause this test to fail: please update." >&2
+ echo_i "Net::DNS versions 0.69 to 0.70 have bugs that cause this test to fail: please update." >&2
exit 1
fi
fi
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+
+copy_setports verylarge.in verylarge
+
#
# jnl and database files MUST be removed before we start
#
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
then
break
else
- echo "I:zones are not fully loaded, waiting..."
+ echo_i "zones are not fully loaded, waiting..."
tries=`expr $tries + 1`
sleep 1
fi
done
ret=0
-echo "I:fetching first copy of zone before update"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching first copy of zone before update"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:fetching second copy of zone before update"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching second copy of zone before update"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:comparing pre-update copies to known good data"
+echo_i "comparing pre-update copies to known good data"
$PERL ../digcomp.pl knowngood.ns1.before dig.out.ns1 || ret=1
$PERL ../digcomp.pl knowngood.ns1.before dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:updating zone"
+echo_i "updating zone"
# nsupdate will print a ">" prompt to stdout as it gets each input line.
$NSUPDATE -k ns1/ddns.key <<END > /dev/null || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add updated.example.nil. 600 A 10.10.10.1
add updated.example.nil. 600 TXT Foo
delete t.example.nil.
END
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
-echo "I:sleeping 5 seconds for server to incorporate changes"
+echo_i "sleeping 5 seconds for server to incorporate changes"
sleep 5
ret=0
-echo "I:fetching first copy of zone after update"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching first copy of zone after update"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:fetching second copy of zone after update"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching second copy of zone after update"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:comparing post-update copies to known good data"
+echo_i "comparing post-update copies to known good data"
$PERL ../digcomp.pl knowngood.ns1.after dig.out.ns1 || ret=1
$PERL ../digcomp.pl knowngood.ns1.after dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:testing local update policy"
-pre=`$DIG +short new.other.nil. @10.53.0.1 a -p 5300` || ret=1
+echo_i "testing local update policy"
+pre=`$DIG $DIGOPTS +short new.other.nil. @10.53.0.1 a` || ret=1
[ -z "$pre" ] || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:updating zone"
+echo_i "updating zone"
# nsupdate will print a ">" prompt to stdout as it gets each input line.
-$NSUPDATE -l -p 5300 -k ns1/session.key > /dev/null <<END || ret=1
+$NSUPDATE -l -p ${PORT} -k ns1/session.key > /dev/null <<END || ret=1
zone other.nil.
update add new.other.nil. 600 IN A 10.10.10.1
send
END
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
-echo "I:sleeping 5 seconds for server to incorporate changes"
+echo_i "sleeping 5 seconds for server to incorporate changes"
sleep 5
ret=0
-echo "I:checking result of update"
-post=`$DIG +short new.other.nil. @10.53.0.1 a -p 5300` || ret=1
+echo_i "checking result of update"
+post=`$DIG $DIGOPTS +short new.other.nil. @10.53.0.1 a` || ret=1
[ "$post" = "10.10.10.1" ] || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:comparing post-update copy to known good data"
+echo_i "comparing post-update copy to known good data"
$PERL ../digcomp.pl knowngood.ns1.after dig.out.ns1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:testing zone consistency checks"
+echo_i "testing zone consistency checks"
# inserting an NS record without a corresponding A or AAAA record should fail
-$NSUPDATE -l -p 5300 -k ns1/session.key > nsupdate.out 2>&1 << END && ret=1
+$NSUPDATE -l -p ${PORT} -k ns1/session.key > nsupdate.out 2>&1 << END && ret=1
update add other.nil. 600 in ns ns3.other.nil.
send
END
grep REFUSED nsupdate.out > /dev/null 2>&1 || ret=1
# ...but should work if an A record is inserted first:
-$NSUPDATE -l -p 5300 -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
+$NSUPDATE -l -p ${PORT} -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
update add ns4.other.nil 600 in a 10.53.0.1
send
update add other.nil. 600 in ns ns4.other.nil.
END
grep REFUSED nsupdate.out > /dev/null 2>&1 && ret=1
# ...or if an AAAA record does:
-$NSUPDATE -l -p 5300 -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
+$NSUPDATE -l -p ${PORT} -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
update add ns5.other.nil 600 in aaaa 2001:db8::1
send
update add other.nil. 600 in ns ns5.other.nil.
END
grep REFUSED nsupdate.out > /dev/null 2>&1 && ret=1
# ...or if the NS and A/AAAA are inserted together:
-$NSUPDATE -l -p 5300 -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
+$NSUPDATE -l -p ${PORT} -k ns1/session.key > nsupdate.out 2>&1 << END || ret=1
update add other.nil. 600 in ns ns6.other.nil.
update add ns6.other.nil 600 in a 10.53.0.1
send
END
grep REFUSED nsupdate.out > /dev/null 2>&1 && ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
-echo "I:sleeping 5 seconds for server to incorporate changes"
+echo_i "sleeping 5 seconds for server to incorporate changes"
sleep 5
ret=0
-echo "I:checking result of update"
-$DIG +short @10.53.0.1 -p 5300 ns other.nil > dig.out.ns1 || ret=1
+echo_i "checking result of update"
+$DIG $DIGOPTS +short @10.53.0.1 ns other.nil > dig.out.ns1 || ret=1
grep ns3.other.nil dig.out.ns1 > /dev/null 2>&1 && ret=1
grep ns4.other.nil dig.out.ns1 > /dev/null 2>&1 || ret=1
grep ns5.other.nil dig.out.ns1 > /dev/null 2>&1 || ret=1
grep ns6.other.nil dig.out.ns1 > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:check SIG(0) key is accepted"
+echo_i "check SIG(0) key is accepted"
key=`$KEYGEN -q -r $RANDFILE -a NSEC3RSASHA1 -b 512 -T KEY -n ENTITY xxx`
echo "" | $NSUPDATE -k ${key}.private > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check TYPE=0 update is rejected by nsupdate ($n)"
+echo_i "check TYPE=0 update is rejected by nsupdate ($n)"
$NSUPDATE <<END > nsupdate.out 2>&1 && ret=1
- server 10.53.0.1 5300
+ server 10.53.0.1 ${PORT}
ttl 300
update add example.nil. in type0 ""
send
END
grep "unknown class/type" nsupdate.out > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check TYPE=0 prerequisite is handled ($n)"
+echo_i "check TYPE=0 prerequisite is handled ($n)"
$NSUPDATE -k ns1/ddns.key <<END > nsupdate.out 2>&1 || ret=1
- server 10.53.0.1 5300
+ server 10.53.0.1 ${PORT}
prereq nxrrset example.nil. type0
send
END
-$DIG +tcp version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+$DIG $DIGOPTS +tcp version.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that TYPE=0 update is handled ($n)"
+echo_i "check that TYPE=0 update is handled ($n)"
echo "a0e4280000010000000100000000060001c00c000000fe000000000000" |
-$PERL ../packet.pl -a 10.53.0.1 -p 5300 -t tcp > /dev/null
-$DIG +tcp version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+$PERL ../packet.pl -a 10.53.0.1 -p ${PORT} -t tcp > /dev/null
+$DIG $DIGOPTS +tcp version.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that TYPE=0 additional data is handled ($n)"
+echo_i "check that TYPE=0 additional data is handled ($n)"
echo "a0e4280000010000000000010000060001c00c000000fe000000000000" |
-$PERL ../packet.pl -a 10.53.0.1 -p 5300 -t tcp > /dev/null
-$DIG +tcp version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+$PERL ../packet.pl -a 10.53.0.1 -p ${PORT} -t tcp > /dev/null
+$DIG $DIGOPTS +tcp version.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that update to undefined class is handled ($n)"
+echo_i "check that update to undefined class is handled ($n)"
echo "a0e4280000010001000000000000060101c00c000000fe000000000000" |
-$PERL ../packet.pl -a 10.53.0.1 -p 5300 -t tcp > /dev/null
-$DIG +tcp version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
+$PERL ../packet.pl -a 10.53.0.1 -p ${PORT} -t tcp > /dev/null
+$DIG $DIGOPTS +tcp version.bind txt ch @10.53.0.1 > dig.out.ns1.$n
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that address family mismatch is handled ($n)"
+echo_i "check that address family mismatch is handled ($n)"
$NSUPDATE <<END > /dev/null 2>&1 && ret=1
server ::1
local 127.0.0.1
update add 600 txt.example.nil in txt "test"
send
END
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that unixtime serial number is correctly generated ($n)"
-oldserial=`$DIG +short unixtime.nil. soa @10.53.0.1 -p 5300 | awk '{print $3}'` || ret=1
+echo_i "check that unixtime serial number is correctly generated ($n)"
+oldserial=`$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 | awk '{print $3}'` || ret=1
$NSUPDATE <<END > /dev/null 2>&1 || ret=1
- server 10.53.0.1 5300
+ server 10.53.0.1 ${PORT}
ttl 600
update add new.unixtime.nil in a 1.2.3.4
send
END
now=`$PERL -e 'print time()."\n";'`
sleep 1
-serial=`$DIG +short unixtime.nil. soa @10.53.0.1 -p 5300 | awk '{print $3}'` || ret=1
+serial=`$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 | awk '{print $3}'` || ret=1
[ "$oldserial" -ne "$serial" ] || ret=1
# allow up to 2 seconds difference between the serial
# number and the unix epoch date but no more
$PERL -e 'exit 1 if abs($ARGV[1] - $ARGV[0]) > 2;' $now $serial || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
+ret=0
if $PERL -e 'use Net::DNS;' 2>/dev/null
then
- echo "I:running update.pl test"
- $PERL update_test.pl -s 10.53.0.1 -p 5300 update.nil. || status=1
+ echo_i "running update.pl test"
+ {
+ $PERL update_test.pl -s 10.53.0.1 -p ${PORT} update.nil. || ret=1
+ } | cat_i
+ [ $ret -eq 1 ] && { echo_i "failed"; status=1; }
else
- echo "I:The second part of this test requires the Net::DNS library." >&2
+ echo_i "The second part of this test requires the Net::DNS library." >&2
fi
ret=0
-echo "I:fetching first copy of test zone"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching first copy of test zone"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:fetching second copy of test zone"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching second copy of test zone"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:comparing zones"
+echo_i "comparing zones"
$PERL ../digcomp.pl dig.out.ns1 dig.out.ns2 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
-echo "I:SIGKILL and restart server ns1"
+echo_i "SIGKILL and restart server ns1"
cd ns1
kill -KILL `cat named.pid`
rm named.pid
cd ..
sleep 10
if
- $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns1
then
- echo "I:restarted server ns1"
+ echo_i "restarted server ns1"
else
- echo "I:could not restart server ns1"
+ echo_i "could not restart server ns1"
exit 1
fi
sleep 10
ret=0
-echo "I:fetching ns1 after hard restart"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1.after || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+echo_i "fetching ns1 after hard restart"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.nil.\
+ @10.53.0.1 axfr > dig.out.ns1.after || ret=1
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:comparing zones"
+echo_i "comparing zones"
$PERL ../digcomp.pl dig.out.ns1 dig.out.ns1.after || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
-echo "I:begin RT #482 regression test"
+echo_i "begin RT #482 regression test"
ret=0
-echo "I:update master"
+echo_i "update master"
$NSUPDATE -k ns1/ddns.key <<END > /dev/null || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add updated2.example.nil. 600 A 10.10.10.2
update add updated2.example.nil. 600 TXT Bar
update delete c.example.nil.
send
END
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
sleep 5
-echo "I:SIGHUP slave"
+echo_i "SIGHUP slave"
kill -HUP `cat ns2/named.pid`
sleep 5
ret=0
-echo "I:update master again"
+echo_i "update master again"
$NSUPDATE -k ns1/ddns.key <<END > /dev/null || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add updated3.example.nil. 600 A 10.10.10.3
update add updated3.example.nil. 600 TXT Zap
del d.example.nil.
send
END
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
sleep 5
-echo "I:SIGHUP slave again"
+echo_i "SIGHUP slave again"
kill -HUP `cat ns2/named.pid`
sleep 5
-echo "I:check to 'out of sync' message"
+echo_i "check to 'out of sync' message"
if grep "out of sync" ns2/named.run
then
- echo "I: failed (found 'out of sync')"
+ echo_i "failed (found 'out of sync')"
status=1
fi
-echo "I:end RT #482 regression test"
+echo_i "end RT #482 regression test"
n=`expr $n + 1`
ret=0
-echo "I:start NSEC3PARAM changes via UPDATE on a unsigned zone test ($n)"
+echo_i "start NSEC3PARAM changes via UPDATE on a unsigned zone test ($n)"
$NSUPDATE << EOF
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add example 3600 nsec3param 1 0 0 -
send
EOF
# the zone is not signed. The nsec3param records should be removed.
# this also proves that the server is still running.
-$DIG +tcp +noadd +nosea +nostat +noquest +nocmd +norec example.\
- @10.53.0.3 nsec3param -p 5300 > dig.out.ns3.$n || ret=1
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec example.\
+ @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
grep "ANSWER: 0" dig.out.ns3.$n > /dev/null || ret=1
grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:change the NSEC3PARAM ttl via update ($n)"
+echo_i "change the NSEC3PARAM ttl via update ($n)"
$NSUPDATE << EOF
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add nsec3param.test 3600 NSEC3PARAM 1 0 1 -
send
EOF
sleep 1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
- @10.53.0.3 nsec3param -p 5300 > dig.out.ns3.$n || ret=1
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
+ @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
grep "ANSWER: 1" dig.out.ns3.$n > /dev/null || ret=1
grep "3600.*NSEC3PARAM" dig.out.ns3.$n > /dev/null || ret=1
grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:add a new the NSEC3PARAM via update ($n)"
+echo_i "add a new the NSEC3PARAM via update ($n)"
$NSUPDATE << EOF
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add nsec3param.test 3600 NSEC3PARAM 1 0 4 -
send
EOF
sleep 1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
- @10.53.0.3 nsec3param -p 5300 > dig.out.ns3.$n || ret=1
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
+ @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
grep "ANSWER: 2" dig.out.ns3.$n > /dev/null || ret=1
grep "NSEC3PARAM 1 0 4 -" dig.out.ns3.$n > /dev/null || ret=1
grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo "I: failed"; status=`expr $ret + $status`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $ret + $status`; fi
n=`expr $n + 1`
ret=0
-echo "I:add, delete and change the ttl of the NSEC3PARAM rrset via update ($n)"
+echo_i "add, delete and change the ttl of the NSEC3PARAM rrset via update ($n)"
$NSUPDATE << EOF
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update delete nsec3param.test NSEC3PARAM
update add nsec3param.test 7200 NSEC3PARAM 1 0 5 -
send
sleep 1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
- @10.53.0.3 nsec3param -p 5300 > dig.out.ns3.$n || ret=1
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
+ @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
grep "ANSWER: 1" dig.out.ns3.$n > /dev/null || ret=1
grep "7200.*NSEC3PARAM 1 0 5 -" dig.out.ns3.$n > /dev/null || ret=1
grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
grep "add nsec3param.test. 0 IN TYPE65534 .# 6 000180000500" jp.out.ns3.$n > /dev/null || ret=1
grep "add nsec3param.test. 0 IN TYPE65534 .# 6 000140000100" jp.out.ns3.$n > /dev/null || ret=1
grep "add nsec3param.test. 0 IN TYPE65534 .# 6 000140000400" jp.out.ns3.$n > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo "I: failed"; status=`expr $ret + $status`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $ret + $status`; fi
ret=0
-echo "I:testing that rndc stop updates the master file"
+echo_i "testing that rndc stop updates the master file"
$NSUPDATE -k ns1/ddns.key <<END > /dev/null || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add updated4.example.nil. 600 A 10.10.10.3
send
END
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns1
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns1
# Removing the journal file and restarting the server means
# that the data served by the new server process are exactly
# those dumped to the master file by "rndc stop".
rm -f ns1/*jnl
-$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd updated4.example.nil.\
- @10.53.0.1 a -p 5300 > dig.out.ns1 || status=1
+$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns1
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd updated4.example.nil.\
+ @10.53.0.1 a > dig.out.ns1 || status=1
$PERL ../digcomp.pl knowngood.ns1.afterstop dig.out.ns1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
ret=0
-echo "I:check that 'nsupdate -l' with a missing keyfile reports the missing file"
-$NSUPDATE -l -p 5300 -k ns1/nonexistant.key 2> nsupdate.out < /dev/null
+echo_i "check that 'nsupdate -l' with a missing keyfile reports the missing file"
+$NSUPDATE -l -p ${PORT} -k ns1/nonexistant.key 2> nsupdate.out < /dev/null
grep ns1/nonexistant.key nsupdate.out > /dev/null || ret=1
if test $ret -ne 0
then
-echo "I:failed"; status=1
+echo_i "failed"; status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:check that 'update-policy local' works from localhost address ($n)"
-$NSUPDATE -p 5300 -k ns5/session.key > nsupdate.out.$n 2>&1 << END || ret=1
-server 10.53.0.5 5300
+echo_i "check that 'update-policy local' works from localhost address ($n)"
+$NSUPDATE -k ns5/session.key > nsupdate.out.$n 2>&1 << END || ret=1
+server 10.53.0.5 ${PORT}
local 127.0.0.1
update add fromlocal.local.nil. 600 A 1.2.3.4
send
END
grep REFUSED nsupdate.out.$n > /dev/null 2>&1 && ret=1
-$DIG @10.53.0.5 -p 5300 \
+$DIG $DIGOPTS @10.53.0.5 \
+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
fromlocal.local.nil. > dig.out.ns5.$n || ret=1
grep fromlocal dig.out.ns5.$n > /dev/null 2>&1 || ret=1
if test $ret -ne 0
then
-echo "I:failed"; status=1
+echo_i "failed"; status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:check that 'update-policy local' fails from non-localhost address ($n)"
+echo_i "check that 'update-policy local' fails from non-localhost address ($n)"
grep 'match on session key not from localhost' ns5/named.run > /dev/null && ret=1
-$NSUPDATE -p 5300 -k ns5/session.key > nsupdate.out.$n 2>&1 << END && ret=1
-server 10.53.0.5 5300
+$NSUPDATE -k ns5/session.key > nsupdate.out.$n 2>&1 << END && ret=1
+server 10.53.0.5 ${PORT}
local 10.53.0.1
update add nonlocal.local.nil. 600 A 4.3.2.1
send
END
grep REFUSED nsupdate.out.$n > /dev/null 2>&1 || ret=1
grep 'match on session key not from localhost' ns5/named.run > /dev/null || ret=1
-$DIG @10.53.0.5 -p 5300 \
+$DIG $DIGOPTS @10.53.0.5 \
+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
nonlocal.local.nil. > dig.out.ns5.$n || ret=1
grep nonlocal dig.out.ns5.$n > /dev/null 2>&1 && ret=1
if test $ret -ne 0
then
-echo "I:failed"; status=1
+echo_i "failed"; status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:check that changes to the DNSKEY RRset TTL do not have side effects ($n)"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd dnskey.test. \
- @10.53.0.3 -p 5300 dnskey | \
+echo_i "check that changes to the DNSKEY RRset TTL do not have side effects ($n)"
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd dnskey.test. \
+ @10.53.0.3 dnskey | \
sed -n 's/\(.*\)10.IN/update add \1600 IN/p' |
- (echo server 10.53.0.3 5300; cat - ; echo send ) |
+ (echo server 10.53.0.3 ${PORT}; cat - ; echo send ) |
$NSUPDATE
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd dnskey.test. \
- @10.53.0.3 -p 5300 any > dig.out.ns3.$n
+$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd dnskey.test. \
+ @10.53.0.3 any > dig.out.ns3.$n
grep "600.*DNSKEY" dig.out.ns3.$n > /dev/null || ret=1
grep TYPE65534 dig.out.ns3.$n > /dev/null && ret=1
if test $ret -ne 0
then
-echo "I:failed"; status=1
+echo_i "failed"; status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:check notify with TSIG worked ($n)"
+echo_i "check notify with TSIG worked ($n)"
# if the alternate view received a notify--meaning, the notify was
# validly signed by "altkey"--then the zonefile update.alt.bk will
# will have been created.
[ -f ns2/update.alt.bk ] || ret=1
if [ $ret -ne 0 ]; then
- echo "I:failed"
+ echo_i "failed"
status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:check command list ($n)"
+echo_i "check command list ($n)"
(
while read cmd
do
echo "$cmd" | $NSUPDATE > /dev/null 2>&1
if test $? -gt 1 ; then
- echo "I: failed ($cmd)"
+ echo_i "failed ($cmd)"
ret=1
fi
echo "$cmd " | $NSUPDATE > /dev/null 2>&1
if test $? -gt 1 ; then
- echo "I: failed ($cmd)"
+ echo_i "failed ($cmd)"
ret=1
fi
done
n=`expr $n + 1`
ret=0
-echo "I:check TSIG key algorithms ($n)"
+echo_i "check TSIG key algorithms ($n)"
for alg in md5 sha1 sha224 sha256 sha384 sha512; do
$NSUPDATE -k ns1/${alg}.key <<END > /dev/null || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add ${alg}.keytests.nil. 600 A 10.10.10.3
send
END
done
sleep 2
for alg in md5 sha1 sha224 sha256 sha384 sha512; do
- $DIG +short @10.53.0.1 -p 5300 ${alg}.keytests.nil | grep 10.10.10.3 > /dev/null 2>&1 || ret=1
+ $DIG $DIGOPTS +short @10.53.0.1 ${alg}.keytests.nil | grep 10.10.10.3 > /dev/null 2>&1 || ret=1
done
if [ $ret -ne 0 ]; then
- echo "I:failed"
+ echo_i "failed"
status=1
fi
n=`expr $n + 1`
ret=0
-echo "I:add a very large record. ($n)"
+echo_i "add a very large record. ($n)"
$NSUPDATE verylarge || ret=1
-$DIG +noedns +tcp @10.53.0.1 -p 5300 txt txt.update.nil > dig.out.ns1.test$n
+$DIG $DIGOPTS +noedns +tcp @10.53.0.1 txt txt.update.nil > dig.out.ns1.test$n
grep "ANSWER: 1," dig.out.ns1.test$n > /dev/null || ret=1
if [ $ret -ne 0 ]; then
- echo "I:failed"
+ echo_i "failed"
status=1
fi
n=`expr $n + 1`
-echo "I:check adding of delegating NS records processing ($n)"
+echo_i "check adding of delegating NS records processing ($n)"
ret=0
$NSUPDATE -v << EOF > nsupdate.out-$n 2>&1 || ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone delegation.test.
update add child.delegation.test. 3600 NS foo.example.net.
update add child.delegation.test. 3600 NS bar.example.net.
send
EOF
-$DIG +tcp @10.53.0.3 -p 5300 ns child.delegation.test > dig.out.ns1.test$n
+$DIG $DIGOPTS +tcp @10.53.0.3 ns child.delegation.test > dig.out.ns1.test$n
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
grep "AUTHORITY: 2" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
-echo "I:check deleting of delegating NS records processing ($n)"
+echo_i "check deleting of delegating NS records processing ($n)"
ret=0
$NSUPDATE -v << EOF > nsupdate.out-$n 2>&1 || ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone delegation.test.
update del child.delegation.test. 3600 NS foo.example.net.
update del child.delegation.test. 3600 NS bar.example.net.
send
EOF
-$DIG +tcp @10.53.0.3 -p 5300 ns child.delegation.test > dig.out.ns1.test$n
+$DIG $DIGOPTS +tcp @10.53.0.3 ns child.delegation.test > dig.out.ns1.test$n
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
-echo "I:check that adding too many records is blocked ($n)"
+echo_i "check that adding too many records is blocked ($n)"
ret=0
$NSUPDATE -v << EOF > nsupdate.out-$n 2>&1 && ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone too-big.test.
update add r1.too-big.test 3600 IN TXT r1.too-big.test
send
EOF
grep "update failed: SERVFAIL" nsupdate.out-$n > /dev/null || ret=1
-$DIG +tcp @10.53.0.3 -p 5300 r1.too-big.test TXT > dig.out.ns3.test$n
+$DIG $DIGOPTS +tcp @10.53.0.3 r1.too-big.test TXT > dig.out.ns3.test$n
grep "status: NXDOMAIN" dig.out.ns3.test$n > /dev/null || ret=1
grep "records in zone (4) exceeds max-records (3)" ns3/named.run > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check whether valid addresses are used for master failover ($n)"
+echo_i "check whether valid addresses are used for master failover ($n)"
$NSUPDATE -t 1 <<END > nsupdate.out-$n 2>&1 && ret=1
-server 10.53.0.4 5300
+server 10.53.0.4 ${PORT}
zone unreachable.
update add unreachable. 600 A 192.0.2.1
send
END
-grep "; Communication with 10.53.0.4#5300 failed: timed out" nsupdate.out-$n > /dev/null 2>&1 || ret=1
+grep "; Communication with 10.53.0.4#${PORT} failed: timed out" nsupdate.out-$n > /dev/null 2>&1 || ret=1
grep "not implemented" nsupdate.out-$n > /dev/null 2>&1 && ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure bad owner name is fatal in non-interactive mode ($n)"
+echo_i "ensure bad owner name is fatal in non-interactive mode ($n)"
$NSUPDATE <<END > nsupdate.out 2>&1 && ret=1
update add emptylabel..nil. 600 A 10.10.10.1
END
grep "invalid owner name: empty label" nsupdate.out > /dev/null || ret=1
grep "syntax error" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure bad owner name is not fatal in interactive mode ($n)"
+echo_i "ensure bad owner name is not fatal in interactive mode ($n)"
$NSUPDATE -i <<END > nsupdate.out 2>&1 || ret=1
update add emptylabel..nil. 600 A 10.10.10.1
END
grep "invalid owner name: empty label" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure invalid key type is fatal in non-interactive mode ($n)"
+echo_i "ensure invalid key type is fatal in non-interactive mode ($n)"
$NSUPDATE <<END > nsupdate.out 2>&1 && ret=1
key badkeytype:example abcd12345678
END
grep "unknown key type 'badkeytype'" nsupdate.out > /dev/null || ret=1
grep "syntax error" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure invalid key type is not fatal in interactive mode ($n)"
+echo_i "ensure invalid key type is not fatal in interactive mode ($n)"
$NSUPDATE -i <<END > nsupdate.out 2>&1 || ret=1
key badkeytype:example abcd12345678
END
grep "unknown key type 'badkeytype'" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure unresolvable server name is fatal in non-interactive mode ($n)"
+echo_i "ensure unresolvable server name is fatal in non-interactive mode ($n)"
$NSUPDATE <<END > nsupdate.out 2>&1 && ret=1
server unresolvable..
END
grep "couldn't get address for 'unresolvable..': not found" nsupdate.out > /dev/null || ret=1
grep "syntax error" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:ensure unresolvable server name is not fatal in interactive mode ($n)"
+echo_i "ensure unresolvable server name is not fatal in interactive mode ($n)"
$NSUPDATE -i <<END > nsupdate.out 2>&1 || ret=1
server unresolvable..
END
grep "couldn't get address for 'unresolvable..': not found" nsupdate.out > /dev/null || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
-echo "I:check that TKEY in a update is rejected ($n)"
+echo_i "check that TKEY in a update is rejected ($n)"
$NSUPDATE -d <<END > nsupdate.out-$n 2>&1 && ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add tkey.example 0 in tkey invalid.algorithm. 1516055980 1516140801 1 0 16 gRof8D2BFKvl/vrr9Lmnjw== 16 gRof8D2BFKvl/vrr9Lmnjw==
send
END
grep "UPDATE, status: NOERROR" nsupdate.out-$n > /dev/null 2>&1 || ret=1
grep "UPDATE, status: FORMERR" nsupdate.out-$n > /dev/null 2>&1 || ret=1
-[ $ret = 0 ] || { echo I:failed; status=1; }
+[ $ret = 0 ] || { echo_i "failed"; status=1; }
#
# Add client library tests here
then
n=`expr $n + 1`
ret=0
- echo "I:check that dns_client_update handles prerequisite NXDOMAIN failure ($n)"
- $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \
+ echo_i "check that dns_client_update handles prerequisite NXDOMAIN failure ($n)"
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \
add "nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
- $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxdomain exists.sample" \
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.2 -p "nxdomain exists.sample" \
add "check-nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
- $DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.1 a nxdomain-exists.sample > dig.out.ns1.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a nxdomain-exists.sample > dig.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: YXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
- [ $ret = 0 ] || { echo I:failed; status=1; }
+ [ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
- echo "I:check that dns_client_update handles prerequisite YXDOMAIN failure ($n)"
- $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
+ echo_i "check that dns_client_update handles prerequisite YXDOMAIN failure ($n)"
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
add "yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
- $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
add "check-yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
- $DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.1 a nxdomain-exists.sample > dig.out.ns1.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a nxdomain-exists.sample > dig.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: NXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
- [ $ret = 0 ] || { echo I:failed; status=1; }
+ [ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
- echo "I:check that dns_client_update handles prerequisite NXRRSET failure ($n)"
- $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
+ echo_i "check that dns_client_update handles prerequisite NXRRSET failure ($n)"
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
add "nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
- $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
add "check-nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
- $DIG +tcp @10.53.0.1 -p 5300 a nxrrset-exists.sample > dig.out.ns1.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a nxrrset-exists.sample > dig.out.ns2.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a check-nxrrset-exists.sample > check.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.1 a nxrrset-exists.sample > dig.out.ns1.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a nxrrset-exists.sample > dig.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a check-nxrrset-exists.sample > check.out.ns2.test$n
grep "update failed: YXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
- [ $ret = 0 ] || { echo I:failed; status=1; }
+ [ $ret = 0 ] || { echo_i "failed"; status=1; }
n=`expr $n + 1`
ret=0
- echo "I:check that dns_client_update handles prerequisite YXRRSET failure ($n)"
- $SAMPLEUPDATE -s -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
+ echo_i "check that dns_client_update handles prerequisite YXRRSET failure ($n)"
+ $SAMPLEUPDATE -s -P ${PORT} -a 10.53.0.1 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
add "yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
- $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
+ $SAMPLEUPDATE -P ${PORT} -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
add "check-yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
- $DIG +tcp @10.53.0.1 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns1.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns2.test$n
- $DIG +tcp @10.53.0.2 -p 5300 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.1 a yxrrset-nxrrset.sample > dig.out.ns1.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a yxrrset-nxrrset.sample > dig.out.ns2.test$n
+ $DIG $DIGOPTS +tcp @10.53.0.2 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n
grep "update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
grep "2nd update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
- [ $ret = 0 ] || { echo I:failed; status=1; }
+ [ $ret = 0 ] || { echo_i "failed"; status=1; }
fi
#
# End client library tests here
#
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
#
# perl -MCPAN -e "install Net::DNS"
#
-# $Id: update_test.pl,v 1.10 2007/06/19 23:47:04 tbox Exp $
-#
use Getopt::Std;
use Net::DNS;
sub assert {
my ($cond, $explanation) = @_;
if (!$cond) {
- print "I:Test Failed: $explanation ***\n";
+ print "Test Failed: $explanation ***\n";
$failures++
}
}
my $rcode = $reply->header->rcode;
assert($rcode eq $expected, "expected $expected, got $rcode");
} else {
- print "I:Update failed: ", $res->errorstring, "\n";
+ print "Update failed: ", $res->errorstring, "\n";
}
}
sub section {
my ($msg) = @_;
- print "I:$msg\n";
+ print "$msg\n";
}
section("Delete any leftovers from previous tests");
test("NOERROR", ["update", rr_del("u.$zone NS ns.u.$zone")]);
if ($failures) {
- print "I:$failures tests failed.\n";
+ print "$failures tests failed.\n";
} else {
- print "I:All tests successful.\n";
+ print "All tests successful.\n";
}
exit $failures;
;
; 65535 bytes = total
-server 10.53.0.1 5300
+server 10.53.0.1 @PORT@
update add txt.update.nil. 600 TXT 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 0123456 01
send
rm -rf ns2/example.db
rm -rf ns2/example.com.db
rm -rf nsupdate.out.test
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2009/11/17 23:55:18 marka Exp $ */
-
-controls { /* empty */ };
-
include "trusted.conf";
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
type master;
file "root.db.signed";
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2010/01/07 23:48:53 tbox Exp $ */
-
// NS2
-controls { /* empty */ };
-
include "trusted.conf";
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2009/11/18 23:48:07 tbox Exp $ */
-
// NS2
-controls { /* empty */ };
-
include "trusted.conf";
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2009/11/17 23:55:18 marka Exp $ */
-
-controls { /* empty */ };
-
include "trusted.conf";
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+
cd ns1 && $SHELL -e sign.sh
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.7 2010/01/18 19:19:31 each Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
replace_data()
{
if [ $# -ne 4 ]; then
- echo I:unexpected input for replace_data
+ echo_i "unexpected input for replace_data"
return 1
fi
_newdata=$4
_ret=0
- $NSUPDATE -d <<END>> nsupdate.out.test 2>&1 || _ret=1
-server 10.53.0.2 5300
+ $NSUPDATE -d <<END >> nsupdate.out.test 2>&1 || _ret=1
+server 10.53.0.2 ${PORT}
update delete ${_dname} 30 ${_rr} ${_olddata}
update add ${_dname} 30 ${_rr} ${_newdata}
send
END
if [ $_ret != 0 ]; then
- echo I:failed to update the test data
+ echo_i "failed to update the test data"
return 1
fi
status=0
n=0
-DIGOPTS="+short +tcp -p 5300"
+DIGOPTS="+short +tcp -p ${PORT}"
DIGOPTS_CD="$DIGOPTS +cd"
-echo I:Priming cache.
+echo_i "Priming cache."
ret=0
expect="10 mail.example."
ans=`$DIG $DIGOPTS_CD @10.53.0.4 hostile MX` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo I:Checking that bogus additional is not returned with +CD.
+echo_i "Checking that bogus additional is not returned with +CD."
ret=0
expect="10.0.0.2"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 mail.example A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
#
# Prime cache with pending additional records. These should not be promoted
# to answer.
#
-echo "I:Priming cache (pending additional A and AAAA)"
+echo_i "Priming cache (pending additional A and AAAA)"
ret=0
expect="10 mail.example.com."
ans=`$DIG $DIGOPTS @10.53.0.4 example.com MX` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo "I:Replacing pending A"
+echo_i "Replacing pending A"
ret=0
replace_data mail.example.com. A 192.0.2.2 192.0.2.3 || ret=1
status=`expr $status + $ret`
-echo "I:Replacing pending AAAA"
+echo_i "Replacing pending AAAA"
ret=0
replace_data mail.example.com. AAAA 2001:db8::2 2001:db8::3 || ret=1
status=`expr $status + $ret`
-echo "I:Checking updated data to be returned (without CD)"
+echo_i "Checking updated data to be returned (without CD)"
ret=0
expect="192.0.2.3"
ans=`$DIG $DIGOPTS @10.53.0.4 mail.example.com A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo "I:Checking updated data to be returned (with CD)"
+echo_i "Checking updated data to be returned (with CD)"
ret=0
expect="2001:db8::3"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 mail.example.com AAAA` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
#
# Prime cache with a pending answer record. It can be returned (without
# validation) with +CD.
#
-echo "I:Priming cache (pending answer)"
+echo_i "Priming cache (pending answer)"
ret=0
expect="192.0.2.2"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 pending-ok.example.com A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo I:Replacing pending data
+echo_i "Replacing pending data"
ret=0
replace_data pending-ok.example.com. A 192.0.2.2 192.0.2.3 || ret=1
status=`expr $status + $ret`
-echo I:Confirming cached pending data to be returned with CD
+echo_i "Confirming cached pending data to be returned with CD"
ret=0
expect="192.0.2.2"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 pending-ok.example.com A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
#
# Prime cache with a pending answer record. It should not be returned
# to no-DNSSEC clients.
#
-echo "I:Priming cache (pending answer)"
+echo_i "Priming cache (pending answer)"
ret=0
expect="192.0.2.102"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 pending-ng.example.com A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo I:Replacing pending data
+echo_i "Replacing pending data"
ret=0
replace_data pending-ng.example.com. A 192.0.2.102 192.0.2.103 || ret=1
status=`expr $status + $ret`
-echo I:Confirming updated data returned, not the cached one, without CD
+echo_i "Confirming updated data returned, not the cached one, without CD"
ret=0
expect="192.0.2.103"
ans=`$DIG $DIGOPTS @10.53.0.4 pending-ng.example.com A` || ret=1
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
#
# Try to fool the resolver with an out-of-bailiwick CNAME
#
-echo I:Trying to Prime out-of-bailiwick pending answer with CD
+echo_i "Trying to Prime out-of-bailiwick pending answer with CD"
ret=0
expect="10.10.10.10"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 bad.example. A` || ret=1
ans=`echo $ans | awk '{print $NF}'`
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo I:Confirming the out-of-bailiwick answer is not cached or reused with CD
+echo_i "Confirming the out-of-bailiwick answer is not cached or reused with CD"
ret=0
expect="10.10.10.10"
ans=`$DIG $DIGOPTS_CD @10.53.0.4 nice.good. A` || ret=1
ans=`echo $ans | awk '{print $NF}'`
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
#
# Make sure the resolver doesn't cache bogus NXDOMAIN
#
-echo I:Trying to Prime bogus NXDOMAIN
+echo_i "Trying to Prime bogus NXDOMAIN"
ret=0
expect="SERVFAIL"
-ans=`$DIG +tcp -p 5300 @10.53.0.4 removed.example.com. A` || ret=1
+ans=`$DIG +tcp -p ${PORT} @10.53.0.4 removed.example.com. A` || ret=1
ans=`echo $ans | sed 's/^.*status: \([A-Z][A-Z]*\).*$/\1/'`
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo I:Confirming the bogus NXDOMAIN was not cached
+echo_i "Confirming the bogus NXDOMAIN was not cached"
ret=0
expect="SERVFAIL"
-ans=`$DIG +tcp -p 5300 @10.53.0.4 removed.example.com. A` || ret=1
+ans=`$DIG +tcp -p ${PORT} @10.53.0.4 removed.example.com. A` || ret=1
ans=`echo $ans | sed 's/^.*status: \([A-Z][A-Z]*\).*$/\1/'`
test "$ans" = "$expect" || ret=1
-test $ret = 0 || echo I:failed, got "'""$ans""'", expected "'""$expect""'"
+test $ret = 0 || echo_i "failed, got '$ans', expected '$expect'"
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
my @delayed_response;
my $timeout;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $udpsock = IO::Socket::INET->new(LocalAddr => "$localaddr",
- LocalPort => 5300, Proto => "udp", Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "udp", Reuse => 1) or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
my $count = 0;
my $localaddr = "10.53.0.7";
-my $localport = 5300;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
my $verbose = 0;
sub reply_handler {
rm -f ans2/ans.limit
rm -f ns?/named.memstats
rm -f ns?/named.run
-rm -f ns3/named.conf
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints.db"; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints.db"; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints.db"; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
directory ".";
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." { type hint; file "hints.db"; };
then
:
else
- echo "I:Net::DNS versions up to 0.78 have a bug that causes this test to fail: please update." >&2
+ echo_i "Net::DNS versions up to 0.78 have a bug that causes this test to fail: please update." >&2
exit 1
fi
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo_i "This test requires the Net::DNS library." >&2
exit 1
fi
then
:
else
- echo "I:This test requires the Net::DNS::Nameserver library." >&2
+ echo_i "This test requires the Net::DNS::Nameserver library." >&2
exit 1
fi
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-cp -f ns3/named1.conf ns3/named.conf
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns3/named1.conf.in ns3/named.conf
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="-p 5300"
+DIGOPTS="-p ${PORT}"
status=0
n=0
ns3_reset() {
- cp $1 ns3/named.conf
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig 2>&1 | sed 's/^/I:ns3 /'
- $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 flush | sed 's/^/I: ns3 /'
+ copy_setports $1 ns3/named.conf
+ $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p ${CONTROLPORT} reconfig 2>&1 | sed 's/^/I:ns3 /'
+ $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p ${CONTROLPORT} flush | sed 's/^/I:ns3 /'
}
ns3_sends_aaaa_queries() {
fi
if [ $count -ne $expected_count ]; then
- echo "I: count ($count) != $expected_count"
+ echo_i "count ($count) != $expected_count"
ret=1
fi
}
-echo "I: set max-recursion-depth=12"
+echo_i "set max-recursion-depth=12"
n=`expr $n + 1`
-echo "I: attempt excessive-depth lookup ($n)"
+echo_i "attempt excessive-depth lookup ($n)"
ret=0
echo "1000" > ans2/ans.limit
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
grep "status: SERVFAIL" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
check_query_count dig.out.2.test$n 26 14
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: attempt permissible lookup ($n)"
+echo_i "attempt permissible lookup ($n)"
ret=0
echo "12" > ans2/ans.limit
-ns3_reset ns3/named1.conf
+ns3_reset ns3/named1.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect2.example.org > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
check_query_count dig.out.2.test$n 49 26
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: set max-recursion-depth=5"
+echo_i "set max-recursion-depth=5"
n=`expr $n + 1`
-echo "I: attempt excessive-depth lookup ($n)"
+echo_i "attempt excessive-depth lookup ($n)"
ret=0
echo "12" > ans2/ans.limit
-ns3_reset ns3/named2.conf
+ns3_reset ns3/named2.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect3.example.org > dig.out.1.test$n || ret=1
grep "status: SERVFAIL" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
check_query_count dig.out.2.test$n 12 7
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: attempt permissible lookup ($n)"
+echo_i "attempt permissible lookup ($n)"
ret=0
echo "5" > ans2/ans.limit
-ns3_reset ns3/named2.conf
+ns3_reset ns3/named2.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect4.example.org > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
check_query_count dig.out.2.test$n 21 12
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: set max-recursion-depth=100, max-recursion-queries=50"
+echo_i "set max-recursion-depth=100, max-recursion-queries=50"
n=`expr $n + 1`
-echo "I: attempt excessive-queries lookup ($n)"
+echo_i "attempt excessive-queries lookup ($n)"
ret=0
echo "13" > ans2/ans.limit
-ns3_reset ns3/named3.conf
+ns3_reset ns3/named3.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect5.example.org > dig.out.1.test$n || ret=1
if ns3_sends_aaaa_queries; then
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
eval count=`cat dig.out.2.test$n`
[ $count -le 50 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: attempt permissible lookup ($n)"
+echo_i "attempt permissible lookup ($n)"
ret=0
echo "12" > ans2/ans.limit
-ns3_reset ns3/named3.conf
+ns3_reset ns3/named3.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect6.example.org > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
eval count=`cat dig.out.2.test$n`
[ $count -le 50 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: set max-recursion-depth=100, max-recursion-queries=40"
+echo_i "set max-recursion-depth=100, max-recursion-queries=40"
n=`expr $n + 1`
-echo "I: attempt excessive-queries lookup ($n)"
+echo_i "attempt excessive-queries lookup ($n)"
ret=0
echo "10" > ans2/ans.limit
-ns3_reset ns3/named4.conf
+ns3_reset ns3/named4.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect7.example.org > dig.out.1.test$n || ret=1
if ns3_sends_aaaa_queries; then
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
eval count=`cat dig.out.2.test$n`
[ $count -le 40 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: attempt permissible lookup ($n)"
+echo_i "attempt permissible lookup ($n)"
ret=0
echo "9" > ans2/ans.limit
-ns3_reset ns3/named4.conf
+ns3_reset ns3/named4.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.3 indirect8.example.org > dig.out.1.test$n || ret=1
grep "status: NOERROR" dig.out.1.test$n > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
eval count=`cat dig.out.2.test$n`
[ $count -le 40 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: attempting NS explosion ($n)"
+echo_i "attempting NS explosion ($n)"
ret=0
-ns3_reset ns3/named4.conf
+ns3_reset ns3/named4.conf.in
$DIG $DIGOPTS @10.53.0.2 reset > /dev/null || ret=1
$DIG $DIGOPTS +short @10.53.0.3 ns1.1.example.net > dig.out.1.test$n || ret=1
$DIG $DIGOPTS +short @10.53.0.2 count txt > dig.out.2.test$n || ret=1
$DIG $DIGOPTS +short @10.53.0.7 count txt > dig.out.3.test$n || ret=1
eval count=`cat dig.out.3.test$n`
[ $count -lt 50 ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns1/nsec3.db*
rm -f ns1/dsset-signed.
rm -f ns1/dsset-nsec3.
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
rm -f */named.stats
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/03/01 23:48:06 tbox Exp $ */
-
// NS1
-controls { /* empty */ };
-
acl rfc1918 { 10/8; 192.168/16; 172.16/12; };
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/03/01 23:48:07 tbox Exp $ */
-
// NS2
controls { /* empty */ };
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+
cp ns2/redirect.db.in ns2/redirect.db
cp ns2/example.db.in ns2/example.db
cd ns1 && $SHELL sign.sh
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.3 2011/03/01 23:48:06 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
for conf in conf/good*.conf
do
- echo "I:checking that $conf is accepted ($n)"
+ echo_i "checking that $conf is accepted ($n)"
ret=0
$CHECKCONF "$conf" || ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for conf in conf/bad*.conf
do
- echo "I:checking that $conf is rejected ($n)"
+ echo_i "checking that $conf is rejected ($n)"
ret=0
$CHECKCONF "$conf" >/dev/null && ret=1
n=`expr $n + 1`
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
-echo "I:checking A redirect works for nonexist ($n)"
+echo_i "checking A redirect works for nonexist ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect works for nonexist ($n)"
+echo_i "checking AAAA redirect works for nonexist ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect works for nonexist ($n)"
+echo_i "checking ANY redirect works for nonexist ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.2 any > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect doesn't work for acl miss ($n)"
+echo_i "checking A redirect doesn't work for acl miss ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.4 a > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect doesn't work for acl miss ($n)"
+echo_i "checking AAAA redirect doesn't work for acl miss ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.4 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect doesn't work for acl miss ($n)"
+echo_i "checking ANY redirect doesn't work for acl miss ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.4 any > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null && ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect works for signed nonexist, DO=0 ($n)"
+echo_i "checking A redirect works for signed nonexist, DO=0 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.2 -b 10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect works for signed nonexist, DO=0 ($n)"
+echo_i "checking AAAA redirect works for signed nonexist, DO=0 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect works for signed nonexist, DO=0 ($n)"
+echo_i "checking ANY redirect works for signed nonexist, DO=0 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.2 -b 10.53.0.2 any > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect fails for signed nonexist, DO=1 ($n)"
+echo_i "checking A redirect fails for signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.2 -b 10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect fails for signed nonexist, DO=1 ($n)"
+echo_i "checking AAAA redirect fails for signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect fails for signed nonexist, DO=1 ($n)"
+echo_i "checking ANY redirect fails for signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.2 -b 10.53.0.2 any > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null && ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect fails for nsec3 signed nonexist, DO=1 ($n)"
+echo_i "checking A redirect fails for nsec3 signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.2 -b 10.53.0.2 a > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "100.100.100.1" dig.out.ns2.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect fails for nsec3 signed nonexist, DO=1 ($n)"
+echo_i "checking AAAA redirect fails for nsec3 signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect fails for nsec3 signed nonexist, DO=1 ($n)"
+echo_i "checking ANY redirect fails for nsec3 signed nonexist, DO=1 ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.2 -b 10.53.0.2 any > dig.out.ns2.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6401" dig.out.ns2.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect works for nonexist authoritative ($n)"
+echo_i "checking A redirect works for nonexist authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect works for nonexist authoritative ($n)"
+echo_i "checking AAAA redirect works for nonexist authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect works for nonexist authoritative ($n)"
+echo_i "checking ANY redirect works for nonexist authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.1 any > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect doesn't work for acl miss authoritative ($n)"
+echo_i "checking A redirect doesn't work for acl miss authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.4 a > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect doesn't work for acl miss authoritative ($n)"
+echo_i "checking AAAA redirect doesn't work for acl miss authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.4 aaaa > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect doesn't work for acl miss authoritative ($n)"
+echo_i "checking ANY redirect doesn't work for acl miss authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.1 -b 10.53.0.4 any > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null && ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect works for signed nonexist, DO=0 authoritative ($n)"
+echo_i "checking A redirect works for signed nonexist, DO=0 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.1 -b 10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect works for signed nonexist, DO=0 authoritative ($n)"
+echo_i "checking AAAA redirect works for signed nonexist, DO=0 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect works for signed nonexist, DO=0 authoritative ($n)"
+echo_i "checking ANY redirect works for signed nonexist, DO=0 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. @10.53.0.1 -b 10.53.0.1 any > dig.out.ns1.test$n || ret=1
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect fails for signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking A redirect fails for signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.1 -b 10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect fails for signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking AAAA redirect fails for signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect fails for signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking ANY redirect fails for signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.signed. +dnssec @10.53.0.1 -b 10.53.0.1 any > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null && ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking A redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking A redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.1 -b 10.53.0.1 a > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "100.100.100.2" dig.out.ns1.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking AAAA redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking AAAA redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking ANY redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
+echo_i "checking ANY redirect fails for nsec3 signed nonexist, DO=1 authoritative ($n)"
ret=0
$DIG $DIGOPTS nonexist.nsec3. +dnssec @10.53.0.1 -b 10.53.0.1 any > dig.out.ns1.test$n || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "2001:ffff:ffff::6464:6402" dig.out.ns1.test$n > /dev/null && ret=1
grep "IN.NSEC3" dig.out.ns1.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking redirect works (with noerror) when qtype is not found ($n)"
+echo_i "checking redirect works (with noerror) when qtype is not found ($n)"
ret=0
$DIG $DIGOPTS nonexist. @10.53.0.2 -b 10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that redirect zones reload correctly"
+echo_i "checking that redirect zones reload correctly"
ret=0
sleep 1 # ensure file mtime will have changed
sed -e 's/0 0 0 0 0/1 0 0 0 0/' < ns2/example.db.in > ns2/example.db
sed -e 's/0 0 0 0 0/1 0 0 0 0/' -e 's/\.1$/.2/' < ns2/redirect.db.in > ns2/redirect.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload > rndc.out || ret=1
-sed 's/^/I:ns2 /' rndc.out
+$RNDCCMD 10.53.0.2 reload > rndc.out || ret=1
+sed 's/^/ns2 /' rndc.out | cat_i
for i in 1 2 3 4 5 6 7 8 9; do
tmp=0
$DIG $DIGOPTS +short @10.53.0.2 soa example.nil > dig.out.ns1.test$n || tmp=1
done
[ $tmp -eq 1 ] && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: ans.pl,v 1.15 2010/05/19 09:33:50 tbox Exp $
-
#
# Ad hoc name server
#
use Net::DNS;
use Net::DNS::Packet;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.2",
- LocalPort => 5300, Proto => "udp") or die "$!";
+ LocalPort => $localport, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: ans.pl,v 1.12 2009/11/04 02:15:30 marka Exp $
-
#
# Ad hoc name server
#
use Net::DNS;
use Net::DNS::Packet;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.3",
- LocalPort => 5300, Proto => "udp") or die "$!";
+ LocalPort => $localport, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
local $| = 1;
my $server_addr = "10.53.0.8";
+
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $udpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "udp", Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "udp", Reuse => 1) or die "$!";
my $tcpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
-print "listening on $server_addr:5300.\n";
+print "listening on $server_addr:$localport.\n";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
#
# Clean up after resolver tests.
#
+rm -f */named.conf
rm -f */named.memstats
rm -f */named.run
rm -f */ans.run
rm -f ns6/example.net.db.signed ns6/example.net.db
rm -f ns6/dsset-example.net. ns6/example.net.db.signed.jnl
rm -f ns6/to-be-removed.tld.db ns6/to-be-removed.tld.db.jnl
-rm -f ns7/server.db ns7/server.db.jnl ns7/named.conf
+rm -f ns7/server.db ns7/server.db.jnl
rm -f sample.out.*.test*
rm -f .digrc
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
+// NS1
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS4
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2011/03/13 23:47:36 tbox Exp $ */
-
-// NS4
-
-controls { /* empty */ };
+// NS5
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-// NS4
-
-controls { /* empty */ };
+// NS6
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-// NS4
-
-controls { /* empty */ };
+// NS7
options {
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.7 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.7 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-// NS4
-
-controls { /* empty */ };
+// NS7
options {
query-source address 10.53.0.7 port 5300;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.7 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.7 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
then
:
else
- echo "I:Net::DNS version 0.76 and 0.77 have a bug that causes this test to fail: please update." >&2
+ echo_i "Net::DNS version 0.76 and 0.77 have a bug that causes this test to fail: please update." >&2
exit 1
fi
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo_i "This test requires the Net::DNS library." >&2
exit 1
fi
cp ns4/tld1.db ns4/tld.db
cp ns6/to-be-removed.tld.db.in ns6/to-be-removed.tld.db
cp ns7/server.db.in ns7/server.db
-cp ns7/named1.conf ns7/named.conf
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+copy_setports ns7/named1.conf.in ns7/named.conf
+
(cd ns6 && $SHELL keygen.sh)
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+echo .
+
+DIGOPTS="-p ${PORT}"
+SAMPLEOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
status=0
n=0
n=`expr $n + 1`
-echo "I:checking non-cachable NXDOMAIN response handling ($n)"
+echo_i "checking non-cachable NXDOMAIN response handling ($n)"
ret=0
-$DIG +tcp nxdomain.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp nxdomain.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking non-cachable NXDOMAIN response handling using dns_client ($n)"
+ echo_i "checking non-cachable NXDOMAIN response handling using dns_client ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 nxdomain.example.net 2> sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 nxdomain.example.net 2> sample.out.ns1.test${n} || ret=1
grep "resolution failed: ncache nxdomain" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking non-cachable NODATA response handling ($n)"
+echo_i "checking non-cachable NODATA response handling ($n)"
ret=0
-$DIG +tcp nodata.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp nodata.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking non-cachable NODATA response handling using dns_client ($n)"
+ echo_i "checking non-cachable NODATA response handling using dns_client ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 nodata.example.net 2> sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 nodata.example.net 2> sample.out.ns1.test${n} || ret=1
grep "resolution failed: ncache nxrrset" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking handling of bogus referrals ($n)"
+echo_i "checking handling of bogus referrals ($n)"
# If the server has the "INSIST(!external)" bug, this query will kill it.
-$DIG +tcp www.example.com. a @10.53.0.1 -p 5300 >/dev/null || { echo I:failed; status=`expr $status + 1`; }
+$DIG $DIGOPTS +tcp www.example.com. a @10.53.0.1 >/dev/null || { echo_i "failed"; status=`expr $status + 1`; }
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking handling of bogus referrals using dns_client ($n)"
+ echo_i "checking handling of bogus referrals using dns_client ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 www.example.com 2> sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 www.example.com 2> sample.out.ns1.test${n} || ret=1
grep -E "resolution failed: (SERVFAIL|failure)" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:check handling of cname + other data / 1 ($n)"
-$DIG +tcp cname1.example.com. a @10.53.0.1 -p 5300 >/dev/null || { echo I:failed; status=`expr $status + 1`; }
+echo_i "check handling of cname + other data / 1 ($n)"
+$DIG $DIGOPTS +tcp cname1.example.com. a @10.53.0.1 >/dev/null || { echo_i "failed"; status=`expr $status + 1`; }
n=`expr $n + 1`
-echo "I:check handling of cname + other data / 2 ($n)"
-$DIG +tcp cname2.example.com. a @10.53.0.1 -p 5300 >/dev/null || { echo I:failed; status=`expr $status + 1`; }
+echo_i "check handling of cname + other data / 2 ($n)"
+$DIG $DIGOPTS +tcp cname2.example.com. a @10.53.0.1 >/dev/null || { echo_i "failed"; status=`expr $status + 1`; }
n=`expr $n + 1`
-echo "I:check that server is still running ($n)"
-$DIG +tcp www.example.com. a @10.53.0.1 -p 5300 >/dev/null || { echo I:failed; status=`expr $status + 1`; }
+echo_i "check that server is still running ($n)"
+$DIG $DIGOPTS +tcp www.example.com. a @10.53.0.1 >/dev/null || { echo_i "failed"; status=`expr $status + 1`; }
n=`expr $n + 1`
-echo "I:checking answer IPv4 address filtering (deny) ($n)"
+echo_i "checking answer IPv4 address filtering (deny) ($n)"
ret=0
-$DIG +tcp www.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp www.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: SERVFAIL" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking answer IPv6 address filtering (deny) ($n)"
+echo_i "checking answer IPv6 address filtering (deny) ($n)"
ret=0
-$DIG +tcp www.example.net @10.53.0.1 aaaa -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp www.example.net @10.53.0.1 aaaa > dig.out.ns1.test${n} || ret=1
grep "status: SERVFAIL" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking answer IPv4 address filtering (accept) ($n)"
+echo_i "checking answer IPv4 address filtering (accept) ($n)"
ret=0
-$DIG +tcp www.example.org @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp www.example.org @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking answer IPv4 address filtering using dns_client (accept) ($n)"
+ echo_i "checking answer IPv4 address filtering using dns_client (accept) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 www.example.org > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 www.example.org > sample.out.ns1.test${n} || ret=1
grep "www.example.org..*.192.0.2.1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking answer IPv6 address filtering (accept) ($n)"
+echo_i "checking answer IPv6 address filtering (accept) ($n)"
ret=0
-$DIG +tcp www.example.org @10.53.0.1 aaaa -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp www.example.org @10.53.0.1 aaaa > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking answer IPv6 address filtering using dns_client (accept) ($n)"
+ echo_i "checking answer IPv6 address filtering using dns_client (accept) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t aaaa 10.53.0.1 www.example.org > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t aaaa 10.53.0.1 www.example.org > sample.out.ns1.test${n} || ret=1
grep "www.example.org..*.2001:db8:beef::1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking CNAME target filtering (deny) ($n)"
+echo_i "checking CNAME target filtering (deny) ($n)"
ret=0
-$DIG +tcp badcname.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp badcname.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: SERVFAIL" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking CNAME target filtering (accept) ($n)"
+echo_i "checking CNAME target filtering (accept) ($n)"
ret=0
-$DIG +tcp goodcname.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp goodcname.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking CNAME target filtering using dns_client (accept) ($n)"
+ echo_i "checking CNAME target filtering using dns_client (accept) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 goodcname.example.net > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 goodcname.example.net > sample.out.ns1.test${n} || ret=1
grep "goodcname.example.net..*.goodcname.example.org." sample.out.ns1.test${n} > /dev/null || ret=1
grep "goodcname.example.org..*.192.0.2.1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking CNAME target filtering (accept due to subdomain) ($n)"
+echo_i "checking CNAME target filtering (accept due to subdomain) ($n)"
ret=0
-$DIG +tcp cname.sub.example.org @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp cname.sub.example.org @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking CNAME target filtering using dns_client (accept due to subdomain) ($n)"
+ echo_i "checking CNAME target filtering using dns_client (accept due to subdomain) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 cname.sub.example.org > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 cname.sub.example.org > sample.out.ns1.test${n} || ret=1
grep "cname.sub.example.org..*.ok.sub.example.org." sample.out.ns1.test${n} > /dev/null || ret=1
grep "ok.sub.example.org..*.192.0.2.1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking DNAME target filtering (deny) ($n)"
+echo_i "checking DNAME target filtering (deny) ($n)"
ret=0
-$DIG +tcp foo.baddname.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp foo.baddname.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: SERVFAIL" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking DNAME target filtering (accept) ($n)"
+echo_i "checking DNAME target filtering (accept) ($n)"
ret=0
-$DIG +tcp foo.gooddname.example.net @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp foo.gooddname.example.net @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking DNAME target filtering using dns_client (accept) ($n)"
+ echo_i "checking DNAME target filtering using dns_client (accept) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 foo.gooddname.example.net > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 foo.gooddname.example.net > sample.out.ns1.test${n} || ret=1
grep "foo.gooddname.example.net..*.gooddname.example.org" sample.out.ns1.test${n} > /dev/null || ret=1
grep "foo.gooddname.example.org..*.192.0.2.1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I:checking DNAME target filtering (accept due to subdomain) ($n)"
+echo_i "checking DNAME target filtering (accept due to subdomain) ($n)"
ret=0
-$DIG +tcp www.dname.sub.example.org @10.53.0.1 a -p 5300 > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS +tcp www.dname.sub.example.org @10.53.0.1 a > dig.out.ns1.test${n} || ret=1
grep "status: NOERROR" dig.out.ns1.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ -x ${SAMPLE} ] ; then
n=`expr $n + 1`
- echo "I:checking DNAME target filtering using dns_client (accept due to subdomain) ($n)"
+ echo_i "checking DNAME target filtering using dns_client (accept due to subdomain) ($n)"
ret=0
- ${SAMPLE} -p 5300 -t a 10.53.0.1 www.dname.sub.example.org > sample.out.ns1.test${n} || ret=1
+ ${SAMPLE} $SAMPLEOPTS -t a 10.53.0.1 www.dname.sub.example.org > sample.out.ns1.test${n} || ret=1
grep "www.dname.sub.example.org..*.ok.sub.example.org." sample.out.ns1.test${n} > /dev/null || ret=1
grep "www.ok.sub.example.org..*.192.0.2.1" sample.out.ns1.test${n} > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
n=`expr $n + 1`
-echo "I: RT21594 regression test check setup ($n)"
+echo_i "RT21594 regression test check setup ($n)"
ret=0
# Check that "aa" is not being set by the authoritative server.
-$DIG +tcp . @10.53.0.4 soa -p 5300 > dig.ns4.out.${n} || ret=1
+$DIG $DIGOPTS +tcp . @10.53.0.4 soa > dig.ns4.out.${n} || ret=1
grep 'flags: qr rd;' dig.ns4.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: RT21594 regression test positive answers ($n)"
+echo_i "RT21594 regression test positive answers ($n)"
ret=0
# Check that resolver accepts the non-authoritative positive answers.
-$DIG +tcp . @10.53.0.5 soa -p 5300 > dig.ns5.out.${n} || ret=1
+$DIG $DIGOPTS +tcp . @10.53.0.5 soa > dig.ns5.out.${n} || ret=1
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: RT21594 regression test NODATA answers ($n)"
+echo_i "RT21594 regression test NODATA answers ($n)"
ret=0
# Check that resolver accepts the non-authoritative nodata answers.
-$DIG +tcp . @10.53.0.5 txt -p 5300 > dig.ns5.out.${n} || ret=1
+$DIG $DIGOPTS +tcp . @10.53.0.5 txt > dig.ns5.out.${n} || ret=1
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: RT21594 regression test NXDOMAIN answers ($n)"
+echo_i "RT21594 regression test NXDOMAIN answers ($n)"
ret=0
# Check that resolver accepts the non-authoritative positive answers.
-$DIG +tcp noexistant @10.53.0.5 txt -p 5300 > dig.ns5.out.${n} || ret=1
+$DIG $DIGOPTS +tcp noexistant @10.53.0.5 txt > dig.ns5.out.${n} || ret=1
grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that replacement of additional data by a negative cache no data entry clears the additional RRSIGs ($n)"
+echo_i "check that replacement of additional data by a negative cache no data entry clears the additional RRSIGs ($n)"
ret=0
-$DIG +tcp mx example.net @10.53.0.7 -p 5300 > dig.ns7.out.${n} || ret=1
+$DIG $DIGOPTS +tcp mx example.net @10.53.0.7 > dig.ns7.out.${n} || ret=1
grep "status: NOERROR" dig.ns7.out.${n} > /dev/null || ret=1
-if [ $ret = 1 ]; then echo "I:mx priming failed"; fi
+if [ $ret = 1 ]; then echo_i "mx priming failed"; fi
$NSUPDATE << EOF
-server 10.53.0.6 5300
+server 10.53.0.6 ${PORT}
zone example.net
update delete mail.example.net A
update add mail.example.net 0 AAAA ::1
send
EOF
-$DIG +tcp a mail.example.net @10.53.0.7 -p 5300 > dig.ns7.out.${n} || ret=2
+$DIG $DIGOPTS +tcp a mail.example.net @10.53.0.7 > dig.ns7.out.${n} || ret=2
grep "status: NOERROR" dig.ns7.out.${n} > /dev/null || ret=2
grep "ANSWER: 0" dig.ns7.out.${n} > /dev/null || ret=2
-if [ $ret = 2 ]; then echo "I:ncache priming failed"; fi
-$DIG +tcp mx example.net @10.53.0.7 -p 5300 > dig.ns7.out.${n} || ret=3
+if [ $ret = 2 ]; then echo_i "ncache priming failed"; fi
+$DIG $DIGOPTS +tcp mx example.net @10.53.0.7 > dig.ns7.out.${n} || ret=3
grep "status: NOERROR" dig.ns7.out.${n} > /dev/null || ret=3
-$DIG +tcp rrsig mail.example.net +norec @10.53.0.7 -p 5300 > dig.ns7.out.${n} || ret=4
+$DIG $DIGOPTS +tcp rrsig mail.example.net +norec @10.53.0.7 > dig.ns7.out.${n} || ret=4
grep "status: NOERROR" dig.ns7.out.${n} > /dev/null || ret=4
grep "ANSWER: 0" dig.ns7.out.${n} > /dev/null || ret=4
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that update a nameservers address has immediate effects ($n)"
+echo_i "checking that update a nameservers address has immediate effects ($n)"
ret=0
-$DIG +tcp TXT foo.moves @10.53.0.7 -p 5300 > dig.ns7.foo.${n} || ret=1
-grep "From NS 5" dig.ns7.foo.${n} > /dev/null || ret=1
+$DIG $DIGOPTS +tcp TXT foo.moves @10.53.0.7 > dig.ns7.foo.${n} || ret=1
+grep "From NS 5" dig.ns7.foo.${n} > /dev/null || ret=1
$NSUPDATE << EOF
-server 10.53.0.7 5300
+server 10.53.0.7 ${PORT}
zone server
update delete ns.server A
update add ns.server 300 A 10.53.0.4
send
EOF
sleep 1
-$DIG +tcp TXT bar.moves @10.53.0.7 -p 5300 > dig.ns7.bar.${n} || ret=1
+$DIG $DIGOPTS +tcp TXT bar.moves @10.53.0.7 > dig.ns7.bar.${n} || ret=1
grep "From NS 4" dig.ns7.bar.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; status=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; status=1; fi
n=`expr $n + 1`
-echo "I:checking that update a nameservers glue has immediate effects ($n)"
+echo_i "checking that update a nameservers glue has immediate effects ($n)"
ret=0
-$DIG +tcp TXT foo.child.server @10.53.0.7 -p 5300 > dig.ns7.foo.${n} || ret=1
-grep "From NS 5" dig.ns7.foo.${n} > /dev/null || ret=1
+$DIG $DIGOPTS +tcp TXT foo.child.server @10.53.0.7 > dig.ns7.foo.${n} || ret=1
+grep "From NS 5" dig.ns7.foo.${n} > /dev/null || ret=1
$NSUPDATE << EOF
-server 10.53.0.7 5300
+server 10.53.0.7 ${PORT}
zone server
update delete ns.child.server A
update add ns.child.server 300 A 10.53.0.4
send
EOF
sleep 1
-$DIG +tcp TXT bar.child.server @10.53.0.7 -p 5300 > dig.ns7.bar.${n} || ret=1
+$DIG $DIGOPTS +tcp TXT bar.child.server @10.53.0.7 > dig.ns7.bar.${n} || ret=1
grep "From NS 4" dig.ns7.bar.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; status=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; status=1; fi
n=`expr $n + 1`
-echo "I:checking empty RFC 1918 reverse zones ($n)"
+echo_i "checking empty RFC 1918 reverse zones ($n)"
ret=0
# Check that "aa" is being set by the resolver for RFC 1918 zones
# except the one that has been deliberately disabled
-$DIG @10.53.0.7 -p 5300 -x 10.1.1.1 > dig.ns4.out.1.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 10.1.1.1 > dig.ns4.out.1.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.1.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 192.168.1.1 > dig.ns4.out.2.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 192.168.1.1 > dig.ns4.out.2.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.2.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.16.1.1 > dig.ns4.out.3.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.16.1.1 > dig.ns4.out.3.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.3.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.17.1.1 > dig.ns4.out.4.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.17.1.1 > dig.ns4.out.4.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.4.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.18.1.1 > dig.ns4.out.5.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.18.1.1 > dig.ns4.out.5.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.5.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.19.1.1 > dig.ns4.out.6.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.19.1.1 > dig.ns4.out.6.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.6.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.21.1.1 > dig.ns4.out.7.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.21.1.1 > dig.ns4.out.7.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.7.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.22.1.1 > dig.ns4.out.8.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.22.1.1 > dig.ns4.out.8.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.8.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.23.1.1 > dig.ns4.out.9.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.23.1.1 > dig.ns4.out.9.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.9.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.24.1.1 > dig.ns4.out.11.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.24.1.1 > dig.ns4.out.11.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.11.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.25.1.1 > dig.ns4.out.12.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.25.1.1 > dig.ns4.out.12.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.12.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.26.1.1 > dig.ns4.out.13.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.26.1.1 > dig.ns4.out.13.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.13.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.27.1.1 > dig.ns4.out.14.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.27.1.1 > dig.ns4.out.14.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.14.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.28.1.1 > dig.ns4.out.15.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.28.1.1 > dig.ns4.out.15.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.15.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.29.1.1 > dig.ns4.out.16.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.29.1.1 > dig.ns4.out.16.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.16.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.30.1.1 > dig.ns4.out.17.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.30.1.1 > dig.ns4.out.17.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.17.${n} > /dev/null || ret=1
-$DIG @10.53.0.7 -p 5300 -x 172.31.1.1 > dig.ns4.out.18.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.31.1.1 > dig.ns4.out.18.${n} || ret=1
grep 'flags: qr aa rd ra;' dig.ns4.out.18.${n} > /dev/null || ret=1
# but this one should NOT be authoritative
-$DIG @10.53.0.7 -p 5300 -x 172.20.1.1 > dig.ns4.out.19.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 -x 172.20.1.1 > dig.ns4.out.19.${n} || ret=1
grep 'flags: qr rd ra;' dig.ns4.out.19.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; status=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; status=1; fi
n=`expr $n + 1`
-echo "I:checking that removal of a delegation is honoured ($n)"
+echo_i "checking that removal of a delegation is honoured ($n)"
ret=0
-$DIG -p 5300 @10.53.0.5 www.to-be-removed.tld A > dig.ns5.prime.${n}
-grep "status: NOERROR" dig.ns5.prime.${n} > /dev/null || { ret=1; echo "I: priming failed"; }
+$DIG $DIGOPTS @10.53.0.5 www.to-be-removed.tld A > dig.ns5.prime.${n}
+grep "status: NOERROR" dig.ns5.prime.${n} > /dev/null || { ret=1; echo_i "priming failed"; }
cp ns4/tld2.db ns4/tld.db
-($RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reload tld 2>&1 ) |
-sed -e '/reload queued/d' -e 's/^/I:ns4 /'
+($RNDCCMD 10.53.0.4 reload tld 2>&1 ) |
+sed -e '/reload queued/d' -e 's/^/ns4 /' | cat_i
old=
for i in 0 1 2 3 4 5 6 7 8 9
do
foo=0
- $DIG -p 5300 @10.53.0.5 ns$i.to-be-removed.tld A > /dev/null
- $DIG -p 5300 @10.53.0.5 www.to-be-removed.tld A > dig.ns5.out.${n}
+ $DIG $DIGOPTS @10.53.0.5 ns$i.to-be-removed.tld A > /dev/null
+ $DIG $DIGOPTS @10.53.0.5 www.to-be-removed.tld A > dig.ns5.out.${n}
grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || foo=1
[ $foo = 0 ] && break
$NSUPDATE << EOF
-server 10.53.0.6 5300
+server 10.53.0.6 ${PORT}
zone to-be-removed.tld
update add to-be-removed.tld 100 NS ns${i}.to-be-removed.tld
update delete to-be-removed.tld NS ns${old}.to-be-removed.tld
old=$i
sleep 1
done
-[ $ret = 0 ] && ret=$foo;
-if [ $ret != 0 ]; then echo "I:failed"; status=1; fi
+[ $ret = 0 ] && ret=$foo;
+if [ $ret != 0 ]; then echo_i "failed"; status=1; fi
n=`expr $n + 1`
-echo "I:check for improved error message with SOA mismatch ($n)"
+echo_i "check for improved error message with SOA mismatch ($n)"
ret=0
-$DIG @10.53.0.1 -p 5300 www.sub.broken aaaa > dig.out.ns1.test${n} || ret=1
+$DIG $DIGOPTS @10.53.0.1 www.sub.broken aaaa > dig.out.ns1.test${n} || ret=1
grep "not subdomain of zone" ns1/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-cp ns7/named2.conf ns7/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 reconfig 2>&1 | sed 's/^/I:ns7 /'
+copy_setports ns7/named2.conf.in ns7/named.conf
+$RNDCCMD 10.53.0.7 reconfig 2>&1 | sed 's/^/ns7 /' | cat_i
n=`expr $n + 1`
-echo "I:check resolution on the listening port ($n)"
+echo_i "check resolution on the listening port ($n)"
ret=0
-$DIG +tcp +tries=2 +time=5 mx example.net @10.53.0.7 -p 5300 > dig.ns7.out.${n} || ret=2
+$DIG $DIGOPTS +tcp +tries=2 +time=5 mx example.net @10.53.0.7 > dig.ns7.out.${n} || ret=2
grep "status: NOERROR" dig.ns7.out.${n} > /dev/null || ret=1
grep "ANSWER: 1" dig.ns7.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
+if [ $ret != 0 ]; then echo_i "failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that '-t aaaa' in .digrc does not have unexpected side effects ($n)"
+echo_i "check that '-t aaaa' in .digrc does not have unexpected side effects ($n)"
ret=0
echo "-t aaaa" > .digrc
-env HOME=`pwd` $DIG @10.53.0.4 -p 5300 . > dig.out.1.${n} || ret=1
-env HOME=`pwd` $DIG @10.53.0.4 -p 5300 . A > dig.out.2.${n} || ret=1
-env HOME=`pwd` $DIG @10.53.0.4 -p 5300 -x 127.0.0.1 > dig.out.3.${n} || ret=1
+env HOME=`pwd` $DIG $DIGOPTS @10.53.0.4 . > dig.out.1.${n} || ret=1
+env HOME=`pwd` $DIG $DIGOPTS @10.53.0.4 . A > dig.out.2.${n} || ret=1
+env HOME=`pwd` $DIG $DIGOPTS @10.53.0.4 -x 127.0.0.1 > dig.out.3.${n} || ret=1
grep ';\..*IN.*AAAA$' dig.out.1.${n} > /dev/null || ret=1
grep ';\..*IN.*A$' dig.out.2.${n} > /dev/null || ret=1
grep 'extra type option' dig.out.2.${n} > /dev/null && ret=1
grep ';1\.0\.0\.127\.in-addr\.arpa\..*IN.*PTR$' dig.out.3.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that CNAME nameserver is logged correctly (${n})"
+echo_i "check that CNAME nameserver is logged correctly (${n})"
ret=0
-$DIG soa all-cnames @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS soa all-cnames @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: SERVFAIL" dig.out.ns5.test${n} > /dev/null || ret=1
grep "skipping nameserver 'cname.tld' because it is a CNAME, while resolving 'all-cnames/SOA'" ns5/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that SOA query returns data for delegation-only apex (${n})"
+echo_i "check that SOA query returns data for delegation-only apex (${n})"
ret=0
-$DIG soa delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS soa delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
n=`expr $n + 1`
-echo "I:check that NS query returns data for delegation-only apex (${n})"
+echo_i "check that NS query returns data for delegation-only apex (${n})"
ret=0
-$DIG ns delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS ns delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that A query returns data for delegation-only A apex (${n})"
+echo_i "check that A query returns data for delegation-only A apex (${n})"
ret=0
-$DIG a delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS a delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that CDS query returns data for delegation-only apex (${n})"
+echo_i "check that CDS query returns data for delegation-only apex (${n})"
ret=0
-$DIG cds delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS cds delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that AAAA query returns data for delegation-only AAAA apex (${n})"
+echo_i "check that AAAA query returns data for delegation-only AAAA apex (${n})"
ret=0
-$DIG a delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS a delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that DNSKEY query returns data for delegation-only apex (${n})"
+echo_i "check that DNSKEY query returns data for delegation-only apex (${n})"
ret=0
-$DIG dnskey delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS dnskey delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that CDNSKEY query returns data for delegation-only apex (${n})"
+echo_i "check that CDNSKEY query returns data for delegation-only apex (${n})"
ret=0
-$DIG cdnskey delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS cdnskey delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that NXDOMAIN is returned for delegation-only non-apex A data (${n})"
+echo_i "check that NXDOMAIN is returned for delegation-only non-apex A data (${n})"
ret=0
-$DIG a a.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS a a.delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that NXDOMAIN is returned for delegation-only non-apex CDS data (${n})"
+echo_i "check that NXDOMAIN is returned for delegation-only non-apex CDS data (${n})"
ret=0
-$DIG cds cds.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS cds cds.delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that NXDOMAIN is returned for delegation-only non-apex AAAA data (${n})"
+echo_i "check that NXDOMAIN is returned for delegation-only non-apex AAAA data (${n})"
ret=0
-$DIG aaaa aaaa.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS aaaa aaaa.delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that NXDOMAIN is returned for delegation-only non-apex CDNSKEY data (${n})"
+echo_i "check that NXDOMAIN is returned for delegation-only non-apex CDNSKEY data (${n})"
ret=0
-$DIG cdnskey cdnskey.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+$DIG $DIGOPTS cdnskey cdnskey.delegation-only @10.53.0.5 > dig.out.ns5.test${n} || ret=1
grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check zero ttl not returned for learnt non zero ttl records (${n})"
+echo_i "check zero ttl not returned for learnt non zero ttl records (${n})"
ret=0
# use prefetch disabled server
-$DIG @10.53.0.7 -p 5300 non-zero.example.net txt > dig.out.1.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 non-zero.example.net txt > dig.out.1.${n} || ret=1
ttl1=`awk '/"A" "short" "ttl"/ { print $2 - 2 }' dig.out.1.${n}`
# sleep so we are in expire range
sleep ${ttl1:-0}
zerotonine="$zerotonine $zerotonine $zerotonine"
for i in $zerotonine $zerotonine $zerotonine $zerotonine
do
- $DIG @10.53.0.7 -p 5300 non-zero.example.net txt > dig.out.2.${n} || ret=1
+ $DIG $DIGOPTS @10.53.0.7 non-zero.example.net txt > dig.out.2.${n} || ret=1
ttl2=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.2.${n}`
test ${ttl2:-1} -eq 0 && break
test ${ttl2:-1} -ge ${ttl1:-0} && break
done
test ${ttl2:-1} -eq 0 && ret=1
test ${ttl2:-1} -ge ${ttl1:-0} || break
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check zero ttl is returned for learnt zero ttl records (${n})"
+echo_i "check zero ttl is returned for learnt zero ttl records (${n})"
ret=0
-$DIG @10.53.0.7 -p 5300 zero.example.net txt > dig.out.1.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.7 zero.example.net txt > dig.out.1.${n} || ret=1
ttl=`awk '/"A" "zero" "ttl"/ { print $2 }' dig.out.1.${n}`
test ${ttl:-1} -eq 0 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that 'ad' in not returned in truncated answer with empty answer and authority sections to request with +ad (${n})"
+echo_i "check that 'ad' in not returned in truncated answer with empty answer and authority sections to request with +ad (${n})"
ret=0
-$DIG @10.53.0.6 -p 5300 dnskey ds.example.net +bufsize=512 +ad +nodnssec +ignore +norec > dig.out.$n
+$DIG $DIGOPTS @10.53.0.6 dnskey ds.example.net +bufsize=512 +ad +nodnssec +ignore +norec > dig.out.$n
grep "flags: qr aa tc; QUERY: 1, ANSWER: 0, AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check that 'ad' in not returned in truncated answer with empty answer and authority sections to request with +dnssec (${n})"
+echo_i "check that 'ad' in not returned in truncated answer with empty answer and authority sections to request with +dnssec (${n})"
ret=0
-$DIG @10.53.0.6 -p 5300 dnskey ds.example.net +bufsize=512 +noad +dnssec +ignore +norec > dig.out.$n
+$DIG $DIGOPTS @10.53.0.6 dnskey ds.example.net +bufsize=512 +noad +dnssec +ignore +norec > dig.out.$n
grep "flags: qr aa tc; QUERY: 1, ANSWER: 0, AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that the resolver accepts a reply with empty question section with TC=1 and retries over TCP ($n)"
+echo_i "check that the resolver accepts a reply with empty question section with TC=1 and retries over TCP ($n)"
ret=0
-$DIG @10.53.0.5 -p 5300 truncated.no-questions. a > dig.ns5.out.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.5 truncated.no-questions. a > dig.ns5.out.${n} || ret=1
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null || ret=1
grep "ANSWER: 1," dig.ns5.out.${n} > /dev/null || ret=1
grep "1.2.3.4" dig.ns5.out.${n} > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: check that the resolver rejects a reply with empty question section with TC=0 ($n)"
+echo_i "check that the resolver rejects a reply with empty question section with TC=0 ($n)"
ret=0
-$DIG @10.53.0.5 -p 5300 not-truncated.no-questions. a > dig.ns5.out.${n} || ret=1
+$DIG $DIGOPTS @10.53.0.5 not-truncated.no-questions. a > dig.ns5.out.${n} || ret=1
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null && ret=1
grep "ANSWER: 1," dig.ns5.out.${n} > /dev/null && ret=1
grep "1.2.3.4" dig.ns5.out.${n} > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2011/06/10 01:32:37 each Exp $ */
-
-controls { /* empty */ };
-
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.2; };
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; secondkey; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; secondkey; };
};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-controls { /* empty */ };
-
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; secondkey; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; secondkey; };
};
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
$SHELL ../genzone.sh 2 >ns2/nil.db
$SHELL ../genzone.sh 2 >ns2/other.db
$SHELL ../genzone.sh 2 >ns2/static.db
+
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.4 2011/06/10 01:32:37 each Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
-DIGCMD="$DIG $DIGOPTS @10.53.0.2 -p 5300"
-RNDCCMD="$RNDC -s 10.53.0.2 -p 9953 -c ../common/rndc.conf"
+DIGCMD="$DIG $DIGOPTS @10.53.0.2 -p ${PORT}"
+RNDCCMD="$RNDC -p ${CONTROLPORT} -c ../common/rndc.conf -s"
status=0
n=0
n=`expr $n + 1`
-echo "I:preparing ($n)"
+echo_i "preparing ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > /dev/null 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > /dev/null 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text1.nil. 600 IN TXT "addition 1"
send
END
[ -s ns2/nil.db.jnl ] || {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
[ -s ns2/other.db.jnl ] || {
- echo "I: 'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:rndc freeze"
-$RNDCCMD freeze | sed 's/^/I:ns2 /'
+echo_i "rndc freeze"
+$RNDCCMD 10.53.0.2 freeze | sed 's/^/ns2 /' | cat_i | cat_i
n=`expr $n + 1`
-echo "I:checking zone was dumped ($n)"
+echo_i "checking zone was dumped ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
sleep 1
done
grep "addition 1" ns2/nil.db > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking journal file is still present ($n)"
+echo_i "checking journal file is still present ($n)"
ret=0
[ -s ns2/nil.db.jnl ] || {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking zone not writable ($n)"
+echo_i "checking zone not writable ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > /dev/null 2>&1 <<END && ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > /dev/null 2>&1 <<END && ret=1
server 10.53.0.2
zone nil.
update add text2.nil. 600 IN TXT "addition 2"
$DIGCMD text2.nil. TXT > dig.out.1.test$n
grep 'addition 2' dig.out.1.test$n >/dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:rndc thaw"
-$RNDCCMD thaw | sed 's/^/I:ns2 /'
+echo_i "rndc thaw"
+$RNDCCMD 10.53.0.2 thaw | sed 's/^/ns2 /' | cat_i
n=`expr $n + 1`
-echo "I:checking zone now writable ($n)"
+echo_i "checking zone now writable ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text3.nil. 600 IN TXT "addition 3"
END
$DIGCMD text3.nil. TXT > dig.out.1.test$n
grep 'addition 3' dig.out.1.test$n >/dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:rndc sync"
+echo_i "rndc sync"
ret=0
-$RNDCCMD sync nil | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 sync nil | sed 's/^/ns2 /' | cat_i
n=`expr $n + 1`
-echo "I:checking zone was dumped ($n)"
+echo_i "checking zone was dumped ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
sleep 1
done
grep "addition 3" ns2/nil.db > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking journal file is still present ($n)"
+echo_i "checking journal file is still present ($n)"
ret=0
[ -s ns2/nil.db.jnl ] || {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking zone is still writable ($n)"
+echo_i "checking zone is still writable ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text4.nil. 600 IN TXT "addition 4"
$DIGCMD text4.nil. TXT > dig.out.1.test$n
grep 'addition 4' dig.out.1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:rndc sync -clean"
+echo_i "rndc sync -clean"
ret=0
-$RNDCCMD sync -clean nil | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 sync -clean nil | sed 's/^/ns2 /' | cat_i
n=`expr $n + 1`
-echo "I:checking zone was dumped ($n)"
+echo_i "checking zone was dumped ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10
do
sleep 1
done
grep "addition 4" ns2/nil.db > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking journal file is deleted ($n)"
+echo_i "checking journal file is deleted ($n)"
ret=0
[ -s ns2/nil.db.jnl ] && {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking zone is still writable ($n)"
+echo_i "checking zone is still writable ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > /dev/null 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > /dev/null 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text5.nil. 600 IN TXT "addition 5"
$DIGCMD text4.nil. TXT > dig.out.1.test$n
grep 'addition 4' dig.out.1.test$n >/dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking other journal files not removed ($n)"
+echo_i "checking other journal files not removed ($n)"
ret=0
[ -s ns2/other.db.jnl ] || {
- echo "I: 'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:cleaning all zones"
-$RNDCCMD sync -clean | sed 's/^/I:ns2 /'
+echo_i "cleaning all zones"
+$RNDCCMD 10.53.0.2 sync -clean | sed 's/^/ns2 /' | cat_i
n=`expr $n + 1`
-echo "I:checking all journals removed ($n)"
+echo_i "checking all journals removed ($n)"
ret=0
[ -s ns2/nil.db.jnl ] && {
- echo "I: 'test -s ns2/nil.db.jnl' succeeded when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' succeeded when it shouldn't have"; ret=1;
}
[ -s ns2/other.db.jnl ] && {
- echo "I: 'test -s ns2/other.db.jnl' succeeded when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/other.db.jnl' succeeded when it shouldn't have"; ret=1;
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that freezing static zones is not allowed ($n)"
+echo_i "checking that freezing static zones is not allowed ($n)"
ret=0
-$RNDCCMD freeze static > rndc.out.1.test$n 2>&1
+$RNDCCMD 10.53.0.2 freeze static > rndc.out.1.test$n 2>&1
grep 'not dynamic' rndc.out.1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that journal is removed when serial is changed before thaw ($n)"
+echo_i "checking that journal is removed when serial is changed before thaw ($n)"
ret=0
sleep 1
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone other.
update add text6.other. 600 IN TXT "addition 6"
send
END
[ -s ns2/other.db.jnl ] || {
- echo "I: 'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/other.db.jnl' failed when it shouldn't have"; ret=1;
}
-$RNDCCMD freeze other 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 freeze other 2>&1 | sed 's/^/ns2 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9 10
do
grep "addition 6" ns2/other.db > /dev/null && break
sed s/$serial/$newserial/ ns2/other.db > ns2/other.db.new
echo 'frozen TXT "frozen addition"' >> ns2/other.db.new
mv -f ns2/other.db.new ns2/other.db
-$RNDCCMD thaw 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 thaw 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 1
[ -f ns2/other.db.jnl ] && {
- echo "I: 'test -f ns2/other.db.jnl' succeeded when it shouldn't have"; ret=1;
+ echo_i "'test -f ns2/other.db.jnl' succeeded when it shouldn't have"; ret=1;
}
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.2.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.2.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone other.
update add text7.other. 600 IN TXT "addition 7"
grep 'addition 7' dig.out.2.test$n >/dev/null || ret=1
$DIGCMD frozen.other. TXT > dig.out.3.test$n
grep 'frozen addition' dig.out.3.test$n >/dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking that journal is kept when ixfr-from-differences is in use ($n)"
+echo_i "checking that journal is kept when ixfr-from-differences is in use ($n)"
ret=0
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.1.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text6.nil. 600 IN TXT "addition 6"
send
END
[ -s ns2/nil.db.jnl ] || {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
-$RNDCCMD freeze nil 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 freeze nil 2>&1 | sed 's/^/ns2 /' | cat_i
for i in 1 2 3 4 5 6 7 8 9 10
do
grep "addition 6" ns2/nil.db > /dev/null && break
sed s/$serial/$newserial/ ns2/nil.db > ns2/nil.db.new
echo 'frozen TXT "frozen addition"' >> ns2/nil.db.new
mv -f ns2/nil.db.new ns2/nil.db
-$RNDCCMD thaw 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 thaw 2>&1 | sed 's/^/ns2 /' | cat_i
sleep 1
[ -s ns2/nil.db.jnl ] || {
- echo "I: 'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
+ echo_i "'test -s ns2/nil.db.jnl' failed when it shouldn't have"; ret=1;
}
-$NSUPDATE -p 5300 -k ns2/session.key > nsupdate.out.2.test$n 2>&1 <<END || ret=1
+$NSUPDATE -p ${PORT} -k ns2/session.key > nsupdate.out.2.test$n 2>&1 <<END || ret=1
server 10.53.0.2
zone nil.
update add text7.nil. 600 IN TXT "addition 7"
grep 'addition 7' dig.out.2.test$n > /dev/null || ret=1
$DIGCMD frozen.nil. TXT > dig.out.3.test$n
grep 'frozen addition' dig.out.3.test$n >/dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:test using second key ($n)"
+echo_i "test using second key ($n)"
ret=0
-$RNDC -s 10.53.0.2 -p 9953 -c ns2/secondkey.conf status > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDC -s 10.53.0.2 -p ${CONTROLPORT} -c ns2/secondkey.conf status > /dev/null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:test 'rndc dumpdb' on a empty cache ($n)"
+echo_i "test 'rndc dumpdb' on a empty cache ($n)"
ret=0
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf dumpdb > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 dumpdb > /dev/null || ret=1
for i in 1 2 3 4 5 6 7 8 9
do
tmp=0
sleep 1
done
[ $tmp -eq 1 ] && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing rndc with null command ($n)"
+echo_i "testing rndc with null command ($n)"
ret=0
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+$RNDCCMD 10.53.0.3 null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing rndc with unknown control channel command ($n)"
+echo_i "testing rndc with unknown control channel command ($n)"
ret=0
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf obviouslynotacommand >/dev/null 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 obviouslynotacommand >/dev/null 2>&1 && ret=1
# rndc: 'obviouslynotacommand' failed: unknown command
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing rndc with querylog command ($n)"
+echo_i "testing rndc with querylog command ($n)"
ret=0
# first enable it with querylog on option
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf querylog on >/dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 querylog on >/dev/null 2>&1 || ret=1
grep "query logging is now on" ns3/named.run > /dev/null || ret=1
# query for builtin and check if query was logged
-$DIG @10.53.0.3 -p 5300 -c ch -t txt foo12345.bind > /dev/null || ret=1
+$DIG $DIGOPTS @10.53.0.3 -c ch -t txt foo12345.bind > /dev/null || ret=1
# toggle query logging and check again
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf querylog >/dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 querylog >/dev/null 2>&1 || ret=1
grep "query logging is now off" ns3/named.run > /dev/null || ret=1
# query for another builtin zone and check if query was logged
-$DIG @10.53.0.3 -p 5300 -c ch -t txt foo9876.bind > /dev/null || ret=1
+$DIG $DIGOPTS @10.53.0.3 -c ch -t txt foo9876.bind > /dev/null || ret=1
grep "query: foo9876.bind CH TXT" ns3/named.run > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:testing rndc with a token containing a space ($n)"
+echo_i "testing rndc with a token containing a space ($n)"
ret=0
-$RNDC -s 10.53.0.4 -p 9953 -c ../common/rndc.conf flush '"view with a space"' 2>&1 > rndc.out.1.test$n || ret=1
+$RNDCCMD 10.53.0.4 flush '"view with a space"' 2>&1 > rndc.out.1.test$n || ret=1
grep "not found" rndc.out.1.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:test 'rndc reconfig' with a broken config ($n)"
+echo_i "test 'rndc reconfig' with a broken config ($n)"
ret=0
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reconfig > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 reconfig > /dev/null || ret=1
sleep 1
mv ns3/named.conf ns3/named.conf.save
echo "error error error" >> ns3/named.conf
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reconfig > rndc.out.1.test$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.3 reconfig > rndc.out.1.test$n 2>&1 && ret=1
grep "rndc: 'reconfig' failed: unexpected token" rndc.out.1.test$n > /dev/null || ret=1
mv ns3/named.conf.save ns3/named.conf
sleep 1
-$RNDC -s 10.53.0.3 -p 9953 -c ../common/rndc.conf reconfig > /dev/null || ret=1
+$RNDCCMD 10.53.0.3 reconfig > /dev/null || ret=1
sleep 1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:verify that the full command is logged ($n)"
+echo_i "verify that the full command is logged ($n)"
ret=0
-$RNDCCMD null with extra arguments > /dev/null 2>&1
+$RNDCCMD 10.53.0.2 null with extra arguments > /dev/null 2>&1
grep "received control channel command 'null with extra arguments'" ns2/named.run > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check 'rndc \"\"' is handled ($n)"
+echo_i "check 'rndc \"\"' is handled ($n)"
ret=0
-$RNDCCMD "" > rndc.out.1.test$n 2>&1 && ret=1
+$RNDCCMD 10.53.0.2 "" > rndc.out.1.test$n 2>&1 && ret=1
grep "rndc: '' failed: failure" rndc.out.1.test$n > /dev/null
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns3/bl*.db ns*/*switch ns5/requests ns5/example.db ns5/bl.db ns5/*.perf
rm -f */named.memstats */named.run */named.stats */session.key
rm -f */*.jnl */*.core */*.pid
+rm -f ns*/named.conf
+rm -f tmp
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
session-keyfile "session.key";
pid-file "named.pid";
listen-on { 10.53.0.1; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.2; };
algorithm hmac-sha256;
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
include "../trusted.conf";
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
-
/*
* Main rpz test DNS server.
*/
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
statistics-file "named.stats";
session-keyfile "session.key";
algorithm hmac-md5;
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.4; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
-
-
/*
* Test rpz performance.
*/
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
statistics-file "named.stats";
session-keyfile "session.key";
algorithm hmac-md5;
};
controls {
- inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
-
include "../trusted.conf";
zone "." {type hint; file "hints"; };
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
statistics-file "named.stats";
session-keyfile "session.key";
};
controls {
- inet 10.53.0.6 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.6 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
include "../trusted.conf";
$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+
# set up test policy zones. bl-2 is used to check competing zones.
# bl-{given,disabled,passthru,no-data,nxdomain,cname,wildcard,garden}
# are used to check policy overrides in named.conf.
; Separate update requests for distinct TLDs with blank lines or 'send'
; End the file with a blank line or 'send'
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; QNAME tests
; IP tests
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; NODATA a3-1.tld2
; 1
; NSDNAME tests
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; 3, 4, 5
; NXDOMAIN for *.sub1.tld2 by NSDNAME
; NSIP tests
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; NXDOMAIN for all of tld2 based on its server IP address
update add 32.2.0.53.10.rpz-nsip.bl. 300 CNAME .
; walled-garden NSIP tests
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; rewrite all of tld2 based on its server IP address
update add 32.2.0.53.10.rpz-nsip.bl. 300 A 41.41.41.41
; the policies or replacements specified in ns3/named.conf override these
-server 10.53.0.3 5300
+server 10.53.0.3 @PORT@
; 1
update add a3-1.tld2.bl-given. 300 A 127.0.0.1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
-
# test response policy zones (RPZ)
SYSTEMTESTTOP=..
TS=
comment () {
if test -n "$TS"; then
- date "+I:${TS}$*"
+ date "+${TS}$*" | cat_i
fi
}
-RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p 9953 -s"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
digcmd () {
# Default to +noauth and @$ns3
# Also default to -bX where X is the @value so that OS X will choose
# the right IP source address.
- digcmd_args=`echo "+noadd +time=2 +tries=1 -p 5300 $*" | \
+ digcmd_args=`echo "+noadd +time=2 +tries=1 -p ${PORT} $*" | \
sed -e "/@/!s/.*/& @$ns3/" \
-e '/-b/!s/@\([^ ]*\)/@\1 -b\1/' \
-e '/+n?o?auth/!s/.*/+noauth &/'`
- #echo I:dig $digcmd_args 1>&2
+ #echo_i "dig $digcmd_args 1>&2
$DIG $digcmd_args
}
setret () {
ret=1
status=`expr $status + 1`
- echo "$*"
+ echo_i "$*"
}
# (re)load the reponse policy zones with the rules in the file $TEST_FILE
load_db () {
if test -n "$TEST_FILE"; then
$NSUPDATE -v $TEST_FILE || {
- echo "I:failed to update policy zone with $TEST_FILE"
+ echo_i "failed to update policy zone with $TEST_FILE"
exit 1
}
fi
sleep 1
PID=`cat ns$1/named.pid 2>/dev/null`
if test -n "$PID"; then
- echo "I:killing ns$1 server $PID"
+ echo_i "killing ns$1 server $PID"
kill -9 $PID
fi
fi
cp -f ns$1/base.db $NM
done
fi
- $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns$1
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns$1
load_db
}
# $1=message $2=optional test file name
start_group () {
ret=0
- test -n "$1" && date "+I:${TS}checking $1"
+ t=`expr $t + 1`
+ test -n "$1" && date "+${TS}checking $1 (${t})" | cat_i
TEST_FILE=$2
if test -n "$TEST_FILE"; then
GROUP_NM="-$TEST_FILE"
end_group () {
if test -n "$TEST_FILE"; then
# remove the previous set of test rules
- sed -e 's/[ ]add[ ]/ delete /' $TEST_FILE | $NSUPDATE
+ copy_setports $TEST_FILE tmp
+ sed -e 's/[ ]add[ ]/ delete /' tmp | $NSUPDATE
+ rm -f tmp
TEST_FILE=
fi
- ckalive $ns3 "I:failed; ns3 server crashed and restarted"
+ ckalive $ns3 "failed; ns3 server crashed and restarted"
GROUP_NM=
}
# $1=dig args $2=other dig output file
ckresult () {
- #ckalive "$1" "I:server crashed by 'dig $1'" || return 1
+ #ckalive "$1" "server crashed by 'dig $1'" || return 1
if grep "flags:.* aa .*ad;" $DIGNM; then
- setret "I:'dig $1' AA and AD set;"
+ setret "'dig $1' AA and AD set;"
elif grep "flags:.* aa .*ad;" $DIGNM; then
- setret "I:'dig $1' AD set;"
+ setret "'dig $1' AD set;"
fi
if $PERL $SYSTEMTESTTOP/digcomp.pl $DIGNM $2 >/dev/null; then
clean_result ${DIGNM}*
return 0
fi
- setret "I:'dig $1' wrong; diff $DIGNM $2"
+ setret "'dig $1' wrong; diff $DIGNM $2"
return 1
}
# $1=target domain $2=optional query type
nocrash () {
digcmd $* >/dev/null
- ckalive "$*" "I:server crashed by 'dig $*'"
+ ckalive "$*" "server crashed by 'dig $*'"
}
ADDR=$1
make_dignm
digcmd $2 >$DIGNM
- #ckalive "$2" "I:server crashed by 'dig $2'" || return 1
+ #ckalive "$2" "server crashed by 'dig $2'" || return 1
ADDR_ESC=`echo "$ADDR" | sed -e 's/\./\\\\./g'`
ADDR_TTL=`sed -n -e "s/^[-.a-z0-9]\{1,\} *\([0-9]*\) IN AA* ${ADDR_ESC}\$/\1/p" $DIGNM`
if test -z "$ADDR_TTL"; then
- setret "I:'dig $2' wrong; no address $ADDR record in $DIGNM"
+ setret "'dig $2' wrong; no address $ADDR record in $DIGNM"
return 1
fi
if test -n "$3" && test "$ADDR_TTL" -ne "$3"; then
- setret "I:'dig $2' wrong; TTL=$ADDR_TTL instead of $3 in $DIGNM"
+ setret "'dig $2' wrong; TTL=$ADDR_TTL instead of $3 in $DIGNM"
return 1
fi
clean_result ${DIGNM}*
goodsoa="rpz.tld2. hostmaster.ns.tld2. 2 3600 1200 604800 60"
for i in 0 1 2 3 4 5 6 7 8 9 10
do
- soa=`$DIG -p 5300 +short soa bl.tld2 @10.53.0.3 -b10.53.0.3`
+ soa=`$DIG -p ${PORT} +short soa bl.tld2 @10.53.0.3 -b10.53.0.3`
test "$soa" = "$goodsoa" && break
sleep 1
done
$RNDCCMD 10.53.0.2 reload bl.tld2
for i in 0 1 2 3 4 5 6 7 8 9 10
do
- soa=`$DIG -p 5300 +short soa bl.tld2 @10.53.0.3 -b10.53.0.3`
+ soa=`$DIG -p ${PORT} +short soa bl.tld2 @10.53.0.3 -b10.53.0.3`
test "$soa" = "$goodsoa" && break
sleep 1
done
end_group
NS3_STATS=`expr $NS3_STATS + 7`
else
- echo "I:NSDNAME not checked; named configured with --disable-rpz-nsdname"
+ echo_i "NSDNAME not checked; named configured with --disable-rpz-nsdname"
fi
if $FEATURETEST --rpz-nsip; then
# end_group
NS3_STATS=`expr $NS3_STATS + 1`
else
- echo "I:NSIP not checked; named configured with --disable-rpz-nsip"
+ echo_i "NSIP not checked; named configured with --disable-rpz-nsip"
fi
# policies in ./test5 overridden by response-policy{} in ns3/named.conf
QPERF=`sh qperf.sh`
if test -n "$QPERF"; then
perf () {
- date "+I:${TS}checking performance $1"
+ date "+${TS}checking performance $1" | cat_i
# Dry run to prime everything
comment "before dry run $1"
- $QPERF -c -1 -l30 -d ns5/requests -s $ns5 -p 5300 >/dev/null
+ $QPERF -c -1 -l30 -d ns5/requests -s $ns5 -p ${PORT} >/dev/null
comment "before real test $1"
PFILE="ns5/$2.perf"
- $QPERF -c -1 -l30 -d ns5/requests -s $ns5 -p 5300 >$PFILE
+ $QPERF -c -1 -l30 -d ns5/requests -s $ns5 -p ${PORT} >$PFILE
comment "after test $1"
X=`sed -n -e 's/.*Returned *\([^ ]*:\) *\([0-9]*\) .*/\1\2/p' $PFILE \
| tr '\n' ' '`
if test "$X" != "$3"; then
- setret "I:wrong results '$X' in $PFILE"
+ setret "wrong results '$X' in $PFILE"
fi
- ckalive $ns5 "I:failed; server #5 crashed"
+ ckalive $ns5 "failed; server #5 crashed"
}
trim () {
sed -n -e 's/.*Queries per second: *\([0-9]*\).*/\1/p' ns5/$1.perf
NORPZ=`trim norpz`
PERCENT=`expr \( "$RPZ" \* 100 + \( $NORPZ / 2 \) \) / $NORPZ`
- echo "I:$RPZ qps with rpz is $PERCENT% of $NORPZ qps without rpz"
+ echo_i "$RPZ qps with rpz is $PERCENT% of $NORPZ qps without rpz"
MIN_PERCENT=30
if test "$PERCENT" -lt $MIN_PERCENT; then
- echo "I:$RPZ qps with rpz or $PERCENT% is below $MIN_PERCENT% of $NORPZ qps"
+ echo_i "$RPZ qps with rpz or $PERCENT% is below $MIN_PERCENT% of $NORPZ qps"
fi
if test "$PERCENT" -ge 100; then
- echo "I:$RPZ qps with RPZ or $PERCENT% of $NORPZ qps without RPZ is too high"
+ echo_i "$RPZ qps with RPZ or $PERCENT% of $NORPZ qps without RPZ is too high"
fi
ckstats $ns5 ns5 203
-
else
- echo "I:performance not checked; queryperf not available"
+ echo_i "performance not checked; queryperf not available"
fi
ckstats $ns3 ns3 82
$PERL $SYSTEMTESTTOP/stop.pl . ns3
restart 3
HAVE_CORE=`find ns* -name '*core*' -print`
- test -z "$HAVE_CORE" || setret "I:found $HAVE_CORE; memory leak?"
+ test -z "$HAVE_CORE" || setret "found $HAVE_CORE; memory leak?"
fi
# look for complaints from lib/dns/rpz.c and bin/name/query.c
EMSGS=`egrep -l 'invalid rpz|rpz.*failed' ns*/named.run`
if test -n "$EMSGS"; then
- setret "I:error messages in $EMSGS starting with:"
- egrep 'invalid rpz|rpz.*failed' ns*/named.run | sed -e '10,$d' -e 's/^/I: /'
+ setret "error messages in $EMSGS starting with:"
+ egrep 'invalid rpz|rpz.*failed' ns*/named.run | sed -e '10,$d' | cat_i
fi
-echo "I:checking that ttl values are not zeroed when qtype is '*'"
-$DIG +noall +answer -p 5300 @$ns3 any a3-2.tld2 > dig.out.any
+echo_i "checking that ttl values are not zeroed when qtype is '*'"
+$DIG +noall +answer -p ${PORT} @$ns3 any a3-2.tld2 > dig.out.any
ttl=`awk '/a3-2 tld2 text/ {print $2}' dig.out.any`
-if test ${ttl:=0} -eq 0; then setret I:failed; fi
+if test ${ttl:=0} -eq 0; then setret "failed"; fi
-echo "I:checking rpz with delegation fails correctly"
-$DIG -p 5300 @$ns3 ns example.com > dig.out.delegation
+echo_i "checking rpz with delegation fails correctly"
+$DIG -p ${PORT} @$ns3 ns example.com > dig.out.delegation
grep "status: SERVFAIL" dig.out.delegation > /dev/null || setret "I:failed"
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-
-
# Clean up after rrl tests.
rm -f dig.out* *mdig.out*
rm -f */named.memstats */named.run */named.stats */log-* */session.key
rm -f ns3/bl*.db */*.jnl */*.core */*.pid
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
session-keyfile "session.key";
pid-file "named.pid";
listen-on { 10.53.0.1; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
session-keyfile "session.key";
pid-file "named.pid";
statistics-file "named.stats";
algorithm hmac-md5;
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
/*
* PERFORMANCE OF THIS SOFTWARE.
*/
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
session-keyfile "session.key";
pid-file "named.pid";
listen-on { 10.53.0.3; };
then
:
else
- echo "I:This test requires --enable-rrl at compile time." >&2
+ echo_i "This test requires --enable-rrl at compile time." >&2
exit 255
fi
+exit 0
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-. ./clean.sh
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-
# test response rate limiting
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
#set -x
ns1=10.53.0.1 # root, defining the others
ret=0
setret () {
ret=1
- echo "$*"
+ echo_i "$*"
}
eval BURST_DOM="$BURST_DOM_BASE"
DOMS="$DOMS $BURST_DOM"
done
- ARGS="+nocookie +continue +time=1 +tries=1 -p 5300 $* @$ns2 $DOMS"
+ ARGS="+nocookie +continue +time=1 +tries=1 -p ${PORT} $* @$ns2 $DOMS"
$MDIG $ARGS 2>&1 | tee -a full-$FILENAME | sed -n -e '/^;; AUTHORITY/,/^$/d' \
-e '/^;; ADDITIONAL/,/^$/d' \
-e 's/^[^;].* \([^ ]\{1,\}\)$/\1/p' \
NOERROR=`egrep "^NOERROR$" mdig.out-$1 2>/dev/null | wc -l`
range $ADDRS "$3" 1 ||
- setret "I:"$ADDRS" instead of $3 '$2' responses for $1" &&
+ setret "$ADDRS instead of $3 '$2' responses for $1" &&
BAD=yes
range $TC "$4" 1 ||
- setret "I:"$TC" instead of $4 truncation responses for $1" &&
+ setret "$TC instead of $4 truncation responses for $1" &&
BAD=yes
range $DROP "$5" 1 ||
- setret "I:"$DROP" instead of $5 dropped responses for $1" &&
+ setret "$DROP instead of $5 dropped responses for $1" &&
BAD=yes
range $NXDOMAIN "$6" 1 ||
- setret "I:"$NXDOMAIN" instead of $6 NXDOMAIN responses for $1" &&
+ setret "$NXDOMAIN instead of $6 NXDOMAIN responses for $1" &&
BAD=yes
range $SERVFAIL "$7" 1 ||
- setret "I:"$SERVFAIL" instead of $7 error responses for $1" &&
+ setret "$SERVFAIL instead of $7 error responses for $1" &&
BAD=yes
range $NOERROR "$8" 1 ||
- setret "I:"$NOERROR" instead of $8 NOERROR responses for $1" &&
+ setret "$NOERROR instead of $8 NOERROR responses for $1" &&
BAD=yes
if test -z "$BAD"; then
ns2/named.stats | tail -1`
C=`expr 0$C + 0`
if test "$C" -ne $EXPECTED; then
- setret "I:wrong $LABEL $TYPE statistics of $C instead of $EXPECTED"
+ setret "wrong $LABEL $TYPE statistics of $C instead of $EXPECTED"
fi
}
# as both truncated and NXDOMAIN.
ck_result 'z*.a4.tld2' x 0 3 5 5 0 0
-$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p 9953 -s $ns2 stats
+$RNDCCMD $ns2 stats
ckstats first dropped 36
ckstats first truncated 21
# NODATA responses are counted as the same regardless of qtype.
ck_result a8.tld2 x 0 2 2 0 0 4
-$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p 9953 -s $ns2 stats
+$RNDCCMD $ns2 stats
ckstats second dropped 46
ckstats second truncated 23
ck_result 'a*.a9.tld2' 192.0.2.8 50 0 10 0 0 50
-$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p 9953 -s $ns2 stats
+$RNDCCMD $ns2 stats
ckstats final dropped 56
ckstats final truncated 23
-
-echo "I:exit status: $ret"
+echo_i "exit status: $ret"
#[ $status -eq 0 ] || exit 1
-[ $ret -eq 0 ] || echo "I:test failure overridden"
+[ $ret -eq 0 ] || echo_i "test failure overridden"
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.10 2011/12/23 23:47:13 tbox Exp $
-
rm -f dig.out.test*
rm -f dig.out.cyclic dig.out.fixed dig.out.random
rm -f dig.out.0 dig.out.1 dig.out.2 dig.out.3
rm -f ns2/root.bk
rm -f ns?/named.run ns?/named.core
rm -f */named.memstats
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2007/06/19 23:47:05 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2007/06/19 23:47:05 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2007/06/18 23:47:30 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
type hint;
file "../../common/root.hint";
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2007/06/18 23:47:30 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
. $SYSTEMTESTTOP/conf.sh
DIGOPTS="+nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short"
-DIGCMD="$DIG $DIGOPTS -p 5300"
+DIGCMD="$DIG $DIGOPTS -p ${PORT}"
status=0
if grep "^#define DNS_RDATASET_FIXED" $TOP/config.h > /dev/null 2>&1 ; then
- test_fixed=true
+ test_fixed=true
else
- echo "I: Order 'fixed' disabled at compile time"
- test_fixed=false
+ echo_i "Order 'fixed' disabled at compile time"
+ test_fixed=false
fi
#
#
#
if $test_fixed; then
- echo "I: Checking order fixed (master)"
+ echo_i "Checking order fixed (master)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do
$DIGCMD @10.53.0.1 fixed.example > dig.out.fixed || ret=1
cmp -s dig.out.fixed dig.out.fixed.good || ret=1
done
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
#
#
#
-echo "I: Checking order cyclic (master + additional)"
+echo_i "Checking order cyclic (master + additional)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
-echo "I: Checking order cyclic (master)"
+echo_i "Checking order cyclic (master)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: Checking order random (master)"
+echo_i "Checking order random (master)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
done
for i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9
do
- $DIGCMD @10.53.0.1 random.example > dig.out.random || ret=1
- match=0
- for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
- do
- eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1"
- if [ $match -eq 1 ]; then break; fi
- done
- if [ $match -eq 0 ]; then ret=1; fi
+ $DIGCMD @10.53.0.1 random.example > dig.out.random || ret=1
+ match=0
+ for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
+ do
+ eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1"
+ if [ $match -eq 1 ]; then break; fi
+ done
+ if [ $match -eq 0 ]; then ret=1; fi
done
match=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
eval "match=\`expr \$match + \$match$i\`"
done
-echo "I: Random selection return $match of 24 possible orders in 36 samples"
+echo_i "Random selection return $match of 24 possible orders in 36 samples"
if [ $match -lt 8 ]; then echo ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
if $test_fixed; then
- echo "I: Checking order fixed (slave)"
+ echo_i "Checking order fixed (slave)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do
$DIGCMD @10.53.0.2 fixed.example > dig.out.fixed || ret=1
cmp -s dig.out.fixed dig.out.fixed.good || ret=1
done
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
#
#
#
-echo "I: Checking order cyclic (slave + additional)"
+echo_i "Checking order cyclic (slave + additional)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
-echo "I: Checking order cyclic (slave)"
+echo_i "Checking order cyclic (slave)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: Checking order random (slave)"
+echo_i "Checking order random (slave)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
done
for i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9
do
-$DIGCMD @10.53.0.2 random.example > dig.out.random || ret=1
- match=0
- for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
- do
- eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1"
- if [ $match -eq 1 ]; then break; fi
- done
- if [ $match -eq 0 ]; then ret=1; fi
+ $DIGCMD @10.53.0.2 random.example > dig.out.random || ret=1
+ match=0
+ for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
+ do
+ eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1"
+ if [ $match -eq 1 ]; then break; fi
+ done
+ if [ $match -eq 0 ]; then ret=1; fi
done
match=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
eval "match=\`expr \$match + \$match$i\`"
done
-echo "I: Random selection return $match of 24 possible orders in 36 samples"
+echo_i "Random selection return $match of 24 possible orders in 36 samples"
if [ $match -lt 8 ]; then echo ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: Shutting down slave"
+echo_i "Shutting down slave"
(cd ..; $SHELL stop.sh rrsetorder ns2 )
-echo "I: Checking for slave's on disk copy of zone"
+echo_i "Checking for slave's on disk copy of zone"
if [ ! -f ns2/root.bk ]
then
- echo "I:failed";
+ echo_i "failed";
status=`expr $status + 1`
fi
-echo "I: Re-starting slave"
+echo_i "Re-starting slave"
-(cd ..; $SHELL start.sh --noclean rrsetorder ns2 )
+(cd ..; $PERL start.pl --noclean --port ${PORT} rrsetorder ns2 )
#
#
#
if $test_fixed; then
- echo "I: Checking order fixed (slave loaded from disk)"
+ echo_i "Checking order fixed (slave loaded from disk)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do
$DIGCMD @10.53.0.2 fixed.example > dig.out.fixed || ret=1
cmp -s dig.out.fixed dig.out.fixed.good || ret=1
done
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
#
#
#
-echo "I: Checking order cyclic (slave + additional, loaded from disk)"
+echo_i "Checking order cyclic (slave + additional, loaded from disk)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
-echo "I: Checking order cyclic (slave loaded from disk)"
+echo_i "Checking order cyclic (slave loaded from disk)"
ret=0
matches=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: Checking order random (slave loaded from disk)"
+echo_i "Checking order random (slave loaded from disk)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
do
eval "match=\`expr \$match + \$match$i\`"
done
-echo "I: Random selection return $match of 24 possible orders in 36 samples"
+echo_i "Random selection return $match of 24 possible orders in 36 samples"
if [ $match -lt 8 ]; then echo ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
if $test_fixed; then
- echo "I: Checking order fixed (cache)"
+ echo_i "Checking order fixed (cache)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do
$DIGCMD @10.53.0.3 fixed.example > dig.out.fixed || ret=1
cmp -s dig.out.fixed dig.out.fixed.good || ret=1
done
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
#
#
#
-echo "I: Checking order cyclic (cache + additional)"
+echo_i "Checking order cyclic (cache + additional)"
ret=0
# prime acache
$DIGCMD @10.53.0.3 cyclic.example > dig.out.cyclic || ret=1
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
#
#
#
-echo "I: Checking order cyclic (cache)"
+echo_i "Checking order cyclic (cache)"
ret=0
# prime acache
$DIGCMD @10.53.0.3 cyclic2.example > dig.out.cyclic2 || ret=1
cmp -s dig.out.1 dig.out.3 && ret=1
cmp -s dig.out.2 dig.out.3 && ret=1
if [ $matches -ne 16 ]; then ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I: Checking order random (cache)"
+echo_i "Checking order random (cache)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
do
eval "match=\`expr \$match + \$match$i\`"
done
-echo "I: Random selection return $match of 24 possible orders in 36 samples"
+echo_i "Random selection return $match of 24 possible orders in 36 samples"
if [ $match -lt 8 ]; then echo ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
-echo "I: Checking default order no match in rrset-order (random)"
+echo_i "Checking default order no match in rrset-order (random)"
ret=0
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
done
for i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9
do
-$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \
- -p 5300 @10.53.0.4 random.example > dig.out.random|| ret=1
+ $DIGCMD @10.53.0.4 random.example > dig.out.random|| ret=1
match=0
for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
do
eval "match=\`expr \$match + \$match$i\`"
done
-echo "I: Random selection return $match of 24 possible orders in 36 samples"
+echo_i "Random selection return $match of 24 possible orders in 36 samples"
if [ $match -lt 8 ]; then echo ret=1; fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
-
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns1/root.db
rm -f ns2/signer.err
rm -f dig.out.*
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS1
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id$ */
-
// NS3
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
then
rm -f Kexample.*
else
- echo "I:This test requires that --with-openssl was used." >&2
+ echo_i "This test requires that --with-openssl was used." >&2
exit 255
fi
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+
cd ns1 && $SHELL -e sign.sh
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
for f in conf/good*.conf
do
- echo "I:checking '$f'"
+ echo_i "checking '$f'"
ret=0
$CHECKCONF $f > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for f in conf/bad*.conf
do
- echo "I:checking '$f'"
+ echo_i "checking '$f'"
ret=0
$CHECKCONF $f > /dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
-echo "I:checking that RSA big exponent keys can't be loaded"
+echo_i "checking that RSA big exponent keys can't be loaded"
ret=0
grep "out of range" ns2/signer.err > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking that RSA big exponent signature can't validate"
+echo_i "checking that RSA big exponent signature can't validate"
ret=0
$DIG $DIGOPTS a.example @10.53.0.2 > dig.out.ns2 || ret=1
$DIG $DIGOPTS a.example @10.53.0.3 > dig.out.ns3 || ret=1
grep "status: NOERROR" dig.out.ns2 > /dev/null || ret=1
grep "status: SERVFAIL" dig.out.ns3 > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
stopservers=true
clean=true
+baseport=5300
+
+while getopts "knp:r" flag; do
+ case "$flag" in
+ k) stopservers=false ;;
+ n) clean=false ;;
+ p) baseport=$OPTARG ;;
+ r) runall="-r" ;;
+ esac
+done
+shift `expr $OPTIND - 1`
+
+if [ $# -eq 0 ]; then
+ echofail "Usage: $0 [-k] [-n] [-p <PORT>] [-r] test-directory [test-options]" >&2;
+ exit 1
+fi
-case $1 in
- --keep|-k) stopservers=false; shift ;;
- --noclean|-n) clean=false; shift ;;
-esac
-
-test $# -gt 0 || { echo "usage: $0 [--keep|--noclean] test-directory" >&2; exit 1; }
-
-test=$1
+systest=$1
shift
-test -d $test || { echo "$0: $test: no such test" >&2; exit 1; }
+if [ ! -d $systest ]; then
+ echofail "$0: $systest: no such test" >&2
+ exit 1
+fi
+
+# Define the number of ports allocated for each test, and the lowest and
+# highest valid values for the "-p" option.
+#
+# The lowest valid value is one more than the highest privileged port number
+# (1024).
+#
+# The highest valid value is calculated by noting that the value passed on the
+# command line is the lowest port number in a block of "numports" consecutive
+# ports and that the highest valid port number is 65,535.
+numport=100
+minvalid=`expr 1024 + 1`
+maxvalid=`expr 65535 - $numport + 1`
+
+test "$baseport" -eq "$baseport" > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ echofail "$0: $systest: must specify a numeric value for the port" >&2
+ exit 1
+elif [ $baseport -lt $minvalid -o $baseport -gt $maxvalid ]; then
+ echofail "$0: $systest: the specified port must be in the range $minvalid to $maxvalid" >&2
+ exit 1
+fi
-echoinfo "S:$test:`date`" >&2
-echoinfo "T:$test:1:A" >&2
-echoinfo "A:System test $test" >&2
+# Name the first 10 ports in the set (it is assumed that each test has access
+# to ten or more ports): the query port, the control port and eight extra
+# ports. Since the lowest numbered port (specified in the command line)
+# will usually be a multiple of 10, the names are chosen so that if this is
+# true, the last digit of EXTRAPORTn is "n".
+PORT=$baseport
+EXTRAPORT1=`expr $baseport + 1`
+EXTRAPORT2=`expr $baseport + 2`
+EXTRAPORT3=`expr $baseport + 3`
+EXTRAPORT4=`expr $baseport + 4`
+EXTRAPORT5=`expr $baseport + 5`
+EXTRAPORT6=`expr $baseport + 6`
+EXTRAPORT7=`expr $baseport + 7`
+EXTRAPORT8=`expr $baseport + 8`
+CONTROLPORT=`expr $baseport + 9`
+
+LOWPORT=$baseport
+HIGHPORT=`expr $baseport + $numport - 1`
+
+export PORT
+export EXTRAPORT1
+export EXTRAPORT2
+export EXTRAPORT3
+export EXTRAPORT4
+export EXTRAPORT5
+export EXTRAPORT6
+export EXTRAPORT7
+export EXTRAPORT8
+export CONTROLPORT
+
+export LOWPORT
+export HIGHPORT
+
+echostart "S:$systest:`date`"
+echoinfo "T:$systest:1:A"
+echoinfo "A:$systest:System test $systest"
+echoinfo "I:$systest:PORTRANGE:${LOWPORT} - ${HIGHPORT}"
if [ x${PERL:+set} = x ]
then
- echowarn "I:Perl not available. Skipping test." >&2
- echowarn "R:UNTESTED" >&2
- echoinfo "E:$test:`date`" >&2
+ echowarn "I:$systest:Perl not available. Skipping test."
+ echowarn "R:$systest:UNTESTED"
+ echoend "E:$systest:`date $dateargs`"
exit 0;
fi
-$PERL testsock.pl || {
- echowarn "I:Network interface aliases not set up. Skipping test." >&2;
- echowarn "R:UNTESTED" >&2;
- echoinfo "E:$test:`date`" >&2;
+$PERL testsock.pl -p $PORT || {
+ echowarn "I:$systest:Network interface aliases not set up. Skipping test."
+ echowarn "R:$systest:UNTESTED"
+ echoend "E:$systest:`date $dateargs`"
exit 0;
}
-
# Check for test-specific prerequisites.
-test ! -f $test/prereq.sh || ( cd $test && $SHELL prereq.sh "$@" )
+test ! -f $systest/prereq.sh || ( cd $systest && $SHELL prereq.sh "$@" )
result=$?
if [ $result -eq 0 ]; then
: prereqs ok
else
- echowarn "I:Prerequisites for $test missing, skipping test." >&2
- [ $result -eq 255 ] && echowarn "R:SKIPPED" || echowarn "R:UNTESTED"
- echoinfo "E:$test:`date`" >&2
+ echowarn "I:$systest:Prerequisites missing, skipping test."
+ [ $result -eq 255 ] && echowarn "R:$systest:SKIPPED" || echowarn "R:$systest:UNTESTED"
+ echoend "E:$systest:`date $dateargs`"
exit 0
fi
# Check for PKCS#11 support
if
- test ! -f $test/usepkcs11 || $SHELL cleanpkcs11.sh
+ test ! -f $systest/usepkcs11 || $SHELL cleanpkcs11.sh
then
: pkcs11 ok
else
- echowarn "I:Need PKCS#11 for $test, skipping test." >&2
- echowarn "R:PKCS11ONLY" >&2
- echoinfo "E:$test:`date`" >&2
+ echowarn "I:$systest:Need PKCS#11, skipping test."
+ echowarn "R:$systest:PKCS11ONLY"
+ echoend "E:$systest:`date $dateargs`"
exit 0
fi
# Set up any dynamically generated test data
-if test -f $test/setup.sh
+if test -f $systest/setup.sh
then
- ( cd $test && $SHELL setup.sh "$@" )
+ ( cd $systest && $SHELL setup.sh "$@" )
fi
# Start name servers running
-$PERL start.pl $test || { echofail "R:FAIL"; echoinfo "E:$test:`date`"; exit 1; }
+$PERL start.pl --port $PORT $systest
+if [ $? -ne 0 ]; then
+ echofail "R:$systest:FAIL"
+ echoend "E:$systest:`date $dateargs`"
+ exit 1
+fi
# Run the tests
-( cd $test ; $SHELL tests.sh )
-
+( cd $systest ; $SHELL tests.sh "$@" )
status=$?
if $stopservers
fi
# Shutdown
-$PERL stop.pl $test
+$PERL stop.pl $systest
status=`expr $status + $?`
if [ $status != 0 ]; then
- echofail "R:FAIL"
- # Don't clean up - we need the evidence.
+ echofail "R:$systest:FAIL"
+ # Do not clean up - we need the evidence.
find . -name core -exec chmod 0644 '{}' \;
else
- echopass "R:PASS"
-
+ echopass "R:$systest:PASS"
if $clean
then
rm -f $SYSTEMTESTTOP/random.data
- if test -f $test/clean.sh
- then
- ( cd $test && $SHELL clean.sh "$@" )
- fi
+ $SHELL clean.sh $runall $systest "$@"
if test -d ../../../.git
then
- git status -su --ignored $test |
+ git status -su --ignored $systest | \
sed -n -e 's|^?? \(.*\)|I:file \1 not removed|p' \
- -e 's|^!! \(.*/named.run\)$|I:file \1 not removed|p' \
- -e 's|^!! \(.*/named.memstats\)$|I:file \1 not removed|p'
+ -e 's|^!! \(.*/named.run\)$|I:file \1 not removed|p' \
+ -e 's|^!! \(.*/named.memstats\)$|I:file \1 not removed|p'
fi
fi
fi
-echoinfo "E:$test:`date`"
+echoend "E:$systest:`date $dateargs`"
exit $status
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-rm -f ns2/named.conf
+rm -f ns2/named.conf ns2/named-alt*.conf
rm -f */named.memstats
rm -f */named*.run
rm -f ns*/named.lock ns*/named*.pid ns*/other.lock
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named2.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named3.pid";
listen-on { 10.53.0.2; 10.53.0.3; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named4.pid";
lock-file none;
listen-on { 10.53.0.2; 10.53.0.3; };
options {
include "dir";
include "nopemkd";
- port 5300;
+ port @PORT@;
pid-file "../named4.pid";
listen-on { 127.0.0.1; };
listen-on-v6 { none; };
options {
include "nopedir";
- port 5300;
+ port @PORT@;
pid-file "../named5.pid";
listen-on { 127.0.0.1; };
listen-on-v6 { none; };
options {
include "../nopedir";
include "../mkd";
- port 5300;
+ port @PORT@;
pid-file "../named6.pid";
listen-on { 127.0.0.1; };
listen-on-v6 { none; };
// NS2
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
};
controls {
- inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
$SHELL clean.sh
-cp ns2/named1.conf ns2/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
+
+copy_setports ns2/named-alt1.conf.in ns2/named-alt1.conf
+copy_setports ns2/named-alt2.conf.in ns2/named-alt2.conf
+copy_setports ns2/named-alt3.conf.in ns2/named-alt3.conf
mkdir ns2/nope
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
if $SHELL ../testcrypto.sh -q
then
n=`expr $n + 1`
- echo "I: checking that named refuses to reconfigure if managed-keys-directory is set and not writable ($n)"
+ echo_i "checking that named refuses to reconfigure if managed-keys-directory is set and not writable ($n)"
ret=0
- cp -f ns2/named-alt4.conf ns2/named.conf
- $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > rndc.out.$n 2>&1
+ copy_setports ns2/named-alt4.conf.in ns2/named.conf
+ $RNDCCMD 10.53.0.2 reconfig > rndc.out.$n 2>&1
grep "failed: permission denied" rndc.out.$n > /dev/null 2>&1 || ret=1
sleep 1
grep "managed-keys-directory '.*' is not writable" ns2/named.run > /dev/null 2>&1 || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I: checking that named refuses to reconfigure if managed-keys-directory is unset and working directory is not writable ($n)"
+ echo_i "checking that named refuses to reconfigure if managed-keys-directory is unset and working directory is not writable ($n)"
ret=0
- cp -f ns2/named-alt5.conf ns2/named.conf
- $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > rndc.out.$n 2>&1
+ copy_setports ns2/named-alt5.conf.in ns2/named.conf
+ $RNDCCMD 10.53.0.2 reconfig > rndc.out.$n 2>&1
grep "failed:" rndc.out.$n > /dev/null 2>&1 || ret=1
sleep 1
grep "working directory '.*' is not writable" ns2/named.run > /dev/null 2>&1 || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
- echo "I: checking that named reconfigures if working directory is not writable but managed-keys-directory is ($n)"
+ echo_i "checking that named reconfigures if working directory is not writable but managed-keys-directory is ($n)"
ret=0
- cp -f ns2/named-alt6.conf ns2/named.conf
- $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > rndc.out.$n 2>&1
+ copy_setports ns2/named-alt6.conf.in ns2/named.conf
+ $RNDCCMD 10.53.0.2 reconfig > rndc.out.$n 2>&1
grep "failed:" rndc.out.$n > /dev/null 2>&1 && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
- echo "I: shutting down existing named"
+ echo_i "shutting down existing named"
pid=`cat named4.pid 2>/dev/null`
test "${pid:+set}" = set && $KILL -15 ${pid} >/dev/null 2>&1
pid=`cat named5.pid 2>/dev/null`
fi
n=`expr $n + 1`
-echo "I: checking that named refuses to start if managed-keys-directory is set and not writable ($n)"
+echo_i "checking that named refuses to start if managed-keys-directory is set and not writable ($n)"
ret=0
cd ns2
$NAMED -c named-alt4.conf -d 99 -g > named4.run 2>&1 &
pid=`cat named4.pid 2>/dev/null`
test "${pid:+set}" = set && $KILL -15 ${pid} >/dev/null 2>&1
cd ..
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named refuses to start if managed-keys-directory is unset and working directory is not writable ($n)"
+echo_i "checking that named refuses to start if managed-keys-directory is unset and working directory is not writable ($n)"
ret=0
cd ns2
$NAMED -c named-alt5.conf -d 99 -g > named5.run 2>&1 &
pid=`cat named5.pid 2>/dev/null`
test "${pid:+set}" = set && $KILL -15 ${pid} >/dev/null 2>&1
cd ..
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that named starts if managed-keys-directory is writable and working directory is not writable ($n)"
+echo_i "checking that named starts if managed-keys-directory is writable and working directory is not writable ($n)"
ret=0
cd ns2
$NAMED -c named-alt6.conf -d 99 -g > named6.run 2>&1 &
pid=`cat named6.pid 2>/dev/null`
test "${pid:+set}" = set && $KILL -15 ${pid} >/dev/null 2>&1
cd ..
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
czone=child.parent.nil
cfile=child.db
-echo "I:generating child's keys"
+echo_i "generating child's keys"
# active zsk
czsk1=`$KEYGEN -q -r $RANDFILE -L 30 $czone`
cksk2=`$KEYGEN -q -r $RANDFILE -fk $czone`
# $SETTIME moved after other $KEYGENs
-echo I:revoking key
+echo_i "revoking key"
# revoking key changes its ID
cksk3=`$KEYGEN -q -r $RANDFILE -fk $czone`
cksk4=`$REVOKE $cksk3`
-echo I:generating parent keys
+echo_i "generating parent keys"
pzsk=`$KEYGEN -q -r $RANDFILE $pzone`
pksk=`$KEYGEN -q -r $RANDFILE -fk $pzone`
-echo "I:setting child's activation time"
+echo_i "setting child's activation time"
# using now+30s to fix RT 24561
$SETTIME -A now+30s $cksk2 > /dev/null
-echo I:signing child zone
+echo_i "signing child zone"
czoneout=`$SIGNER -Sg -e now+1d -X now+2d -r $RANDFILE -o $czone $cfile 2>&1`
-echo I:signing parent zone
+echo_i "signing parent zone"
pzoneout=`$SIGNER -Sg -r $RANDFILE -o $pzone $pfile 2>&1`
czactive=`echo $czsk1 | sed 's/^K.*+005+0*\([0-9]\)/\1/'`
pzid=`echo $pzsk | sed 's/^K.*+005+0*\([0-9]\)/\1/'`
pkid=`echo $pksk | sed 's/^K.*+005+0*\([0-9]\)/\1/'`
-echo "I:checking dnssec-signzone output matches expectations"
+echo_i "checking dnssec-signzone output matches expectations"
ret=0
echo "$pzoneout" | grep 'KSKs: 1 active, 0 stand-by, 0 revoked' > /dev/null || ret=1
echo "$pzoneout" | grep 'ZSKs: 1 active, 0 stand-by, 0 revoked' > /dev/null || ret=1
echo "$czoneout" | grep 'KSKs: 1 active, 1 stand-by, 1 revoked' > /dev/null || ret=1
echo "$czoneout" | grep 'ZSKs: 1 active, 2 stand-by, 0 revoked' > /dev/null || ret=1
if [ $ret != 0 ]; then
- echo "I: parent $pzoneout"
- echo "I: child $czoneout"
- echo "I:failed";
+ echo_i "parent $pzoneout"
+ echo_i "child $czoneout"
+ echo_i "failed";
fi
status=`expr $status + $ret`
-echo "I:rechecking dnssec-signzone output with -x"
+echo_i "rechecking dnssec-signzone output with -x"
ret=0
# use an alternate output file so -x doesn't interfere with later checks
pzoneout=`$SIGNER -Sxg -r $RANDFILE -o $pzone -f ${pfile}2.signed $pfile 2>&1`
echo "$czoneout" | grep 'KSKs: 1 active, 1 stand-by, 1 revoked' > /dev/null || ret=1
echo "$czoneout" | grep 'ZSKs: 1 active, 2 present, 0 revoked' > /dev/null || ret=1
if [ $ret != 0 ]; then
- echo "I: parent $pzoneout"
- echo "I: child $czoneout"
- echo "I:failed";
+ echo_i "parent $pzoneout"
+ echo_i "child $czoneout"
+ echo_i "failed";
fi
status=`expr $status + $ret`
-echo "I:checking parent zone DNSKEY set"
+echo_i "checking parent zone DNSKEY set"
ret=0
grep "key id = $pzid" $pfile.signed > /dev/null || {
ret=1
- echo "I: missing expected parent ZSK id = $pzid"
+ echo_i "missing expected parent ZSK id = $pzid"
}
grep "key id = $pkid" $pfile.signed > /dev/null || {
ret=1
- echo "I: missing expected parent KSK id = $pkid"
+ echo_i "missing expected parent KSK id = $pkid"
}
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking parent zone DS records"
+echo_i "checking parent zone DS records"
ret=0
awk '$2 == "DS" {print $3}' $pfile.signed > dsset.out
grep -w "$ckactive" dsset.out > /dev/null || ret=1
# revoked key should not be there, hence the &&
grep -w "$ckprerevoke" dsset.out > /dev/null && ret=1
grep -w "$ckrevoked" dsset.out > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking child zone DNSKEY set"
+echo_i "checking child zone DNSKEY set"
ret=0
grep "key id = $ckactive\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child KSK id = $ckactive"
+ echo_i "missing expected child KSK id = $ckactive"
}
grep "key id = $ckpublished\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child prepublished KSK id = $ckpublished"
+ echo_i "missing expected child prepublished KSK id = $ckpublished"
}
grep "key id = $ckrevoked\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child revoked KSK id = $ckrevoked"
+ echo_i "missing expected child revoked KSK id = $ckrevoked"
}
grep "key id = $czactive\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child ZSK id = $czactive"
+ echo_i "missing expected child ZSK id = $czactive"
}
grep "key id = $czpublished\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child prepublished ZSK id = $czpublished"
+ echo_i "missing expected child prepublished ZSK id = $czpublished"
}
grep "key id = $czinactive\$" $cfile.signed > /dev/null || {
ret=1
- echo "I: missing expected child inactive ZSK id = $czinactive"
+ echo_i "missing expected child inactive ZSK id = $czinactive"
}
# should not be there, hence the &&
grep "key id = $ckprerevoke\$" $cfile.signed > /dev/null && {
ret=1
- echo "I: found unexpect child pre-revoke ZSK id = $ckprerevoke"
+ echo_i "found unexpect child pre-revoke ZSK id = $ckprerevoke"
}
grep "key id = $czgenerated\$" $cfile.signed > /dev/null && {
ret=1
- echo "I: found unexpected child generated ZSK id = $czgenerated"
+ echo_i "found unexpected child generated ZSK id = $czgenerated"
}
grep "key id = $czpredecessor\$" $cfile.signed > /dev/null && {
- echo "I: found unexpected ZSK predecessor id = $czpredecessor (ignored)"
+ echo_i "found unexpected ZSK predecessor id = $czpredecessor (ignored)"
}
grep "key id = $czsuccessor\$" $cfile.signed > /dev/null && {
- echo "I: found unexpected ZSK successor id = $czsuccessor (ignored)"
+ echo_i "found unexpected ZSK successor id = $czsuccessor (ignored)"
}
#grep "key id = $czpredecessor\$" $cfile.signed > /dev/null && ret=1
#grep "key id = $czsuccessor\$" $cfile.signed > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking key TTLs are correct"
+echo_i "checking key TTLs are correct"
ret=0
grep "${czone}. 30 IN" ${czsk1}.key > /dev/null 2>&1 || ret=1
grep "${czone}. 30 IN" ${cksk1}.key > /dev/null 2>&1 || ret=1
grep "${czone}. 45 IN" ${czsk2}.key > /dev/null 2>&1 || ret=1
$SETTIME -L 0 ${czsk2} > /dev/null
grep "${czone}. IN" ${czsk2}.key > /dev/null 2>&1 || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking key TTLs were imported correctly"
+echo_i "checking key TTLs were imported correctly"
ret=0
awk 'BEGIN {r = 0} $2 == "DNSKEY" && $1 != 30 {r = 1} END {exit r}' \
${cfile}.signed || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:re-signing and checking imported TTLs again"
+echo_i "re-signing and checking imported TTLs again"
ret=0
$SETTIME -L 15 ${czsk2} > /dev/null
czoneout=`$SIGNER -Sg -e now+1d -X now+2d -r $RANDFILE -o $czone $cfile 2>&1`
awk 'BEGIN {r = 0} $2 == "DNSKEY" && $1 != 15 {r = 1} END {exit r}' \
${cfile}.signed || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# There is some weirdness in Solaris 10 (Generic_120011-14), which
# is why the next section has all those echo $ret > /dev/null;sync
# commands
-echo "I:checking child zone signatures"
+echo_i "checking child zone signatures"
ret=0
# check DNSKEY signatures first
awk '$2 == "RRSIG" && $3 == "DNSKEY" { getline; print $3 }' $cfile.signed > dnskey.sigs
sub=0
grep -w "$ckactive" dnskey.sigs > /dev/null || sub=1
-if [ $sub != 0 ]; then echo "I:missing ckactive $ckactive (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "missing ckactive $ckactive (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$ckrevoked" dnskey.sigs > /dev/null || sub=1
-if [ $sub != 0 ]; then echo "I:missing ckrevoke $ckrevoke (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "missing ckrevoke $ckrevoke (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czactive" dnskey.sigs > /dev/null || sub=1
-if [ $sub != 0 ]; then echo "I:missing czactive $czactive (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "missing czactive $czactive (dnskey)"; ret=1; fi
# should not be there:
echo $ret > /dev/null
sync
sub=0
grep -w "$ckprerevoke" dnskey.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckprerevoke $ckprerevoke (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckprerevoke $ckprerevoke (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$ckpublished" dnskey.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckpublished $ckpublished (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckpublished $ckpublished (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czpublished" dnskey.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czpublished $czpublished (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czpublished $czpublished (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czinactive" dnskey.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czinactive $czinactive (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czinactive $czinactive (dnskey)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czgenerated" dnskey.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czgenerated $czgenerated (dnskey)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czgenerated $czgenerated (dnskey)"; ret=1; fi
# now check other signatures first
awk '$2 == "RRSIG" && $3 != "DNSKEY" { getline; print $3 }' $cfile.signed | sort -un > other.sigs
# should not be there:
sync
sub=0
grep -w "$ckactive" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckactive $ckactive (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckactive $ckactive (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$ckpublished" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckpublished $ckpublished (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckpublished $ckpublished (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$ckprerevoke" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckprerevoke $ckprerevoke (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckprerevoke $ckprerevoke (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$ckrevoked" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found ckrevoked $ckrevoked (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found ckrevoked $ckrevoked (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czpublished" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czpublished $czpublished (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czpublished $czpublished (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czinactive" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czinactive $czinactive (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czinactive $czinactive (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czgenerated" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czgenerated $czgenerated (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czgenerated $czgenerated (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czpredecessor" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czpredecessor $czpredecessor (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czpredecessor $czpredecessor (other)"; ret=1; fi
echo $ret > /dev/null
sync
sub=0
grep -w "$czsuccessor" other.sigs > /dev/null && sub=1
-if [ $sub != 0 ]; then echo "I:found czsuccessor $czsuccessor (other)"; ret=1; fi
+if [ $sub != 0 ]; then echo_i "found czsuccessor $czsuccessor (other)"; ret=1; fi
if [ $ret != 0 ]; then
sed 's/^/I:dnskey sigs: /' < dnskey.sigs
sed 's/^/I:other sigs: /' < other.sigs
- echo "I:failed";
+ echo_i "failed";
fi
status=`expr $status + $ret`
-echo "I:checking RRSIG expiry date correctness"
+echo_i "checking RRSIG expiry date correctness"
dnskey_expiry=`$CHECKZONE -o - $czone $cfile.signed 2> /dev/null |
awk '$4 == "RRSIG" && $5 == "DNSKEY" {print $9; exit}' |
cut -c1-10`
awk '$4 == "RRSIG" && $5 == "SOA" {print $9; exit}' |
cut -c1-10`
[ $dnskey_expiry -gt $soa_expiry ] || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:waiting 30 seconds for key activation"
+echo_i "waiting 30 seconds for key activation"
sleep 30
-echo "I:re-signing child zone"
+echo_i "re-signing child zone"
czoneout2=`$SIGNER -Sg -r $RANDFILE -o $czone -f $cfile.new $cfile.signed 2>&1`
mv $cfile.new $cfile.signed
-echo "I:checking dnssec-signzone output matches expectations"
+echo_i "checking dnssec-signzone output matches expectations"
ret=0
echo "$czoneout2" | grep 'KSKs: 2 active, 0 stand-by, 1 revoked' > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:checking child zone signatures again"
+echo_i "checking child zone signatures again"
ret=0
awk '$2 == "RRSIG" && $3 == "DNSKEY" { getline; print $3 }' $cfile.signed > dnskey.sigs
grep -w "$ckpublished" dnskey.sigs > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.9 2009/12/06 23:48:29 tbox Exp $
-
rm -f *.dig *.good *.out
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.10 2007/06/19 23:47:05 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
sortlist {
{ 10.53.0.1; // IF 10.53.0.1
- {
+ {
!1.1.1.4; !1.1.1.2; !1.1.1.3; !1.1.1.1; // sort these last,
192.168.3/24; // this first
{ 192.168.2/24; 192.168.1/24; }; }; }; // and these next
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.9 2007/09/14 01:46:05 marka Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd -p ${PORT}"
+
status=0
-echo "I:test 2-element sortlist statement"
+echo_i "test 2-element sortlist statement"
cat <<EOF >test1.good
a.example. 300 IN A 192.168.3.1
a.example. 300 IN A 192.168.1.1
a.example. 300 IN A 1.1.1.2
a.example. 300 IN A 1.1.1.4
EOF
-$DIG +tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd a.example. \
- @10.53.0.1 -b 10.53.0.1 -p 5300 >test1.dig
+$DIG $DIGOPTS a.example. @10.53.0.1 -b 10.53.0.1 >test1.dig
# Note that this can't use digcomp.pl because here, the ordering of the
# result RRs is significant.
diff test1.dig test1.good || status=1
-echo "I:test 1-element sortlist statement and undocumented BIND 8 features"
+echo_i "test 1-element sortlist statement and undocumented BIND 8 features"
cat <<EOF >test2.good
b.example. 300 IN A 10.53.0.$n
EOF
-$DIG +tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd \
- b.example. @10.53.0.1 -b 10.53.0.2 -p 5300 | sed 1q | \
+$DIG $DIGOPTS b.example. @10.53.0.1 -b 10.53.0.2 | sed 1q | \
egrep '10.53.0.(2|3)$' > test2.out &&
-$DIG +tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd \
- b.example. @10.53.0.1 -b 10.53.0.3 -p 5300 | sed 1q | \
+$DIG $DIGOPTS b.example. @10.53.0.1 -b 10.53.0.3 | sed 1q | \
egrep '10.53.0.(2|3)$' >> test2.out &&
-$DIG +tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd \
- b.example. @10.53.0.1 -b 10.53.0.4 -p 5300 | sed 1q | \
+$DIG $DIGOPTS b.example. @10.53.0.1 -b 10.53.0.4 | sed 1q | \
egrep '10.53.0.4$' >> test2.out &&
-$DIG +tcp +noadd +nosea +nostat +noquest +noauth +nocomm +nocmd \
- b.example. @10.53.0.1 -b 10.53.0.5 -p 5300 | sed 1q | \
+$DIG $DIGOPTS b.example. @10.53.0.1 -b 10.53.0.5 | sed 1q | \
egrep '10.53.0.5$' >> test2.out || status=1
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f ns1/named.run
rm -f ns1/named.memstats
+rm -f ns*/named.conf
* PERFORMANCE OF THIS SOFTWARE.
*/
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+copy_setports ns1/named.conf.in ns1/named.conf
n=1
status=0
-echo "I:checking that SPF warnings have been correctly generated ($n)"
+echo_i "checking that SPF warnings have been correctly generated ($n)"
ret=0
grep "zone spf/IN: loaded serial 0" ns1/named.run > /dev/null || ret=1
grep "'y.nowarn' found type SPF" ns1/named.run > /dev/null && ret=1
grep "'nowarn' found type SPF" ns1/named.run > /dev/null && ret=1
n=`expr $n + 1`
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+rm -f tmp
rm -f dig.out.*
rm -f ns*/named.lock
-rm -f ns2/named.conf
+rm -f ns*/named.conf
rm -f ns3/example.db
-rm -f ns3/named.conf
rm -f ns3/undelegated.db
rm -f ns4/sub.example.db
rm -f ns?/named.memstats
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2010/12/17 00:57:38 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.conf.in,v 1.3 2010/12/18 23:47:11 tbox Exp $
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
-include "../../common/controls.conf";
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
include "trusted.conf";
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.conf.in,v 1.4 2010/12/18 23:47:11 tbox Exp $
-
key rndc_key {
secret "1234abcd8765";
algorithm hmac-md5;
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
+++ /dev/null
-/*
- * Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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.
- */
-
-# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.conf,v 1.4 2010/12/18 23:47:11 tbox Exp $
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.4;
- notify-source 10.53.0.4;
- transfer-source 10.53.0.4;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.4; };
- listen-on-v6 { ::1; };
- recursion no;
- notify no;
-};
-
-zone "example.com" {
- type master;
- file "example.com.db";
-};
-
-zone "example.org" {
- type master;
- file "example.org.db";
-};
-
-zone "sub.example" {
- type master;
- file "sub.example.db.signed";
-};
-
-zone "example.info" {
- type master;
- file "example.info.db";
-};
--- /dev/null
+/*
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+ *
+ * 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.
+ */
+
+options {
+ query-source address 10.53.0.4;
+ notify-source 10.53.0.4;
+ transfer-source 10.53.0.4;
+ port @PORT@;
+ pid-file "named.pid";
+ listen-on { 10.53.0.4; };
+ listen-on-v6 { ::1; };
+ recursion no;
+ notify no;
+};
+
+zone "example.com" {
+ type master;
+ file "example.com.db";
+};
+
+zone "example.org" {
+ type master;
+ file "example.org.db";
+};
+
+zone "sub.example" {
+ type master;
+ file "sub.example.db.signed";
+};
+
+zone "example.info" {
+ type master;
+ file "example.info.db";
+};
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-sed 's/SERVER_CONFIG_PLACEHOLDER/server-names { "ns.example.net"; };/' ns2/named.conf.in > ns2/named.conf
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in tmp
+sed 's/SERVER_CONFIG_PLACEHOLDER/server-names { "ns.example.net"; };/' tmp > ns2/named.conf
-sed 's/EXAMPLE_ZONE_PLACEHOLDER/zone "example" { type master; file "example.db.signed"; };/' ns3/named.conf.in > ns3/named.conf
+copy_setports ns3/named.conf.in tmp
+sed 's/EXAMPLE_ZONE_PLACEHOLDER/zone "example" { type master; file "example.db.signed"; };/' tmp > ns3/named.conf
+
+rm -f tmp
+
+copy_setports ns4/named.conf.in ns4/named.conf
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.5 2011/01/11 23:47:12 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
n=0
for conf in conf/good*.conf
do
n=`expr $n + 1`
- echo "I:checking that $conf is accepted ($n)"
+ echo_i "checking that $conf is accepted ($n)"
ret=0
$CHECKCONF "$conf" || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
for conf in conf/bad*.conf
do
n=`expr $n + 1`
- echo "I:checking that $conf is rejected ($n)"
+ echo_i "checking that $conf is rejected ($n)"
ret=0
$CHECKCONF "$conf" >/dev/null && ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
done
n=`expr $n + 1`
-echo "I:trying an axfr that should be denied (NOTAUTH) ($n)"
+echo_i "trying an axfr that should be denied (NOTAUTH) ($n)"
ret=0
-$DIG +tcp data.example. @10.53.0.2 axfr -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp data.example. @10.53.0.2 axfr > dig.out.ns2.test$n || ret=1
grep "; Transfer failed." dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:non recursive query for a static-stub zone with server name should be rejected ($n)"
+echo_i "non recursive query for a static-stub zone with server name should be rejected ($n)"
ret=0
- $DIG +tcp +norec data.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n \
+ $DIG $DIGOPTS +tcp +norec data.example. @10.53.0.2 txt > dig.out.ns2.test$n \
|| ret=1
grep "REFUSED" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:non recursive query for a static-stub zone with server name should be rejected ($n)"
+echo_i "non recursive query for a static-stub zone with server name should be rejected ($n)"
ret=0
-$DIG +tcp +norec data.example.org. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n \
+$DIG $DIGOPTS +tcp +norec data.example.org. @10.53.0.2 txt > dig.out.ns2.test$n \
|| ret=1
grep "REFUSED" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:allow-query ACL ($n)"
+echo_i "allow-query ACL ($n)"
ret=0
-$DIG +tcp +norec data.example. @10.53.0.2 txt -b 10.53.0.7 -p 5300 \
+$DIG $DIGOPTS +tcp +norec data.example. @10.53.0.2 txt -b 10.53.0.7 \
> dig.out.ns2.test$n || ret=1
grep "REFUSED" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:look for static-stub zone data with recursion (should be found) ($n)"
+echo_i "look for static-stub zone data with recursion (should be found) ($n)"
ret=0
-$DIG +tcp data.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp data.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
$PERL ../digcomp.pl knowngood.dig.out.rec dig.out.ns2.test$n || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking authoritative NS is ignored for delegation ($n)"
+echo_i "checking authoritative NS is ignored for delegation ($n)"
ret=0
# the auth server returns a different (and incorrect) NS for .example.
-$DIG +tcp example. @10.53.0.2 ns -p 5300 > dig.out.ns2.test1.$n || ret=1
+$DIG $DIGOPTS +tcp example. @10.53.0.2 ns > dig.out.ns2.test1.$n || ret=1
grep "ns4.example." dig.out.ns2.test1.$n > /dev/null || ret=1
# but static-stub configuration should still be used
-$DIG +tcp data2.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test2.$n || ret=1
+$DIG $DIGOPTS +tcp data2.example. @10.53.0.2 txt > dig.out.ns2.test2.$n || ret=1
grep "2nd test data" dig.out.ns2.test2.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking queries for a child zone of the static-stub zone ($n)"
+echo_i "checking queries for a child zone of the static-stub zone ($n)"
ret=0
# prime the delegation to a child zone of the static-stub zone
-$DIG +tcp data1.sub.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test1.$n || ret=1
+$DIG $DIGOPTS +tcp data1.sub.example. @10.53.0.2 txt > dig.out.ns2.test1.$n || ret=1
grep "1st sub test data" dig.out.ns2.test1.$n > /dev/null || ret=1
# temporarily disable the the parent zone
-sed 's/EXAMPLE_ZONE_PLACEHOLDER//' ns3/named.conf.in > ns3/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 | sed 's/^/I:ns3 /'
+copy_setports ns3/named.conf.in tmp
+sed 's/EXAMPLE_ZONE_PLACEHOLDER//' tmp > ns3/named.conf
+$RNDCCMD 10.53.0.3 reload 2>&1 | sed 's/^/ns3 /' | cat_i
# query the child zone again. this should directly go to the child and
# succeed.
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIG +tcp data2.sub.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test2.$n || ret=1
+ $DIG $DIGOPTS +tcp data2.sub.example. @10.53.0.2 txt > dig.out.ns2.test2.$n || ret=1
grep "2nd sub test data" dig.out.ns2.test2.$n > /dev/null && break
sleep 1
done
grep "2nd sub test data" dig.out.ns2.test2.$n > /dev/null || ret=1
# re-enable the parent
-sed 's/EXAMPLE_ZONE_PLACEHOLDER/zone "example" { type master; file "example.db.signed"; };/' ns3/named.conf.in > ns3/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 | sed 's/^/I:ns3 /'
-if [ $ret != 0 ]; then echo "I:failed"; fi
+copy_setports ns3/named.conf.in tmp
+sed 's/EXAMPLE_ZONE_PLACEHOLDER/zone "example" { type master; file "example.db.signed"; };/' tmp > ns3/named.conf
+$RNDCCMD 10.53.0.3 reload 2>&1 | sed 's/^/ns3 /' | cat_i
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking authoritative NS addresses are ignored for delegation ($n)"
+echo_i "checking authoritative NS addresses are ignored for delegation ($n)"
ret=0
# the auth server returns a different (and incorrect) A/AAA RR for .example.
-$DIG +tcp example. @10.53.0.2 a -p 5300 > dig.out.ns2.test1.$n || ret=1
+$DIG $DIGOPTS +tcp example. @10.53.0.2 a > dig.out.ns2.test1.$n || ret=1
grep "10.53.0.4" dig.out.ns2.test1.$n > /dev/null || ret=1
-$DIG +tcp example. @10.53.0.2 aaaa -p 5300 > dig.out.ns2.test2.$n || ret=1
+$DIG $DIGOPTS +tcp example. @10.53.0.2 aaaa > dig.out.ns2.test2.$n || ret=1
grep "::1" dig.out.ns2.test2.$n > /dev/null || ret=1
# reload the server. this will flush the ADB.
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
# ask another RR that would require delegation. static-stub configuration
# should still be used instead of the authoritative A/AAAA cached above.
-$DIG +tcp data3.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test3.$n || ret=1
+$DIG $DIGOPTS +tcp data3.example. @10.53.0.2 txt > dig.out.ns2.test3.$n || ret=1
grep "3rd test data" dig.out.ns2.test3.$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# the authoritative server of the query domain (example.com) is the apex
# name of the static-stub zone (example). in this case the static-stub
# configuration must be ignored and cached information must be used.
n=`expr $n + 1`
-echo "I:checking NS of static-stub is ignored when referenced from other domain ($n)"
+echo_i "checking NS of static-stub is ignored when referenced from other domain ($n)"
ret=0
-$DIG +tcp data.example.com. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp data.example.com. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "example com data" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# check server-names
n=`expr $n + 1`
-echo "I:checking static-stub with a server-name ($n)"
+echo_i "checking static-stub with a server-name ($n)"
ret=0
-$DIG +tcp data.example.org. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp data.example.org. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "example org data" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
# checks introduced in change 2916.
if $TESTSOCK6 ../testsock6.pl ::1 2> /dev/null
then
- echo "I:checking IPv6 static-stub address ($n)"
+ echo_i "checking IPv6 static-stub address ($n)"
ret=0
- $DIG +tcp data.example.info. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+ $DIG $DIGOPTS +tcp data.example.info. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "example info data" dig.out.ns2.test$n > /dev/null || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
else
- echo "I:SKIPPED: checking IPv6 static-stub address ($n)"
+ echo_i "SKIPPED: checking IPv6 static-stub address ($n)"
fi
n=`expr $n + 1`
-echo "I:look for static-stub zone data with DNSSEC validation ($n)"
+echo_i "look for static-stub zone data with DNSSEC validation ($n)"
ret=0
-$DIG +tcp +dnssec data4.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp +dnssec data4.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "ad; QUERY" dig.out.ns2.test$n > /dev/null || ret=1
grep "4th test data" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:look for a child of static-stub zone data with DNSSEC validation ($n)"
+echo_i "look for a child of static-stub zone data with DNSSEC validation ($n)"
ret=0
-$DIG +tcp +dnssec data3.sub.example. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+$DIG $DIGOPTS +tcp +dnssec data3.sub.example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "ad; QUERY" dig.out.ns2.test$n > /dev/null || ret=1
grep "3rd sub test data" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
# reload with a different name server: exisitng zone shouldn't be reused.
n=`expr $n + 1`
-echo "I:checking server reload with a different static-stub config ($n)"
+echo_i "checking server reload with a different static-stub config ($n)"
ret=0
-sed 's/SERVER_CONFIG_PLACEHOLDER/server-addresses { 10.53.0.4; };/' ns2/named.conf.in > ns2/named.conf
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
-$DIG +tcp data2.example.org. @10.53.0.2 txt -p 5300 > dig.out.ns2.test$n || ret=1
+copy_setports ns2/named.conf.in tmp
+sed 's/SERVER_CONFIG_PLACEHOLDER/server-addresses { 10.53.0.4; };/' tmp > ns2/named.conf
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
+$DIG $DIGOPTS +tcp data2.example.org. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "2nd example org data" dig.out.ns2.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:checking static-stub of a undelegated tld resolves after DS query ($n)"
+echo_i "checking static-stub of a undelegated tld resolves after DS query ($n)"
ret=0
-$DIG undelegated. @10.53.0.2 ds -p 5300 > dig.out.ns2.ds.test$n
-$DIG undelegated. @10.53.0.2 soa -p 5300 > dig.out.ns2.soa.test$n
+$DIG $DIGOPTS undelegated. @10.53.0.2 ds > dig.out.ns2.ds.test$n
+$DIG $DIGOPTS undelegated. @10.53.0.2 soa > dig.out.ns2.soa.test$n
grep "status: NXDOMAIN" dig.out.ns2.ds.test$n > /dev/null || ret=1
grep "status: NOERROR" dig.out.ns2.soa.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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$
-
-#
-# Clean up after zone transfer tests.
-#
-
-rm -f ns3/example.bk
-rm -f ns3/internal.bk
-rm -f */named.memstats
-rm -f */named.run
-rm -f */ans.run
-rm -f */named.stats
-rm -f dig.out*
-rm -f curl.out.*
+++ /dev/null
-/*
- * Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
- *
- * 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$ */
-
-controls { /* empty */ };
-
-options {
- query-source address 10.53.0.1;
- notify-source 10.53.0.1;
- transfer-source 10.53.0.1;
- port 5300;
- pid-file "named.pid";
- listen-on { 10.53.0.1; };
- listen-on-v6 { none; };
- recursion no;
- notify yes;
-};
-
-statistics-channels {
- inet 10.53.0.1 port 8053 allow { any; };
-};
-
-zone "32/1.0.0.127-in-addr.example." {
- type master;
- file "zone.db";
-};
+++ /dev/null
-; Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
-;
-; 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.
-
-@ 3600 IN SOA ns.example. hostmaster.example. 1 3600 1200 604800 3600
-@ 3600 IN NS ns.example.
-ns.example. 3600 IN A 10.53.0.1
+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
-#
-# 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.
-
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
-DIGCMD="$DIG $DIGOPTS -p 5300"
-RNDCCMD="$RNDC -p 9953 -c ../common/rndc.conf"
-
-status=0
-t=0
-
-ret=0
-t=`expr $t + 1`
-echo "I:checking that zones with slash are properly shown in XML output (${t})"
-if $FEATURETEST --have-libxml2 && [ -x ${CURL} ] ; then
- if $FEATURETEST --enable-newstats
- then
- ${CURL} http://10.53.0.1:8053/xml/v3 > curl.out.${t} 2>/dev/null || ret=1
- grep '<zone name="32/1.0.0.127-in-addr.example" rdataclass="IN">' curl.out.${t} > /dev/null || ret=1
- else
- ${CURL} http://10.53.0.1:8053/xml > curl.out.${t} 2>/dev/null || ret=1
-awk '/<zone>/ { count=1 ; next }
- /<name>32\/1.0.0.127-in-addr.example<\/name>/ && count == 1 { count = 2 ; next}
- /<rdataclass>IN<\/rdataclass>/ && count == 2 { good = 1 }
- {count=0}
- END { if (good) exit (0); exit (1) }' curl.out.${t} || ret=1
- fi
-else
- echo "I:skipping test as libxml2 and/or curl was not found"
-fi
-if [ $ret != 0 ]; then echo "I:failed"; fi
-status=`expr $status + $ret`
-
-echo "I:exit status: $status"
-[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.10 2007/09/26 03:22:44 marka Exp $
-
#
# Clean up after stub tests.
#
rm -f dig.out.ns3 ns3/child.example.st
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.18 2007/06/19 23:47:04 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.14 2007/06/19 23:47:05 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.16 2007/06/18 23:47:31 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.16 2011/11/02 23:46:24 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp -p ${PORT}"
+
status=0
-echo "I:check that the stub zone has been saved to disk"
+echo_i "check that the stub zone has been saved to disk"
for i in 1 2 3 4 5 6 7 8 9 20
do
[ -f ns3/child.example.st ] && break
sleep 1
done
-[ -f ns3/child.example.st ] || { status=1; echo "I:failed"; }
+[ -f ns3/child.example.st ] || { status=1; echo_i "failed"; }
for pass in 1 2
do
-echo "I:trying an axfr that should be denied (NOTAUTH) (pass=$pass)"
+echo_i "trying an axfr that should be denied (NOTAUTH) (pass=$pass)"
ret=0
-$DIG +tcp child.example. @10.53.0.3 axfr -p 5300 > dig.out.ns3 || ret=1
+$DIG $DIGOPTS child.example. @10.53.0.3 axfr > dig.out.ns3 || ret=1
grep "; Transfer failed." dig.out.ns3 > /dev/null || ret=1
-[ $ret = 0 ] || { status=1; echo "I:failed"; }
+[ $ret = 0 ] || { status=1; echo_i "failed"; }
-echo "I:look for stub zone data without recursion (should not be found) (pass=$pass)"
+echo_i "look for stub zone data without recursion (should not be found) (pass=$pass)"
for i in 1 2 3 4 5 6 7 8 9
do
ret=0
- $DIG +tcp +norec data.child.example. \
- @10.53.0.3 txt -p 5300 > dig.out.ns3 || ret=1
+ $DIG $DIGOPTS +norec data.child.example. \
+ @10.53.0.3 txt > dig.out.ns3 || ret=1
grep "status: NOERROR" dig.out.ns3 > /dev/null || ret=1
[ $ret = 0 ] && break
sleep 1
done
$PERL ../digcomp.pl knowngood.dig.out.norec dig.out.ns3 || ret=1
-[ $ret = 0 ] || { status=1; echo "I:failed"; }
+[ $ret = 0 ] || { status=1; echo_i "failed"; }
-echo "I:look for stub zone data with recursion (should be found) (pass=$pass)"
+echo_i "look for stub zone data with recursion (should be found) (pass=$pass)"
ret=0
-$DIG +tcp data.child.example. @10.53.0.3 txt -p 5300 > dig.out.ns3 || ret=1
+$DIG $DIGOPTS +tcp data.child.example. @10.53.0.3 txt > dig.out.ns3 || ret=1
$PERL ../digcomp.pl knowngood.dig.out.rec dig.out.ns3 || ret=1
-[ $ret = 0 ] || { status=1; echo "I:failed"; }
+[ $ret = 0 ] || { status=1; echo_i "failed"; }
[ $pass = 1 ] && {
- echo "I:stopping stub server"
+ echo_i "stopping stub server"
$PERL $SYSTEMTESTTOP/stop.pl . ns3
- echo "I:re-starting stub server"
- $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns3
+ echo_i "re-starting stub server"
+ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns3
}
done
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.6 2007/09/26 03:22:44 marka Exp $
-
#
# Clean up after tsig tests.
#
rm -f dig.out.*
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f Kexample.net.+163+*
rm -f keygen.out?
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2007/06/19 23:47:06 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-sh clean.sh
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.7 2011/11/06 23:46:40 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+
#
# Shared secrets.
#
status=0
-echo "I:fetching using hmac-md5 (old form)"
+echo_i "fetching using hmac-md5 (old form)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "md5:$md5" @10.53.0.1 soa -p 5300 > dig.out.md5.old || ret=1
+$DIG $DIGOPTS example.nil. -y "md5:$md5" @10.53.0.1 soa > dig.out.md5.old || ret=1
grep -i "md5.*TSIG.*NOERROR" dig.out.md5.old > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-md5 (new form)"
+echo_i "fetching using hmac-md5 (new form)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-md5:md5:$md5" @10.53.0.1 soa -p 5300 > dig.out.md5.new || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-md5:md5:$md5" @10.53.0.1 soa > dig.out.md5.new || ret=1
grep -i "md5.*TSIG.*NOERROR" dig.out.md5.new > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha1"
+echo_i "fetching using hmac-sha1"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha1:sha1:$sha1" @10.53.0.1 soa -p 5300 > dig.out.sha1 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha1:sha1:$sha1" @10.53.0.1 soa > dig.out.sha1 || ret=1
grep -i "sha1.*TSIG.*NOERROR" dig.out.sha1 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha224"
+echo_i "fetching using hmac-sha224"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha224:sha224:$sha224" @10.53.0.1 soa -p 5300 > dig.out.sha224 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha224:sha224:$sha224" @10.53.0.1 soa > dig.out.sha224 || ret=1
grep -i "sha224.*TSIG.*NOERROR" dig.out.sha224 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha256"
+echo_i "fetching using hmac-sha256"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha256:sha256:$sha256" @10.53.0.1 soa -p 5300 > dig.out.sha256 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha256:sha256:$sha256" @10.53.0.1 soa > dig.out.sha256 || ret=1
grep -i "sha256.*TSIG.*NOERROR" dig.out.sha256 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha384"
+echo_i "fetching using hmac-sha384"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha384:sha384:$sha384" @10.53.0.1 soa -p 5300 > dig.out.sha384 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha384:sha384:$sha384" @10.53.0.1 soa > dig.out.sha384 || ret=1
grep -i "sha384.*TSIG.*NOERROR" dig.out.sha384 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha512"
+echo_i "fetching using hmac-sha512"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha512:sha512:$sha512" @10.53.0.1 soa -p 5300 > dig.out.sha512 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha512:sha512:$sha512" @10.53.0.1 soa > dig.out.sha512 || ret=1
grep -i "sha512.*TSIG.*NOERROR" dig.out.sha512 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
#
# Truncated TSIG
#
#
-echo "I:fetching using hmac-md5 (trunc)"
+echo_i "fetching using hmac-md5 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-md5-80:md5-trunc:$md5" @10.53.0.1 soa -p 5300 > dig.out.md5.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-md5-80:md5-trunc:$md5" @10.53.0.1 soa > dig.out.md5.trunc || ret=1
grep -i "md5-trunc.*TSIG.*NOERROR" dig.out.md5.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha1 (trunc)"
+echo_i "fetching using hmac-sha1 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha1-80:sha1-trunc:$sha1" @10.53.0.1 soa -p 5300 > dig.out.sha1.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha1-80:sha1-trunc:$sha1" @10.53.0.1 soa > dig.out.sha1.trunc || ret=1
grep -i "sha1.*TSIG.*NOERROR" dig.out.sha1.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha224 (trunc)"
+echo_i "fetching using hmac-sha224 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha224-112:sha224-trunc:$sha224" @10.53.0.1 soa -p 5300 > dig.out.sha224.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha224-112:sha224-trunc:$sha224" @10.53.0.1 soa > dig.out.sha224.trunc || ret=1
grep -i "sha224-trunc.*TSIG.*NOERROR" dig.out.sha224.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha256 (trunc)"
+echo_i "fetching using hmac-sha256 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha256-128:sha256-trunc:$sha256" @10.53.0.1 soa -p 5300 > dig.out.sha256.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha256-128:sha256-trunc:$sha256" @10.53.0.1 soa > dig.out.sha256.trunc || ret=1
grep -i "sha256-trunc.*TSIG.*NOERROR" dig.out.sha256.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha384 (trunc)"
+echo_i "fetching using hmac-sha384 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha384-192:sha384-trunc:$sha384" @10.53.0.1 soa -p 5300 > dig.out.sha384.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha384-192:sha384-trunc:$sha384" @10.53.0.1 soa > dig.out.sha384.trunc || ret=1
grep -i "sha384-trunc.*TSIG.*NOERROR" dig.out.sha384.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha512-256 (trunc)"
+echo_i "fetching using hmac-sha512-256 (trunc)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha512-256:sha512-trunc:$sha512" @10.53.0.1 soa -p 5300 > dig.out.sha512.trunc || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha512-256:sha512-trunc:$sha512" @10.53.0.1 soa > dig.out.sha512.trunc || ret=1
grep -i "sha512-trunc.*TSIG.*NOERROR" dig.out.sha512.trunc > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
# Check for bad truncation.
#
#
-echo "I:fetching using hmac-md5-80 (BADTRUNC)"
+echo_i "fetching using hmac-md5-80 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-md5-80:md5:$md5" @10.53.0.1 soa -p 5300 > dig.out.md5-80 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-md5-80:md5:$md5" @10.53.0.1 soa > dig.out.md5-80 || ret=1
grep -i "md5.*TSIG.*BADTRUNC" dig.out.md5-80 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha1-80 (BADTRUNC)"
+echo_i "fetching using hmac-sha1-80 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha1-80:sha1:$sha1" @10.53.0.1 soa -p 5300 > dig.out.sha1-80 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha1-80:sha1:$sha1" @10.53.0.1 soa > dig.out.sha1-80 || ret=1
grep -i "sha1.*TSIG.*BADTRUNC" dig.out.sha1-80 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha224-112 (BADTRUNC)"
+echo_i "fetching using hmac-sha224-112 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha224-112:sha224:$sha224" @10.53.0.1 soa -p 5300 > dig.out.sha224-112 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha224-112:sha224:$sha224" @10.53.0.1 soa > dig.out.sha224-112 || ret=1
grep -i "sha224.*TSIG.*BADTRUNC" dig.out.sha224-112 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha256-128 (BADTRUNC)"
+echo_i "fetching using hmac-sha256-128 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha256-128:sha256:$sha256" @10.53.0.1 soa -p 5300 > dig.out.sha256-128 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha256-128:sha256:$sha256" @10.53.0.1 soa > dig.out.sha256-128 || ret=1
grep -i "sha256.*TSIG.*BADTRUNC" dig.out.sha256-128 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha384-192 (BADTRUNC)"
+echo_i "fetching using hmac-sha384-192 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha384-192:sha384:$sha384" @10.53.0.1 soa -p 5300 > dig.out.sha384-192 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha384-192:sha384:$sha384" @10.53.0.1 soa > dig.out.sha384-192 || ret=1
grep -i "sha384.*TSIG.*BADTRUNC" dig.out.sha384-192 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:fetching using hmac-sha512-256 (BADTRUNC)"
+echo_i "fetching using hmac-sha512-256 (BADTRUNC)"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "hmac-sha512-256:sha512:$sha512" @10.53.0.1 soa -p 5300 > dig.out.sha512-256 || ret=1
+$DIG $DIGOPTS example.nil. -y "hmac-sha512-256:sha512:$sha512" @10.53.0.1 soa > dig.out.sha512-256 || ret=1
grep -i "sha512.*TSIG.*BADTRUNC" dig.out.sha512-256 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:attempting fetch with bad tsig algorithm"
+echo_i "attempting fetch with bad tsig algorithm"
ret=0
-$DIG +tcp +nosea +nostat +noquest +nocomm +nocmd example.nil.\
- -y "badalgo:invalid:$sha512" @10.53.0.1 soa -p 5300 > dig.out.badalgo 2>&1 || ret=1
+$DIG $DIGOPTS example.nil. -y "badalgo:invalid:$sha512" @10.53.0.1 soa > dig.out.badalgo 2>&1 || ret=1
grep -i "Couldn't create key invalid: algorithm is unsupported" dig.out.badalgo > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
-echo "I:checking both OPT and TSIG records are returned when TC=1"
+echo_i "checking both OPT and TSIG records are returned when TC=1"
ret=0
-$DIG +ignore +bufsize=512 large.example.nil \
- -y "hmac-sha1:sha1:$sha1" @10.53.0.1 txt -p 5300 > dig.out.large 2>&1 || ret=1
+$DIG -p ${PORT} +ignore +bufsize=512 large.example.nil -y "hmac-sha1:sha1:$sha1" @10.53.0.1 txt > dig.out.large 2>&1 || ret=1
grep "flags:.* tc[ ;]" dig.out.large > /dev/null || ret=1
grep "status: NOERROR" dig.out.large > /dev/null || ret=1
grep "EDNS:" dig.out.large > /dev/null || ret=1
grep -i "sha1.*TSIG.*NOERROR" dig.out.sha1 > /dev/null || ret=1
if [ $ret -eq 1 ] ; then
- echo "I: failed"; status=1
+ echo_i "failed"; status=1
fi
echo "I:check that multiple dnssec-keygen calls don't emit dns_dnssec_findmatchingkeys warning"
echo "I: failed"; status=1
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: authsock.pl,v 1.3 2011/01/07 23:47:07 tbox Exp $
-
# test the update-policy external protocol
require 5.6.0;
rm -f ns1/*.db ns1/K*.key ns1/K*.private
rm -f ns1/_default.tsigkeys
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f authsock.pid
rm -f ns1/core
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.6 2011/01/06 23:47:00 tbox Exp $ */
-
-controls { };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
session-keyfile "session.key";
listen-on { 10.53.0.1; 127.0.0.1; };
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "example.nil." IN {
# enable the tsiggss test only if gssapi was enabled
$FEATURETEST --gssapi || {
- echo "I:gssapi and krb5 not supported - skipping tsiggss test"
+ echo_i "gssapi and krb5 not supported - skipping tsiggss test"
exit 255
}
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
+
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
-rm -f ns1/*.jnl ns1/K*.key ns1/K*.private ns1/_default.tsigkeys
+copy_setports ns1/named.conf.in ns1/named.conf
key=`$KEYGEN -Cq -K ns1 -a DSA -b 512 -r $RANDFILE -n HOST -T KEY key.example.nil.`
cat ns1/example.nil.db.in ns1/${key}.key > ns1/example.nil.db
status=0
-DIGOPTS="@10.53.0.1 -p 5300"
+DIGOPTS="@10.53.0.1 -p ${PORT}"
test_update() {
host="$1"
digout="$4"
cat <<EOF > ns1/update.txt
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add $host $cmd
send
EOF
echo "I:testing external policy with SIG(0) key"
ret=0
$NSUPDATE -R $RANDFILE -k ns1/Kkey.example.nil.*.private <<END > /dev/null 2>&1 || ret=1
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
zone example.nil
update add fred.example.nil 120 cname foo.bar.
send
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.7 2007/09/26 03:22:44 marka Exp $
-
rm -f dig.out check.out
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f */*.bk
rm -f */*.bk.*
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:06 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:06 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/19 23:47:06 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+
(cd ns3; $SHELL -e sign.sh)
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.12 2011/11/02 23:46:24 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
status=0
-DIGOPTS="-p 5300"
+DIGOPTS="-p ${PORT}"
-echo "I:querying for various representations of an IN A record"
+echo_i "querying for various representations of an IN A record"
for i in 1 2 3 4 5 6 7 8 9 10 11 12
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 a$i.example a in > dig.out || ret=1
- echo 10.0.0.1 | diff - dig.out || ret=1
+ echo 10.0.0.1 | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for various representations of an IN TXT record"
+echo_i "querying for various representations of an IN TXT record"
for i in 1 2 3 4 5 6 7
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt in > dig.out || ret=1
- echo '"hello"' | diff - dig.out || ret=1
+ echo '"hello"' | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for various representations of an IN TYPE123 record"
+echo_i "querying for various representations of an IN TYPE123 record"
for i in 1 2 3
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 in > dig.out || ret=1
- echo '\# 1 00' | diff - dig.out || ret=1
+ echo '\# 1 00' | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for NULL record"
+echo_i "querying for NULL record"
ret=0
$DIG +short $DIGOPTS @10.53.0.1 null.example null in > dig.out || ret=1
-echo '\# 1 00' | diff - dig.out || ret=1
-[ $ret = 0 ] || echo "I: failed"
+echo '\# 1 00' | $DIFF - dig.out || ret=1
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:querying for empty NULL record"
+echo_i "querying for empty NULL record"
ret=0
$DIG +short $DIGOPTS @10.53.0.1 empty.example null in > dig.out || ret=1
-echo '\# 0' | diff - dig.out || ret=1
-[ $ret = 0 ] || echo "I: failed"
+echo '\# 0' | $DIFF - dig.out || ret=1
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:querying for various representations of a CLASS10 TYPE1 record"
+echo_i "querying for various representations of a CLASS10 TYPE1 record"
for i in 1 2
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 a$i.example a class10 > dig.out || ret=1
- echo '\# 4 0A000001' | diff - dig.out || ret=1
+ echo '\# 4 0A000001' | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for various representations of a CLASS10 TXT record"
+echo_i "querying for various representations of a CLASS10 TXT record"
for i in 1 2 3 4
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt class10 > dig.out || ret=1
- echo '"hello"' | diff - dig.out || ret=1
+ echo '"hello"' | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for various representations of a CLASS10 TYPE123 record"
+echo_i "querying for various representations of a CLASS10 TYPE123 record"
for i in 1 2
do
ret=0
$DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 class10 > dig.out || ret=1
- echo '\# 1 00' | diff - dig.out || ret=1
+ echo '\# 1 00' | $DIFF - dig.out || ret=1
if [ $ret != 0 ]
then
echo "#$i failed"
status=`expr $status + $ret`
done
-echo "I:querying for SOAs of zone that should have failed to load"
+echo_i "querying for SOAs of zone that should have failed to load"
for i in 1 2 3 4
do
ret=0
status=`expr $status + $ret`
done
-echo "I:checking large unknown record loading on master"
+echo_i "checking large unknown record loading on master"
ret=0
-$DIG $DIGOPTS @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo I: dig failed ; }
-diff -s large.out dig.out > /dev/null || { ret=1 ; echo "I: diff failed"; }
-[ $ret = 0 ] || echo "I: failed"
-status=`expr $status + $ret`
+$DIG $DIGOPTS @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
+$DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+[ $ret = 0 ] || echo_i "failed"
-echo "I:checking large unknown record loading on slave"
+echo_i "checking large unknown record loading on slave"
ret=0
-$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo I: dig failed ; }
-diff -s large.out dig.out > /dev/null || { ret=1 ; echo "I: diff failed"; }
-[ $ret = 0 ] || echo "I: failed"
+$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed ; }
+$DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "diff failed"; }
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:stop and restart slave"
+echo_i "stop and restart slave"
$PERL $SYSTEMTESTTOP/stop.pl . ns2
-$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns2
+$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns2
-echo "I:checking large unknown record loading on slave"
+echo_i "checking large unknown record loading on slave"
ret=0
-$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo I: dig failed ; }
-diff -s large.out dig.out > /dev/null || { ret=1 ; echo "I: diff failed"; }
-[ $ret = 0 ] || echo "I: failed"
+$DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed ; }
+$DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "diff failed"; }
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:checking large unknown record loading on inline slave"
+echo_i "checking large unknown record loading on inline slave"
ret=0
-$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo I: dig failed ; }
-diff large.out dig.out > /dev/null || { ret=1 ; echo "I: diff failed"; }
-[ $ret = 0 ] || echo "I: failed"
+$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed ; }
+$DIFF large.out dig.out > /dev/null || { ret=1 ; echo_i "diff failed"; }
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:stop and restart inline slave"
+echo_i "stop and restart inline slave"
$PERL $SYSTEMTESTTOP/stop.pl . ns3
-$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns3
+$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} . ns3
-echo "I:checking large unknown record loading on inline slave"
+echo_i "checking large unknown record loading on inline slave"
ret=0
-$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo I: dig failed ; }
-diff large.out dig.out > /dev/null || { ret=1 ; echo "I: diff failed"; }
-[ $ret = 0 ] || echo "I: failed"
+$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed ; }
+$DIFF large.out dig.out > /dev/null || { ret=1 ; echo_i "diff failed"; }
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:check that '"'"\\#"'"' is not treated as the unknown escape sequence"
+echo_i "check that '"'"\\#"'"' is not treated as the unknown escape sequence"
ret=0
$DIG $DIGOPTS @10.53.0.1 +tcp +short txt8.example txt > dig.out
-echo '"#" "2" "0145"' | diff - dig.out || ret=1
-[ $ret = 0 ] || echo "I: failed"
+echo '"#" "2" "0145"' | $DIFF - dig.out || ret=1
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:check that 'TXT \# text' is not treated as the unknown escape sequence"
+echo_i "check that 'TXT \# text' is not treated as the unknown escape sequence"
ret=0
$DIG $DIGOPTS @10.53.0.1 +tcp +short txt9.example txt > dig.out
-echo '"#" "text"' | diff - dig.out || ret=1
-[ $ret = 0 ] || echo "I: failed"
+echo '"#" "text"' | $DIFF - dig.out || ret=1
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-echo "I:check that 'TYPE353 \# cat' produces 'not a valid number'"
+echo_i "check that 'TYPE353 \# cat' produces 'not a valid number'"
ret=0
$CHECKZONE nan.bad zones/nan.bad > check.out 2>&1
grep "not a valid number" check.out > /dev/null || ret=1
-[ $ret = 0 ] || echo "I: failed"
+[ $ret = 0 ] || echo_i "failed"
status=`expr $status + $ret`
-
-
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: ans.pl,v 1.2 2011/08/31 06:49:10 marka Exp $
-
#
# This is the name server from hell. It provides canned
# responses based on pattern matching the queries, and
my $server_addr = "10.53.0.4";
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $udpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "udp", Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "udp", Reuse => 1) or die "$!";
my $tcpsock = IO::Socket::INET->new(LocalAddr => "$server_addr",
- LocalPort => 5300, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
+ LocalPort => $localport, Proto => "tcp", Listen => 5, Reuse => 1) or die "$!";
-print "listening on $server_addr:5300.\n";
+print "listening on $server_addr:$localport.\n";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.11 2011/10/30 23:46:15 tbox Exp $
-
#
# Clean up after zone transfer tests.
#
rm -f ns3/nomaster1.db
rm -f */named.memstats
rm -f */named.run
+rm -f */named.conf
rm -f */ans.run
rm -f Ksig0.example2.*
rm -f keyname
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2007/06/18 23:47:31 tbox Exp $ */
-
key "update.example." {
algorithm "hmac-md5";
secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.10 2007/06/18 23:47:31 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.14 2011/10/26 15:23:37 each Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
then
:
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo_i "This test requires the Net::DNS library." >&2
exit 1
fi
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
+
cp -f ns1/example1.db ns1/example.db
-rm -f ns1/example.db.jnl ns2/example.bk ns2/example.bk.jnl
-rm -f ns1/example2.db.jnl ns2/example2.bk ns2/example2.bk.jnl
cp -f ns3/nomaster.db ns3/nomaster1.db
-rm -f Ksig0.example2.*
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
#
# SIG(0) required cryptographic support which may not be configured.
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.13 2011/10/13 22:18:05 marka Exp $
-
# ns1 = stealth master
# ns2 = slave with update forwarding disabled; not currently used
# ns3 = slave with update forwarding enabled
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+
status=0
n=1
sleep 5
-echo "I:waiting for servers to be ready for testing ($n)"
+echo_i "waiting for servers to be ready for testing ($n)"
for i in 1 2 3 4 5 6 7 8 9 10
do
ret=0
- $DIG +tcp example. @10.53.0.1 soa -p 5300 > dig.out.ns1 || ret=1
+ $DIG +tcp -p ${PORT} example. @10.53.0.1 soa > dig.out.ns1 || ret=1
grep "status: NOERROR" dig.out.ns1 > /dev/null || ret=1
- $DIG +tcp example. @10.53.0.2 soa -p 5300 > dig.out.ns2 || ret=1
+ $DIG +tcp -p ${PORT} example. @10.53.0.2 soa > dig.out.ns2 || ret=1
grep "status: NOERROR" dig.out.ns2 > /dev/null || ret=1
- $DIG +tcp example. @10.53.0.3 soa -p 5300 > dig.out.ns3 || ret=1
+ $DIG +tcp -p ${PORT} example. @10.53.0.3 soa > dig.out.ns3 || ret=1
grep "status: NOERROR" dig.out.ns3 > /dev/null || ret=1
test $ret = 0 && break
sleep 1
done
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:fetching master copy of zone before update ($n)"
+echo_i "fetching master copy of zone before update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:fetching slave 1 copy of zone before update ($n)"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+echo_i "fetching slave 1 copy of zone before update ($n)"
+$DIG $DIGOPTS example.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:fetching slave 2 copy of zone before update ($n)"
+echo_i "fetching slave 2 copy of zone before update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.3 axfr > dig.out.ns3 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:comparing pre-update copies to known good data ($n)"
+echo_i "comparing pre-update copies to known good data ($n)"
ret=0
$PERL ../digcomp.pl knowngood.before dig.out.ns1 || ret=1
$PERL ../digcomp.pl knowngood.before dig.out.ns2 || ret=1
$PERL ../digcomp.pl knowngood.before dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
-echo "I:updating zone (signed) ($n)"
+echo_i "updating zone (signed) ($n)"
ret=0
$NSUPDATE -y update.example:c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K -- - <<EOF || ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add updated.example. 600 A 10.10.10.1
update add updated.example. 600 TXT Foo
send
EOF
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:sleeping 15 seconds for server to incorporate changes"
+echo_i "sleeping 15 seconds for server to incorporate changes"
sleep 15
-echo "I:fetching master copy of zone after update ($n)"
+echo_i "fetching master copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:fetching slave 1 copy of zone after update ($n)"
+echo_i "fetching slave 1 copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
-echo "I:fetching slave 2 copy of zone after update ($n)"
+echo_i "fetching slave 2 copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.3 axfr > dig.out.ns3 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:comparing post-update copies to known good data ($n)"
+echo_i "comparing post-update copies to known good data ($n)"
ret=0
$PERL ../digcomp.pl knowngood.after1 dig.out.ns1 || ret=1
$PERL ../digcomp.pl knowngood.after1 dig.out.ns2 || ret=1
$PERL ../digcomp.pl knowngood.after1 dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
-echo "I:checking 'forwarding update for zone' is logged ($n)"
+echo_i "checking 'forwarding update for zone' is logged ($n)"
ret=0
grep "forwarding update for zone 'example/IN'" ns3/named.run > /dev/null || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:updating zone (unsigned) ($n)"
+echo_i "updating zone (unsigned) ($n)"
ret=0
$NSUPDATE -- - <<EOF || ret=1
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
update add unsigned.example. 600 A 10.10.10.1
update add unsigned.example. 600 TXT Foo
send
EOF
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:sleeping 15 seconds for server to incorporate changes"
+echo_i "sleeping 15 seconds for server to incorporate changes"
sleep 15
-echo "I:fetching master copy of zone after update ($n)"
+echo_i "fetching master copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.1 axfr > dig.out.ns1 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
-echo "I:fetching slave 1 copy of zone after update ($n)"
+echo_i "fetching slave 1 copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.2 axfr > dig.out.ns2 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:fetching slave 2 copy of zone after update ($n)"
+echo_i "fetching slave 2 copy of zone after update ($n)"
ret=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example.\
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+$DIG $DIGOPTS example.\
+ @10.53.0.3 axfr > dig.out.ns3 || ret=1
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
-echo "I:comparing post-update copies to known good data ($n)"
+echo_i "comparing post-update copies to known good data ($n)"
ret=0
$PERL ../digcomp.pl knowngood.after2 dig.out.ns1 || ret=1
$PERL ../digcomp.pl knowngood.after2 dig.out.ns2 || ret=1
$PERL ../digcomp.pl knowngood.after2 dig.out.ns3 || ret=1
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
-echo "I:checking update forwarding to dead master ($n)"
+echo_i "checking update forwarding to dead master ($n)"
count=0
ret=0
while [ $count -lt 5 -a $ret -eq 0 ]
do
(
$NSUPDATE -- - <<EOF
-server 10.53.0.3 5300
+server 10.53.0.3 ${PORT}
zone nomaster
update add unsigned.nomaster. 600 A 10.10.10.1
update add unsigned.nomaster. 600 TXT Foo
send
EOF
) > /dev/null 2>&1 &
- $DIG +notcp +noadd +noauth nomaster.\
- @10.53.0.3 soa -p 5300 > dig.out.ns3 || ret=1
+ $DIG -p ${PORT} +noadd +notcp +noauth nomaster. @10.53.0.3 soa > dig.out.ns3 || ret=1
grep "status: NOERROR" dig.out.ns3 > /dev/null || ret=1
count=`expr $count + 1`
done
-if [ $ret != 0 ] ; then echo "I:failed"; status=`expr $status + $ret`; fi
+if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $status + $ret`; fi
n=`expr $n + 1`
if test -f keyname
then
- echo "I:checking update forwarding to with sig0 ($n)"
+ echo_i "checking update forwarding to with sig0 ($n)"
ret=0
keyname=`cat keyname`
$NSUPDATE -k $keyname.private -- - <<EOF
- server 10.53.0.3 5300
+ server 10.53.0.3 ${PORT}
zone example2
update add unsigned.example2. 600 A 10.10.10.1
update add unsigned.example2. 600 TXT Foo
send
EOF
- $DIG unsigned.example2 A @10.53.0.1 -p 5300 > dig.out.ns1.test$n
+ $DIG unsigned.example2 A @10.53.0.1 > dig.out.ns1.test$n
grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
- if [ $ret != 0 ] ; then echo "I:failed"; fi
+ if [ $ret != 0 ] ; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
failed () {
cat verify.out.$n | sed 's/^/D:/';
- echo "I:failed";
+ echo_i "failed";
status=1;
}
do
n=`expr $n + 1`
zone=`expr "$file" : 'zones/\(.*\).good'`
- echo "I:checking supposedly good zone: $zone ($n)"
+ echo_i "checking supposedly good zone: $zone ($n)"
ret=0
case $zone in
zsk-only.*) only=-z;;
do
n=`expr $n + 1`
zone=`expr "$file" : 'zones/\(.*\).bad'`
- echo "I:checking supposedly bad zone: $zone ($n)"
+ echo_i "checking supposedly bad zone: $zone ($n)"
ret=0
dumpit=0
case $zone in
done
n=`expr $n + 1`
-echo "I:checking error message when -o is not used and a SOA record not at top of zone is found ($n)"
+echo_i "checking error message when -o is not used and a SOA record not at top of zone is found ($n)"
ret=0
# When -o is not used, origin is set to zone file name, which should cause an error in this case
$VERIFY zones/ksk+zsk.nsec.good > verify.out.$n 2>&1 && ret=1
[ $ret = 0 ] || failed
n=`expr $n + 1`
-echo "I:checking error message when an invalid -o is specified and a SOA record not at top of zone is found ($n)"
+echo_i "checking error message when an invalid -o is specified and a SOA record not at top of zone is found ($n)"
ret=0
$VERIFY -o invalid.origin zones/ksk+zsk.nsec.good > verify.out.$n 2>&1 && ret=1
grep "not at top of zone" verify.out.$n > /dev/null || ret=1
grep "use -o to specify a different zone origin" verify.out.$n > /dev/null && ret=1
[ $ret = 0 ] || failed
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
cat "${1}" | sed 's/^/D:/'
}
setup () {
- echo "I:setting up $2 zone: $1"
+ echo_i "setting up $2 zone: $1"
debug="$1"
zone="$1"
file="$1.$2"
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.14 2007/09/26 03:22:44 marka Exp $
-
#
# Clean up after zone transfer tests.
#
+rm -f ns*/named.conf
rm -f ns3/example.bk dig.out.ns?.?
-rm -f ns2/named.conf ns2/example.db ns3/named.conf ns3/internal.bk
+rm -f ns2/example.db ns3/named.conf ns3/internal.bk
rm -f */named.memstats
-rm -f */named.run
+rm -f */named.run */named.run.prev
rm -f ns2/external/K*
rm -f ns2/external/inline.db.jbk
rm -f ns2/external/inline.db.signed
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.14 2007/06/19 23:47:05 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.20 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
notify yes;
};
-include "../../common/controls.conf";
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
zone "." {
type hint;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.22 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; 10.53.0.4; };
listen-on-v6 { none; };
notify yes;
};
-include "../../common/controls.conf";
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
view "internal" {
match-clients { 10.53.0.2;
inline-signing yes;
};
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.19 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
directory ".";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
allow-update { any; };
file "internal.db";
};
-
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.19 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
directory ".";
pid-file "named.pid";
listen-on { 10.53.0.3; };
};
controls {
- inet 10.53.0.3 port 11953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+
+test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+
cp -f ns2/example1.db ns2/example.db
-cp -f ns2/named1.conf ns2/named.conf
-cp -f ns3/named1.conf ns3/named.conf
rm -f ns2/external/K*
rm -f ns2/external/inline.db.signed
rm -f ns2/external/inline.db.signed.jnl
rm -f ns2/internal/inline.db.signed
rm -f ns2/internal/inline.db.signed.jnl
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
-
-test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
+copy_setports ns3/named1.conf.in ns3/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
#
# We remove k1 and k2 as KEYGEN is deterministic when given the
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.30 2007/06/19 23:47:06 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth -p ${PORT}"
+SHORTOPTS="+tcp +short -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
-echo "I:fetching a.example from ns2's initial configuration"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth \
- a.example. @10.53.0.2 any -p 5300 > dig.out.ns2.1 || status=1
+echo_i "fetching a.example from ns2's initial configuration"
+$DIG $DIGOPTS a.example. @10.53.0.2 any > dig.out.ns2.1 || status=1
grep ";" dig.out.ns2.1 # XXXDCL why is this here?
-echo "I:fetching a.example from ns3's initial configuration"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth \
- a.example. @10.53.0.3 any -p 5300 > dig.out.ns3.1 || status=1
+echo_i "fetching a.example from ns3's initial configuration"
+$DIG $DIGOPTS a.example. @10.53.0.3 any > dig.out.ns3.1 || status=1
grep ";" dig.out.ns3.1 # XXXDCL why is this here?
-echo "I:copying in new configurations for ns2 and ns3"
+echo_i "copying in new configurations for ns2 and ns3"
rm -f ns2/named.conf ns3/named.conf ns2/example.db
-cp -f ns2/named2.conf ns2/named.conf
-cp -f ns3/named2.conf ns3/named.conf
cp -f ns2/example2.db ns2/example.db
-
-echo "I:reloading ns2 and ns3 with rndc"
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 | sed 's/^/I:ns3 /'
-
-echo "I:sleeping for 20 seconds"
-sleep 20
-
-echo "I:fetching a.example from ns2's 10.53.0.4, source address 10.53.0.4"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth \
- -b 10.53.0.4 a.example. @10.53.0.4 any -p 5300 > dig.out.ns4.2 \
- || status=1
+copy_setports ns2/named2.conf.in ns2/named.conf
+copy_setports ns3/named2.conf.in ns3/named.conf
+
+echo_i "reloading ns2 and ns3 with rndc"
+nextpart ns2/named.run > /dev/null
+nextpart ns3/named.run > /dev/null
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
+$RNDCCMD 10.53.0.3 reload 2>&1 | sed 's/^/ns3 /' | cat_i
+
+echo_i "wait for reload"
+a=0 b=0
+for i in 1 2 3 4 5 6 7 8 9 0; do
+ nextpart ns2/named.run | grep "reloading zones succeeded" > /dev/null && a=1
+ nextpart ns3/named.run | grep "reloading zones succeeded" > /dev/null && b=1
+ [ $a -eq 1 -a $b -eq 1 ] && break
+ sleep 1
+done
+
+echo_i "fetching a.example from ns2's 10.53.0.4, source address 10.53.0.4"
+$DIG $DIGOPTS -b 10.53.0.4 a.example. @10.53.0.4 any > dig.out.ns4.2 || status=1
grep ";" dig.out.ns4.2 # XXXDCL why is this here?
-echo "I:fetching a.example from ns2's 10.53.0.2, source address 10.53.0.2"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth \
- -b 10.53.0.2 a.example. @10.53.0.2 any -p 5300 > dig.out.ns2.2 \
- || status=1
+echo_i "fetching a.example from ns2's 10.53.0.2, source address 10.53.0.2"
+$DIG $DIGOPTS -b 10.53.0.2 a.example. @10.53.0.2 any > dig.out.ns2.2 || status=1
grep ";" dig.out.ns2.2 # XXXDCL why is this here?
-echo "I:fetching a.example from ns3's 10.53.0.3, source address defaulted"
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd +noauth \
- @10.53.0.3 a.example. any -p 5300 > dig.out.ns3.2 || status=1
+echo_i "fetching a.example from ns3's 10.53.0.3, source address defaulted"
+$DIG $DIGOPTS @10.53.0.3 a.example. any > dig.out.ns3.2 || status=1
grep ";" dig.out.ns3.2 # XXXDCL why is this here?
-echo "I:comparing ns3's initial a.example to one from reconfigured 10.53.0.2"
+echo_i "comparing ns3's initial a.example to one from reconfigured 10.53.0.2"
$PERL ../digcomp.pl dig.out.ns3.1 dig.out.ns2.2 || status=1
-echo "I:comparing ns3's initial a.example to one from reconfigured 10.53.0.3"
+echo_i "comparing ns3's initial a.example to one from reconfigured 10.53.0.3"
$PERL ../digcomp.pl dig.out.ns3.1 dig.out.ns3.2 || status=1
-echo "I:comparing ns2's initial a.example to one from reconfigured 10.53.0.4"
+echo_i "comparing ns2's initial a.example to one from reconfigured 10.53.0.4"
$PERL ../digcomp.pl dig.out.ns2.1 dig.out.ns4.2 || status=1
-echo "I:comparing ns2's initial a.example to one from reconfigured 10.53.0.3"
-echo "I:(should be different)"
+echo_i "comparing ns2's initial a.example to one from reconfigured 10.53.0.3"
+echo_i "(should be different)"
if $PERL ../digcomp.pl dig.out.ns2.1 dig.out.ns3.2 >/dev/null
then
- echo "I:no differences found. something's wrong."
+ echo_i "no differences found. something's wrong."
status=1
fi
if $SHELL ../testcrypto.sh
then
- echo "I:verifying inline zones work with views"
+ echo_i "verifying inline zones work with views"
ret=0
- $DIG @10.53.0.2 -p 5300 -b 10.53.0.2 +dnssec DNSKEY inline > dig.out.internal
- $DIG @10.53.0.2 -p 5300 -b 10.53.0.5 +dnssec DNSKEY inline > dig.out.external
+ $DIG -p ${PORT} @10.53.0.2 -b 10.53.0.2 +dnssec DNSKEY inline > dig.out.internal
+ $DIG -p ${PORT} @10.53.0.2 -b 10.53.0.5 +dnssec DNSKEY inline > dig.out.external
grep "ANSWER: 4," dig.out.internal > /dev/null || ret=1
grep "ANSWER: 4," dig.out.external > /dev/null || ret=1
int=`awk '$4 == "DNSKEY" { print $8 }' dig.out.internal | sort`
ext=`awk '$4 == "DNSKEY" { print $8 }' dig.out.external | sort`
test "$int" != "$ext" || ret=1
- if [ $ret != 0 ]; then echo "I:failed"; fi
+ if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
fi
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# PERFORMANCE OF THIS SOFTWARE.
rm -f ns*/named.run
+rm -f ns*/named.conf
rm -f ns1/K*
rm -f ns1/*.db
rm -f ns1/*.signed
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.1.2.3 2010/06/01 07:04:49 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.1.2.2 2010/06/01 06:38:47 marka Exp $
-
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
cat $infile $keyname1.key $keyname2.key > $zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=nsec.
infile=nsec.db.in
cat $infile $keyname1.key $keyname2.key > $zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=private.nsec.
infile=private.nsec.db.in
cat $infile $keyname1.key $keyname2.key > $zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
grep -v '^;' $keyname2.key | $PERL -n -e '
local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
cat $infile $keyname1.key $keyname2.key > $zonefile
$SIGNER -r $RANDFILE -3 - -H 10 -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
zone=private.nsec3.
infile=private.nsec3.db.in
cat $infile $keyname1.key $keyname2.key > $zonefile
$SIGNER -r $RANDFILE -3 - -H 10 -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
grep -v '^;' $keyname2.key | $PERL -n -e '
local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
cat $infile $keyname1.key $keyname2.key $dssets >$zonefile
$SIGNER -r $RANDFILE -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
-echo "I: signed $zone"
+echo_i "signed $zone"
grep -v '^;' $keyname2.key | $PERL -n -e '
local ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.1.2.1 2010/06/01 03:55:02 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.1.2.1 2010/06/01 03:55:02 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.1.2.1 2010/06/01 03:55:02 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.1.2.1 2010/06/01 03:55:02 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.5;
notify-source 10.53.0.5;
transfer-source 10.53.0.5;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
+
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+copy_setports ns5/named.conf.in ns5/named.conf
+
(cd ns1 && $SHELL -e sign.sh)
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.1.2.3 2010/06/01 06:57:31 marka Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
rm -f dig.out.*
-DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300"
+DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
n=`expr $n + 1`
-echo "I: checking that NSEC wildcard non-existance proof is returned auth ($n)"
+echo_i "checking that NSEC wildcard non-existance proof is returned auth ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec +norec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC wildcard non-existance proof is returned non-validating ($n)"
+echo_i "checking that NSEC wildcard non-existance proof is returned non-validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns2.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns2.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC wildcard non-existance proof is returned validating ($n)"
+echo_i "checking that NSEC wildcard non-existance proof is returned validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns3.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC wildcard non-existance proof is returned validating + CD ($n)"
+echo_i "checking that NSEC wildcard non-existance proof is returned validating + CD ($n)"
ret=0
$DIG $DIGOPTS +cd a b.wild.nsec @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns5.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns5.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that returned NSEC wildcard non-existance proof validates ($n)"
+echo_i "checking that returned NSEC wildcard non-existance proof validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns4.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC wildcard non-existance proof is returned private, validating ($n)"
+echo_i "checking that NSEC wildcard non-existance proof is returned private, validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'a\.wild\.private\.nsec\..*NSEC.*private\.nsec\..*NSEC' dig.out.ns3.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that returned NSEC wildcard non-existance proof for private zone validates ($n)"
+echo_i "checking that returned NSEC wildcard non-existance proof for private zone validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'a\.wild\.private\.nsec\..*NSEC.*private\.nsec\..*NSEC' dig.out.ns4.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC3 wildcard non-existance proof is returned auth ($n)"
+echo_i "checking that NSEC3 wildcard non-existance proof is returned auth ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 +norec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns1.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC3 wildcard non-existance proof is returned non-validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existance proof is returned non-validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns2.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns2.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC3 wildcard non-existance proof is returned validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existance proof is returned validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns3.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns3.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC3 wildcard non-existance proof is returned validating + CD ($n)"
+echo_i "checking that NSEC3 wildcard non-existance proof is returned validating + CD ($n)"
ret=0
$DIG $DIGOPTS +cd a b.wild.nsec3 @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns5.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns5.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that returned NSEC3 wildcard non-existance proof validates ($n)"
+echo_i "checking that returned NSEC3 wildcard non-existance proof validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns4.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that NSEC3 wildcard non-existance proof is returned private, validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existance proof is returned private, validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'UDBSP4R8OUOT6HSO39VD8B5LMOSHRD5N\.private\.nsec3\..*NSEC3.*ASDRUIB7GO00OR92S5OUGI404LT27RNU' dig.out.ns3.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns3.test$n > /dev/null && ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I: checking that returned NSEC3 wildcard non-existance proof for private zone validates ($n)"
+echo_i "checking that returned NSEC3 wildcard non-existance proof for private zone validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec3 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'UDBSP4R8OUOT6HSO39VD8B5LMOSHRD5N\.private\.nsec3\..*NSEC3.*ASDRUIB7GO00OR92S5OUGI404LT27RNU' dig.out.ns4.test$n > /dev/null || ret=1
grep -i 'flags:.* ad[ ;]' dig.out.ns4.test$n > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
#
# Clean up after zone transfer tests.
#
rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl
rm -f ns3/example.bk ns3/tsigzone.bk ns3/example.bk.jnl
rm -f ns3/master.bk ns3/master.bk.jnl
-rm -f ns4/named.conf ns4/nil.db ns4/root.db
+rm -f ns4/nil.db ns4/root.db
rm -f ns6/*.db ns6/*.bk ns6/*.jnl
rm -f ns7/*.db ns7/*.bk ns7/*.jnl
-
+rm -f */named.conf
+rm -f */named.run
rm -f */named.memstats
rm -f */named.run
rm -f */ans.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.20 2011/03/12 04:59:47 tbox Exp $ */
-
include "../../common/rndc.key";
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.24 2007/12/20 01:48:29 marka Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
check-integrity no;
};
-include "../../common/controls.conf";
+key rndc_key {
+ secret "1234abcd8765";
+ algorithm hmac-sha256;
+};
+
+controls {
+ inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
key tsigzone. {
algorithm hmac-md5;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.23 2011/03/12 04:59:47 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
key tsigzone. {
file "tsigzone.bk";
allow-transfer { key tsigzone.; };
};
-
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf.base,v 1.3 2011/12/01 00:53:58 marka Exp $ */
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
zone "." {
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/03/12 04:59:47 tbox Exp $ */
-
include "../../common/rndc.key";
controls {
- inet 10.53.0.6 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.6 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.6;
notify-source 10.53.0.6;
transfer-source 10.53.0.6;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2011/03/12 04:59:47 tbox Exp $ */
-
include "../../common/rndc.key";
controls {
- inet 10.53.0.7 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.7 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
options {
query-source address 10.53.0.7;
notify-source 10.53.0.7;
transfer-source 10.53.0.7;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
then
:
else
- echo "I:Net::DNS versions 0.69 to 0.74 have bugs that cause this test to fail: please update." >&2
+ echo_i "Net::DNS versions 0.69 to 0.74 have bugs that cause this test to fail: please update." >&2
exit 1
fi
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo_i "This test requires the Net::DNS library." >&2
exit 1
fi
rm -f ns4/*.db ns4/*.jnl
cp -f ns4/root.db.in ns4/root.db
$PERL -e 'for ($i=0;$i<10000;$i++){ printf("x%u 0 in a 10.53.0.1\n", $i);}' >> ns4/root.db
-cp -f ns4/named.conf.base ns4/named.conf
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns6/named.conf.in ns6/named.conf
+copy_setports ns7/named.conf.in ns7/named.conf
+copy_setports ns8/named.conf.in ns8/named.conf
+
+copy_setports ns4/named.conf.base ns4/named.conf
cp ns2/slave.db.in ns2/slave.db
touch -t 200101010000 ns2/slave.db
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id$
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
-DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
status=0
n=0
n=`expr $n + 1`
-echo "I:testing basic zone transfer functionality"
+echo_i "testing basic zone transfer functionality"
$DIG $DIGOPTS example. \
- @10.53.0.2 axfr -p 5300 > dig.out.ns2 || status=1
+ @10.53.0.2 axfr > dig.out.ns2 || status=1
grep "^;" dig.out.ns2
#
do
tmp=0
$DIG $DIGOPTS example. \
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || tmp=1
+ @10.53.0.3 axfr > dig.out.ns3 || tmp=1
grep "^;" dig.out.ns3 > /dev/null
if test $? -ne 0 ; then break; fi
- echo "I: plain zone re-transfer"
+ echo_i "plain zone re-transfer"
sleep 5
done
if test $tmp -eq 1 ; then status=1; fi
$PERL ../digcomp.pl dig1.good dig.out.ns3 || status=1
n=`expr $n + 1`
-echo "I:testing TSIG signed zone transfers"
-$DIG $DIGOPTS tsigzone. \
- @10.53.0.2 axfr -y tsigzone.:1234abcd8765 -p 5300 \
- > dig.out.ns2 || status=1
+echo_i "testing TSIG signed zone transfers"
+$DIG $DIGOPTS tsigzone. @10.53.0.2 axfr -y tsigzone.:1234abcd8765 > dig.out.ns2 || status=1
grep "^;" dig.out.ns2
#
for i in 1 2 3 4 5
do
tmp=0
-$DIG $DIGOPTS tsigzone. \
- @10.53.0.3 axfr -y tsigzone.:1234abcd8765 -p 5300 \
- > dig.out.ns3 || tmp=1
+ $DIG $DIGOPTS tsigzone. @10.53.0.3 axfr -y tsigzone.:1234abcd8765 > dig.out.ns3 || tmp=1
grep "^;" dig.out.ns3 > /dev/null
if test $? -ne 0 ; then break; fi
- echo "I: plain zone re-transfer"
+ echo_i "plain zone re-transfer"
sleep 5
done
if test $tmp -eq 1 ; then status=1; fi
$PERL ../digcomp.pl dig.out.ns2 dig.out.ns3 || status=1
-echo "I:reload servers for in preparation for ixfr-from-differences tests"
+echo_i "reload servers for in preparation for ixfr-from-differences tests"
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload 2>&1 | sed 's/^/I:ns1 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 | sed 's/^/I:ns3 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.6 -p 9953 reload 2>&1 | sed 's/^/I:ns6 /'
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 reload 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.1 reload 2>&1 | sed 's/^/ns1 /' | cat_i
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
+$RNDCCMD 10.53.0.3 reload 2>&1 | sed 's/^/ns3 /' | cat_i
+$RNDCCMD 10.53.0.6 reload 2>&1 | sed 's/^/ns6 /' | cat_i
+$RNDCCMD 10.53.0.7 reload 2>&1 | sed 's/^/ns7 /' | cat_i
sleep 2
-echo "I:updating master zones for ixfr-from-differences tests"
+echo_i "updating master zones for ixfr-from-differences tests"
$PERL -i -p -e '
s/0\.0\.0\.0/0.0.0.1/;
s/1397051952/1397051953/
' ns1/slave.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload 2>&1 | sed 's/^/I:ns1 /'
+$RNDCCMD 10.53.0.1 reload 2>&1 | sed 's/^/ns1 /' | cat_i
$PERL -i -p -e '
s/0\.0\.0\.0/0.0.0.1/;
s/1397051952/1397051953/
' ns2/example.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
+$RNDCCMD 10.53.0.2 reload 2>&1 | sed 's/^/ns2 /' | cat_i
$PERL -i -p -e '
s/0\.0\.0\.0/0.0.0.1/;
s/1397051952/1397051953/
' ns6/master.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.6 -p 9953 reload 2>&1 | sed 's/^/I:ns6 /'
+$RNDCCMD 10.53.0.6 reload 2>&1 | sed 's/^/ns6 /' | cat_i
$PERL -i -p -e '
s/0\.0\.0\.0/0.0.0.1/;
s/1397051952/1397051953/
' ns7/master2.db
-$RNDC -c ../common/rndc.conf -s 10.53.0.7 -p 9953 reload 2>&1 | sed 's/^/I:ns7 /'
+$RNDCCMD 10.53.0.7 reload 2>&1 | sed 's/^/ns7 /' | cat_i
sleep 3
-echo "I:testing zone is dumped after successful transfer"
-$DIG $DIGOPTS +noall +answer +multi @10.53.0.2 -p 5300 \
+echo_i "testing zone is dumped after successful transfer"
+$DIG $DIGOPTS +noall +answer +multi @10.53.0.2 \
slave. soa > dig.out.ns2 || tmp=1
grep "1397051952 ; serial" dig.out.ns2 > /dev/null 2>&1 || tmp=1
grep "1397051952 ; serial" ns2/slave.db > /dev/null 2>&1 || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:testing ixfr-from-differences yes;"
+echo_i "testing ixfr-from-differences yes;"
tmp=0
for i in 0 1 2 3 4 5 6 7 8 9
do
- $DIG $DIGOPTS @10.53.0.3 -p 5300 +noall +answer soa example > dig.out.soa.ns3
+ $DIG $DIGOPTS @10.53.0.3 +noall +answer soa example > dig.out.soa.ns3
grep "1397051953" dig.out.soa.ns3 > /dev/null && break;
sleep 1
done
$DIG $DIGOPTS example. \
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || tmp=1
+ @10.53.0.3 axfr > dig.out.ns3 || tmp=1
grep "^;" dig.out.ns3
$PERL ../digcomp.pl dig2.good dig.out.ns3 || tmp=1
# ns3 has a journal iff it received an IXFR.
-test -f ns3/example.bk || tmp=1
-test -f ns3/example.bk.jnl || tmp=1
+test -f ns3/example.bk || tmp=1
+test -f ns3/example.bk.jnl || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:testing ixfr-from-differences master; (master zone)"
+echo_i "testing ixfr-from-differences master; (master zone)"
tmp=0
$DIG $DIGOPTS master. \
- @10.53.0.6 axfr -p 5300 > dig.out.ns6 || tmp=1
+ @10.53.0.6 axfr > dig.out.ns6 || tmp=1
grep "^;" dig.out.ns6
$DIG $DIGOPTS master. \
- @10.53.0.3 axfr -p 5300 > dig.out.ns3 || tmp=1
+ @10.53.0.3 axfr > dig.out.ns3 || tmp=1
grep "^;" dig.out.ns3 && cat dig.out.ns3
$PERL ../digcomp.pl dig.out.ns6 dig.out.ns3 || tmp=1
# ns3 has a journal iff it received an IXFR.
-test -f ns3/master.bk || tmp=1
-test -f ns3/master.bk.jnl || tmp=1
+test -f ns3/master.bk || tmp=1
+test -f ns3/master.bk.jnl || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:testing ixfr-from-differences master; (slave zone)"
+echo_i "testing ixfr-from-differences master; (slave zone)"
tmp=0
$DIG $DIGOPTS slave. \
- @10.53.0.6 axfr -p 5300 > dig.out.ns6 || tmp=1
+ @10.53.0.6 axfr > dig.out.ns6 || tmp=1
grep "^;" dig.out.ns6
$DIG $DIGOPTS slave. \
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || tmp=1
+ @10.53.0.1 axfr > dig.out.ns1 || tmp=1
grep "^;" dig.out.ns1
$PERL ../digcomp.pl dig.out.ns6 dig.out.ns1 || tmp=1
# ns6 has a journal iff it received an IXFR.
-test -f ns6/slave.bk || tmp=1
-test -f ns6/slave.bk.jnl && tmp=1
+test -f ns6/slave.bk || tmp=1
+test -f ns6/slave.bk.jnl && tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:testing ixfr-from-differences slave; (master zone)"
+echo_i "testing ixfr-from-differences slave; (master zone)"
tmp=0
# ns7 has a journal iff it generates an IXFR.
-test -f ns7/master2.db || tmp=1
-test -f ns7/master2.db.jnl && tmp=1
+test -f ns7/master2.db || tmp=1
+test -f ns7/master2.db.jnl && tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:testing ixfr-from-differences slave; (slave zone)"
+echo_i "testing ixfr-from-differences slave; (slave zone)"
tmp=0
$DIG $DIGOPTS slave. \
- @10.53.0.1 axfr -p 5300 > dig.out.ns1 || tmp=1
+ @10.53.0.1 axfr > dig.out.ns1 || tmp=1
grep "^;" dig.out.ns1
$DIG $DIGOPTS slave. \
- @10.53.0.7 axfr -p 5300 > dig.out.ns7 || tmp=1
+ @10.53.0.7 axfr > dig.out.ns7 || tmp=1
grep "^;" dig.out.ns1
$PERL ../digcomp.pl dig.out.ns7 dig.out.ns1 || tmp=1
# ns7 has a journal iff it generates an IXFR.
-test -f ns7/slave.bk || tmp=1
-test -f ns7/slave.bk.jnl || tmp=1
+test -f ns7/slave.bk || tmp=1
+test -f ns7/slave.bk.jnl || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
-echo "I:check that a multi-message uncompressable zone transfers"
-$DIG axfr . -p 5300 @10.53.0.4 | grep SOA > axfr.out
+echo_i "check that a multi-message uncompressable zone transfers"
+$DIG axfr . -p ${PORT} @10.53.0.4 | grep SOA > axfr.out
if test `wc -l < axfr.out` != 2
then
- echo "I:failed"
+ echo_i "failed"
status=`expr $status + 1`
fi
# now we test transfers with assorted TSIG glitches
-DIGCMD="$DIG $DIGOPTS @10.53.0.4 -p 5300"
-SENDCMD="$PERL ../send.pl 10.53.0.5 5301"
-RNDCCMD="$RNDC -s 10.53.0.4 -p 9953 -c ../common/rndc.conf"
+DIGCMD="$DIG $DIGOPTS @10.53.0.4"
+SENDCMD="$PERL ../send.pl 10.53.0.5 $EXTRAPORT1"
-echo "I:testing that incorrectly signed transfers will fail..."
-echo "I:initial correctly-signed transfer should succeed"
+echo_i "testing that incorrectly signed transfers will fail..."
+echo_i "initial correctly-signed transfer should succeed"
$SENDCMD < ans5/goodaxfr
sleep 1
cur=`awk 'END {print NR}' ns4/named.run`
-$RNDCCMD reload | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 reload | sed 's/^/ns4 /' | cat_i
for i in 0 1 2 3 4 5 6 7 8 9
do
done
sed -n "$cur,\$p" < ns4/named.run | grep "Transfer status: success" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'initial AXFR' >/dev/null || {
- echo "I:failed"
+ echo_i "failed"
status=1
}
-echo "I:unsigned transfer"
+echo_i "unsigned transfer"
$SENDCMD < ans5/unsigned
sleep 1
-$RNDCCMD retransfer nil | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 retransfer nil | sed 's/^/ns4 /' | cat_i
sleep 2
sed -n "$cur,\$p" < ns4/named.run | grep "Transfer status: expected a TSIG or SIG(0)" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'unsigned AXFR' >/dev/null && {
- echo "I:failed"
+ echo_i "failed"
status=1
}
-echo "I:bad keydata"
+echo_i "bad keydata"
$SENDCMD < ans5/badkeydata
sleep 1
-$RNDCCMD retransfer nil | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 retransfer nil | sed 's/^/ns4 /' | cat_i
sleep 2
sed -n "$cur,\$p" < ns4/named.run | grep "Transfer status: tsig verify failure" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'bad keydata AXFR' >/dev/null && {
- echo "I:failed"
+ echo_i "failed"
status=1
}
-echo "I:partially-signed transfer"
+echo_i "partially-signed transfer"
$SENDCMD < ans5/partial
sleep 1
-$RNDCCMD retransfer nil | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 retransfer nil | sed 's/^/ns4 /' | cat_i
sleep 2
sed -n "$cur,\$p" < ns4/named.run | grep "Transfer status: expected a TSIG or SIG(0)" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'partially signed AXFR' >/dev/null && {
- echo "I:failed"
+ echo_i "failed"
status=1
}
-echo "I:unknown key"
+echo_i "unknown key"
$SENDCMD < ans5/unknownkey
sleep 1
-$RNDCCMD retransfer nil | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 retransfer nil | sed 's/^/ns4 /' | cat_i
sleep 2
sed -n "$cur,\$p" < ns4/named.run | grep "tsig key 'tsig_key': key name and algorithm do not match" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'unknown key AXFR' >/dev/null && {
- echo "I:failed"
+ echo_i "failed"
status=1
}
-echo "I:incorrect key"
+echo_i "incorrect key"
$SENDCMD < ans5/wrongkey
sleep 1
-$RNDCCMD retransfer nil | sed 's/^/I:ns4 /'
+$RNDCCMD 10.53.0.4 retransfer nil | sed 's/^/ns4 /' | cat_i
sleep 2
sed -n "$cur,\$p" < ns4/named.run | grep "tsig key 'tsig_key': key name and algorithm do not match" > /dev/null || {
- echo "I: failed: expected status was not logged"
+ echo_i "failed: expected status was not logged"
status=1
}
cur=`awk 'END {print NR}' ns4/named.run`
$DIGCMD nil. TXT | grep 'incorrect key AXFR' >/dev/null && {
- echo "I:failed"
+ echo_i "failed"
status=1
}
n=`expr $n + 1`
-echo "I:test that a zone with too many records is rejected (AXFR) ($n)"
+echo_i "test that a zone with too many records is rejected (AXFR) ($n)"
tmp=0
grep "'axfr-too-big/IN'.*: too many records" ns6/named.run >/dev/null || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
n=`expr $n + 1`
-echo "I:test that a zone with too many records is rejected (IXFR) ($n)"
+echo_i "test that a zone with too many records is rejected (IXFR) ($n)"
tmp=0
grep "'ixfr-too-big./IN.*: too many records" ns6/named.run >/dev/null && tmp=1
$NSUPDATE << EOF
zone ixfr-too-big
-server 10.53.0.1 5300
+server 10.53.0.1 ${PORT}
update add the-31st-record.ixfr-too-big 0 TXT this is it
send
EOF
sleep 1
done
grep "'ixfr-too-big/IN'.*: too many records" ns6/named.run >/dev/null || tmp=1
-if test $tmp != 0 ; then echo "I:failed"; fi
+if test $tmp != 0 ; then echo_i "failed"; fi
status=`expr $status + $tmp`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.14 2007/09/26 03:22:44 marka Exp $
-
#
# Clean up after zone transfer quota tests.
#
rm -f dig.out.* ns2/changing.bk
rm -f ns1/changing.db
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.21 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.22 2007/06/19 23:47:07 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.15 2007/06/19 23:47:07 tbox Exp $
-
#
# Set up test data for zone transfer quota tests.
#
+SYSTEMTESTTOP=..
+. $SYSTEMTESTTOP/conf.sh
+
+$SHELL clean.sh
+
$PERL setup.pl
cp -f ns1/changing1.db ns1/changing.db
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.25 2007/06/19 23:47:07 tbox Exp $
-
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd -p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
#
# Perform tests
#
ticks=0
while [ $count != 300 ]; do
if [ $ticks = 1 ]; then
- echo "I:Changing test zone..."
+ echo_i "Changing test zone..."
cp -f ns1/changing2.db ns1/changing.db
kill -HUP `cat ns1/named.pid`
fi
ticks=`expr $ticks + 1`
seconds=`expr $ticks \* 1`
if [ $ticks = 360 ]; then
- echo "I:Took too long to load zones"
+ echo_i "Took too long to load zones"
exit 1
fi
count=`cat ns2/zone*.bk | grep xyzzy | wc -l`
- echo "I:Have $count zones up in $seconds seconds"
+ echo_i "Have $count zones up in $seconds seconds"
done
status=0
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
- zone000099.example. @10.53.0.1 axfr -p 5300 > dig.out.ns1 || status=1
+$DIG $DIGOPTS zone000099.example. @10.53.0.1 axfr > dig.out.ns1 || status=1
grep ";" dig.out.ns1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
- zone000099.example. @10.53.0.2 axfr -p 5300 > dig.out.ns2 || status=1
+$DIG $DIGOPTS zone000099.example. @10.53.0.2 axfr > dig.out.ns2 || status=1
grep ";" dig.out.ns2
$PERL ../digcomp.pl dig.out.ns1 dig.out.ns2 || status=1
sleep 15
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
- a.changing. @10.53.0.1 a -p 5300 > dig.out.ns1 || status=1
+$DIG $DIGOPTS a.changing. @10.53.0.1 a > dig.out.ns1 || status=1
grep ";" dig.out.ns1
-$DIG +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd \
- a.changing. @10.53.0.2 a -p 5300 > dig.out.ns2 || status=1
+$DIG $DIGOPTS a.changing. @10.53.0.2 a > dig.out.ns2 || status=1
grep ";" dig.out.ns2
$PERL ../digcomp.pl dig.out.ns1 dig.out.ns2 || status=1
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
use Net::DNS;
use Net::DNS::Packet;
+my $localport = int($ENV{'PORT'});
+if (!$localport) { $localport = 5300; }
+
my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.5",
- LocalPort => 5300, Proto => "udp") or die "$!";
+ LocalPort => $localport, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
print $pidf "$$\n" or die "cannot write pid file: $!";
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
+rm -f */named.conf
rm -f */named.run
rm -f */named.memstats
rm -f ns2/example.db
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
type master;
file "root.db";
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.2;
notify-source 10.53.0.2;
transfer-source 10.53.0.2;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
type hint;
file "root.hint";
};
-
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.15 2009/05/29 23:47:49 tbox Exp $ */
-
-controls { /* empty */ };
-
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+$SHELL clean.sh
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns3/named.conf.in ns3/named.conf
+copy_setports ns4/named.conf.in ns4/named.conf
+
$SHELL ../genzone.sh 2 4 | sed -e 's/^$TTL 3600$/$TTL 0 ; force TTL to zero/' -e 's/86400.IN SOA/0 SOA/' > ns2/example.db
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+
status=0
n=0
n=`expr $n + 1`
-echo "I:check lookups against TTL=0 records ($n)"
+echo_i "check lookups against TTL=0 records ($n)"
i=0
passes=10
-$DIG -p 5300 @10.53.0.2 axfr example | grep -v "^ds0" |
+$DIG $DIGOPTS @10.53.0.2 axfr example | grep -v "^ds0" |
awk '$2 == "0" { print "-q", $1, $4; print "-q", "zzz"$1, $4;}' > query.list
while [ $i -lt $passes ]
do
ret=0
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.1.test$n &
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.2.test$n &
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.3.test$n &
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.4.test$n &
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.5.test$n &
- $DIG -p 5300 @10.53.0.3 -f query.list > dig.out$i.6.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.1.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.2.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.3.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.4.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.5.test$n &
+ $DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.6.test$n &
wait
grep "status: SERVFAIL" dig.out$i.1.test$n && ret=1
grep "status: SERVFAIL" dig.out$i.2.test$n && ret=1
grep "status: SERVFAIL" dig.out$i.6.test$n && ret=1
[ $ret = 1 ] && break
i=`expr $i + 1`
- echo "I: successfully completed pass $i of $passes"
+ echo_i "successfully completed pass $i of $passes"
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check repeated recursive lookups of non recurring TTL=0 responses get new values ($n)"
+echo_i "check repeated recursive lookups of non recurring TTL=0 responses get new values ($n)"
count=`(
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
-$DIG +short -p 5300 @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
+$DIG $DIGOPTS +short @10.53.0.3 foo.increment
) | sort -u | wc -l `
-if [ $count -ne 7 ] ; then echo "I:failed (count=$count)"; ret=1; fi
+if [ $count -ne 7 ] ; then echo_i "failed (count=$count)"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
-echo "I:check lookups against TTL=1 records ($n)"
+echo_i "check lookups against TTL=1 records ($n)"
i=0
passes=10
while [ $i -lt $passes ]
do
ret=0
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.1.test$n
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.2.test$n
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.3.test$n
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.4.test$n
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.5.test$n
- $DIG -p 5300 @10.53.0.3 www.one.tld > dig.out$i.6.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.1.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.2.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.3.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.4.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.5.test$n
+ $DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.6.test$n
grep "status: SERVFAIL" dig.out$i.1.test$n && ret=1
grep "status: SERVFAIL" dig.out$i.2.test$n && ret=1
grep "status: SERVFAIL" dig.out$i.3.test$n && ret=1
grep "status: SERVFAIL" dig.out$i.6.test$n && ret=1
[ $ret = 1 ] && break
i=`expr $i + 1`
- echo "I: successfully completed pass $i of $passes"
+ echo_i "successfully completed pass $i of $passes"
$PERL -e 'select(undef, undef, undef, 0.3);'
done
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
rm -f *.out
rm -f */named.memstats
+rm -f */named.conf
rm -f */named.run
rm -f */*.db */*.db.signed */K*.key */K*.private */*.jnl */dsset-*
rm -f rndc.out.*
// NS1
-controls { /* empty */ };
-
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
- port 5300;
+ port @PORT@;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
};
controls {
- inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
+ inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};
view unused {
test -r $RANDFILE || $GENRANDOM 400 $RANDFILE
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
+
$SHELL ../genzone.sh 1 > ns1/master.db
$SHELL ../genzone.sh 1 > ns1/duplicate.db
cd ns1
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
+DIGOPTS="-p ${PORT}"
+RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
+
status=0
#
-echo "I: checking that we detect a NS which refers to a CNAME"
+echo_i "checking that we detect a NS which refers to a CNAME"
if $CHECKZONE . cname.db > cname.out 2>&1
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "is a CNAME" cname.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which is below a DNAME"
+echo_i "checking that we detect a NS which is below a DNAME"
if $CHECKZONE . dname.db > dname.out 2>&1
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "is below a DNAME" dname.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which has no address records (A/AAAA)"
+echo_i "checking that we detect a NS which has no address records (A/AAAA)"
if $CHECKZONE . noaddress.db > noaddress.out
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "has no address records" noaddress.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which has no records"
+echo_i "checking that we detect a NS which has no records"
if $CHECKZONE . nxdomain.db > nxdomain.out
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "has no address records" noaddress.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which looks like a A record (fail)"
+echo_i "checking that we detect a NS which looks like a A record (fail)"
if $CHECKZONE -n fail . a.db > a.out 2>&1
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "appears to be an address" a.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which looks like a A record (warn=default)"
+echo_i "checking that we detect a NS which looks like a A record (warn=default)"
if $CHECKZONE . a.db > a.out 2>&1
then
if grep "appears to be an address" a.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
else
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
fi
#
-echo "I: checking that we detect a NS which looks like a A record (ignore)"
+echo_i "checking that we detect a NS which looks like a A record (ignore)"
if $CHECKZONE -n ignore . a.db > a.out 2>&1
then
if grep "appears to be an address" a.out > /dev/null
then
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
else
:
fi
else
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
fi
#
-echo "I: checking that we detect a NS which looks like a AAAA record (fail)"
+echo_i "checking that we detect a NS which looks like a AAAA record (fail)"
if $CHECKZONE -n fail . aaaa.db > aaaa.out 2>&1
then
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
else
if grep "appears to be an address" aaaa.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
fi
#
-echo "I: checking that we detect a NS which looks like a AAAA record (warn=default)"
+echo_i "checking that we detect a NS which looks like a AAAA record (warn=default)"
if $CHECKZONE . aaaa.db > aaaa.out 2>&1
then
if grep "appears to be an address" aaaa.out > /dev/null
then
:
else
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
fi
else
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
fi
#
-echo "I: checking that we detect a NS which looks like a AAAA record (ignore)"
+echo_i "checking that we detect a NS which looks like a AAAA record (ignore)"
if $CHECKZONE -n ignore . aaaa.db > aaaa.out 2>&1
then
if grep "appears to be an address" aaaa.out > /dev/null
then
- echo "I:failed (message)"; status=1
+ echo_i "failed (message)"; status=1
else
:
fi
else
- echo "I:failed (status)"; status=1
+ echo_i "failed (status)"; status=1
fi
-echo "I: checking 'rdnc zonestatus' with duplicated zone name"
+echo_i "checking 'rdnc zonestatus' with duplicated zone name"
ret=0
-$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload duplicate.example > rndc.out.duplicate 2>&1
+$RNDCCMD 10.53.0.1 reload duplicate.example > rndc.out.duplicate 2>&1
grep "zone 'duplicate.example' was found in multiple views" rndc.out.duplicate > /dev/null || ret=1
-if [ $ret != 0 ]; then echo "I:failed"; fi
+if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-echo "I:exit status: $status"
+echo_i "exit status: $status"
[ $status -eq 0 ] || exit 1
DLZ_DRIVER_LIBS
DLZ_DRIVER_INCLUDES
CONTRIB_DLZ
+MYSQL_CONFIG
PG_CONFIG
SO_TARGETS
SO_LD
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
mysql_lib=""
if test "$use_dlz_mysql" = "yes"
then
- # User did not specify a path - guess it
- mysqldirs="/usr /usr/local /usr/local/mysql /usr/pkg"
- for d in $mysqldirs
- do
- if test -f $d/include/mysql/mysql.h
- then
- use_dlz_mysql=$d
- mysql_include=$d/include/mysql
- if test -d $d/lib/mysql
+ for ac_prog in mysql_config
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MYSQL_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MYSQL_CONFIG"; then
+ ac_cv_prog_MYSQL_CONFIG="$MYSQL_CONFIG" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MYSQL_CONFIG="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MYSQL_CONFIG=$ac_cv_prog_MYSQL_CONFIG
+if test -n "$MYSQL_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYSQL_CONFIG" >&5
+$as_echo "$MYSQL_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$MYSQL_CONFIG" && break
+done
+
+ if test -n "$MYSQL_CONFIG"
+ then
+ mysql_include=`${MYSQL_CONFIG} --include`
+ mysql_lib=`${MYSQL_CONFIG} --libs`
+ use_dlz_mysql="config"
+
+ else
+ # User did not specify a path - guess it
+ mysqldirs="/usr /usr/local /usr/local/mysql /usr/pkg"
+ for d in $mysqldirs
+ do
+ if test -f $d/include/mysql/mysql.h
then
- mysql_lib=$d/lib/mysql
- else
- mysql_lib=$d/lib
- fi
- break
- elif test -f $d/include/mysql.h
- then
- use_dlz_mysql=$d
- mysql_include=$d/include
- if test -d $d/lib/mysql
+ use_dlz_mysql=$d
+ mysql_include=$d/include/mysql
+ break
+ elif test -f $d/include/mysql.h
then
- mysql_lib=$d/lib/mysql
- else
- mysql_lib=$d/lib
+ use_dlz_mysql=$d
+ mysql_include=$d/include
+ break
fi
break
- fi
- done
+ done
+ fi
elif test "$use_dlz_mysql" != "no"
then
d=$use_dlz_mysql
if test -f $d/include/mysql/mysql.h
then
mysql_include=$d/include/mysql
- if test -d $d/lib/mysql
- then
- mysql_lib=$d/lib/mysql
- else
- mysql_lib=$d/lib
- fi
elif test -f $d/include/mysql.h
then
mysql_include=$d/include
- if test -d $d/lib/mysql
- then
- mysql_lib=$d/lib/mysql
- else
- mysql_lib=$d/lib
- fi
fi
fi
$as_echo "no" >&6; }
;;
*)
+ if test -d "$use_dlz_mysql/lib/mysql"
+ then
+ mysql_lib="$use_dlz_mysql/lib/mysql"
+ else
+ mysql_lib="$use_dlz_mysql/lib"
+ fi
CONTRIB_DLZ="$CONTRIB_DLZ -DDLZ_MYSQL"
for i in dlz_mysql_driver
# elsewhere if there's a good reason for doing so.
#
-ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/isc/Makefile bin/python/isc/utils.py bin/python/isc/tests/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/python/isc/__init__.py bin/python/isc/checkds.py bin/python/isc/coverage.py bin/python/isc/dnskey.py bin/python/isc/eventlist.py bin/python/isc/keydict.py bin/python/isc/keyevent.py bin/python/isc/keyzone.py bin/python/isc/tests/dnskey_test.py bin/rndc/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/inline/checkdsa.sh bin/tests/system/lwresd/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/arm/noteversion.xml doc/arm/pkgversion.xml doc/arm/releaseinfo.xml doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/tex/Makefile doc/tex/armstyle.sty doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-manpage.xsl doc/xsl/isc-notes-html.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/irs/tests/Makefile lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/tests/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
+ac_config_files="$ac_config_files make/Makefile make/mkdep Makefile bin/Makefile bin/check/Makefile bin/confgen/Makefile bin/confgen/unix/Makefile bin/dig/Makefile bin/dnssec/Makefile bin/named/Makefile bin/named/unix/Makefile bin/nsupdate/Makefile bin/pkcs11/Makefile bin/python/Makefile bin/python/isc/Makefile bin/python/isc/utils.py bin/python/isc/tests/Makefile bin/python/dnssec-checkds.py bin/python/dnssec-coverage.py bin/python/isc/__init__.py bin/python/isc/checkds.py bin/python/isc/coverage.py bin/python/isc/dnskey.py bin/python/isc/eventlist.py bin/python/isc/keydict.py bin/python/isc/keyevent.py bin/python/isc/keyzone.py bin/python/isc/tests/dnskey_test.py bin/rndc/Makefile bin/tests/Makefile bin/tests/atomic/Makefile bin/tests/db/Makefile bin/tests/dst/Makefile bin/tests/dst/Kdh.+002+18602.key bin/tests/dst/Kdh.+002+18602.private bin/tests/dst/Kdh.+002+48957.key bin/tests/dst/Kdh.+002+48957.private bin/tests/dst/Ktest.+001+00002.key bin/tests/dst/Ktest.+001+54622.key bin/tests/dst/Ktest.+001+54622.private bin/tests/dst/Ktest.+003+23616.key bin/tests/dst/Ktest.+003+23616.private bin/tests/dst/Ktest.+003+49667.key bin/tests/dst/dst_2_data bin/tests/dst/t2_data_1 bin/tests/dst/t2_data_2 bin/tests/dst/t2_dsasig bin/tests/dst/t2_rsasig bin/tests/hashes/Makefile bin/tests/headerdep_test.sh bin/tests/master/Makefile bin/tests/mem/Makefile bin/tests/names/Makefile bin/tests/net/Makefile bin/tests/rbt/Makefile bin/tests/resolver/Makefile bin/tests/sockaddr/Makefile bin/tests/system/Makefile bin/tests/system/conf.sh bin/tests/system/dlz/prereq.sh bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/ns1/dlzs.conf bin/tests/system/inline/checkdsa.sh bin/tests/system/lwresd/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/tasks/Makefile bin/tests/timers/Makefile bin/tests/virtual-time/Makefile bin/tests/virtual-time/conf.sh bin/tools/Makefile contrib/check-secure-delegation.pl contrib/zone-edit.sh doc/Makefile doc/arm/Makefile doc/arm/noteversion.xml doc/arm/pkgversion.xml doc/arm/releaseinfo.xml doc/doxygen/Doxyfile doc/doxygen/Makefile doc/doxygen/doxygen-input-filter doc/misc/Makefile doc/tex/Makefile doc/tex/armstyle.sty doc/xsl/Makefile doc/xsl/isc-docbook-chunk.xsl doc/xsl/isc-docbook-html.xsl doc/xsl/isc-manpage.xsl doc/xsl/isc-notes-html.xsl isc-config.sh lib/Makefile lib/bind9/Makefile lib/bind9/include/Makefile lib/bind9/include/bind9/Makefile lib/dns/Makefile lib/dns/include/Makefile lib/dns/include/dns/Makefile lib/dns/include/dst/Makefile lib/dns/tests/Makefile lib/export/Makefile lib/export/dns/Makefile lib/export/dns/include/Makefile lib/export/dns/include/dns/Makefile lib/export/dns/include/dst/Makefile lib/export/irs/Makefile lib/export/irs/include/Makefile lib/export/irs/include/irs/Makefile lib/export/isc/$thread_dir/Makefile lib/export/isc/$thread_dir/include/Makefile lib/export/isc/$thread_dir/include/isc/Makefile lib/export/isc/Makefile lib/export/isc/include/Makefile lib/export/isc/include/isc/Makefile lib/export/isc/nls/Makefile lib/export/isc/unix/Makefile lib/export/isc/unix/include/Makefile lib/export/isc/unix/include/isc/Makefile lib/export/isccfg/Makefile lib/export/isccfg/include/Makefile lib/export/isccfg/include/isccfg/Makefile lib/export/samples/Makefile lib/export/samples/Makefile-postinstall lib/irs/Makefile lib/irs/include/Makefile lib/irs/include/irs/Makefile lib/irs/include/irs/netdb.h lib/irs/include/irs/platform.h lib/irs/tests/Makefile lib/isc/$arch/Makefile lib/isc/$arch/include/Makefile lib/isc/$arch/include/isc/Makefile lib/isc/$thread_dir/Makefile lib/isc/$thread_dir/include/Makefile lib/isc/$thread_dir/include/isc/Makefile lib/isc/Makefile lib/isc/include/Makefile lib/isc/include/isc/Makefile lib/isc/include/isc/platform.h lib/isc/tests/Makefile lib/isc/nls/Makefile lib/isc/unix/Makefile lib/isc/unix/include/Makefile lib/isc/unix/include/isc/Makefile lib/isccc/Makefile lib/isccc/include/Makefile lib/isccc/include/isccc/Makefile lib/isccfg/Makefile lib/isccfg/include/Makefile lib/isccfg/include/isccfg/Makefile lib/lwres/Makefile lib/lwres/include/Makefile lib/lwres/include/lwres/Makefile lib/lwres/include/lwres/netdb.h lib/lwres/include/lwres/platform.h lib/lwres/man/Makefile lib/lwres/tests/Makefile lib/lwres/unix/Makefile lib/lwres/unix/include/Makefile lib/lwres/unix/include/lwres/Makefile lib/tests/Makefile lib/tests/include/Makefile lib/tests/include/tests/Makefile unit/Makefile unit/unittest.sh"
#
"bin/tests/system/conf.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/conf.sh" ;;
"bin/tests/system/dlz/prereq.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlz/prereq.sh" ;;
"bin/tests/system/dlzexternal/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlzexternal/Makefile" ;;
- "bin/tests/system/dlzexternal/ns1/named.conf") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlzexternal/ns1/named.conf" ;;
+ "bin/tests/system/dlzexternal/ns1/dlzs.conf") CONFIG_FILES="$CONFIG_FILES bin/tests/system/dlzexternal/ns1/dlzs.conf" ;;
"bin/tests/system/inline/checkdsa.sh") CONFIG_FILES="$CONFIG_FILES bin/tests/system/inline/checkdsa.sh" ;;
"bin/tests/system/lwresd/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/lwresd/Makefile" ;;
"bin/tests/system/rsabigexponent/Makefile") CONFIG_FILES="$CONFIG_FILES bin/tests/system/rsabigexponent/Makefile" ;;
bin/tests/system/conf.sh
bin/tests/system/dlz/prereq.sh
bin/tests/system/dlzexternal/Makefile
- bin/tests/system/dlzexternal/ns1/named.conf
+ bin/tests/system/dlzexternal/ns1/dlzs.conf
bin/tests/system/inline/checkdsa.sh
bin/tests/system/lwresd/Makefile
bin/tests/system/rsabigexponent/Makefile
break
fi
break
- fi
- done
+ done
+ fi
elif test "$use_dlz_mysql" != "no"
then
d=$use_dlz_mysql