Commit Graph

1862 Commits

Author SHA1 Message Date
Evan Hunt
010db17e15 add a regression test for default allow-recursion settings 2018-06-14 14:48:46 +02:00
Michał Kępień
b3bee6cd37 Treat records below a DNAME as out-of-zone data
DNAME records indicate bottom of zone and thus no records below a DNAME
should be DNSSEC-signed or included in NSEC(3) chains.  Add a helper
function, has_dname(), for detecting DNAME records at a given node.
Prevent signing DNAME-obscured records.  Check that DNAME-obscured
records are not signed.

(cherry picked from commit 9a4145168c)
2018-06-13 13:11:13 +02:00
Evan Hunt
c31d32434d ensure we try to validate glue records so RRSIG TTLs will be capped 2018-06-08 11:43:20 -07:00
Mukund Sivaraman
ad7141d2ec Add system test
(cherry picked from commit 303391ea41)
2018-06-08 11:05:20 -07:00
Mark Andrews
0c1fd3b8e1 add duplicate signature test
(cherry picked from commit 0db5b087ed)
(cherry picked from commit 1783fa5aba)
(cherry picked from commit 1710e5cfca)
(cherry picked from commit abbfbeffa6)
2018-06-06 17:55:50 +10:00
Evan Hunt
1e56d78c6e use "ip" on linux, falling back to "ifconfig" when it isn't available
(cherry picked from commit d7c5400798)
(cherry picked from commit 3e1a0c2b62)
2018-06-05 21:51:05 -07:00
Evan Hunt
b5dc325065 expand address range in ifconfig.sh to include more than one subnet
(cherry picked from commit 41b29a436b)
(cherry picked from commit e4487b160c)
2018-06-05 21:51:03 -07:00
Evan Hunt
a37706ebb7 add prerequisite check
(cherry picked from commit e229ae6999)
(cherry picked from commit a5ac84370c)
2018-06-04 21:38:07 -07:00
Mark Andrews
9aba5ca84b add system test for root-key-sentinel
(cherry picked from commit a23b305e6b)
(cherry picked from commit b9e6b124aa)
(cherry picked from commit 9448c4fd21)
(cherry picked from commit 8f139956ba)
2018-06-04 21:38:04 -07:00
Mukund Sivaraman
2420b8f5fc Don't insert 2nd space between NSEC3 nexthash and typemap fields
(cherry picked from commit d4ea1edd2c)
2018-06-04 13:34:46 +10:00
Evan Hunt
ac7b05c231 fix openbsd color-display problem in system test output
(cherry picked from commit 1e31fdb76d)
2018-05-25 13:02:01 -07:00
Mark Andrews
26e0694aee add HOME.ARPA to the list of empty zones
(cherry picked from commit 10dd0b3efe)
2018-05-23 11:30:55 +10:00
Michał Kępień
8b0f7f1b8d Apply raw zone deltas to yet unsigned secure zones
When inline signing is enabled for a zone without creating signing keys
for it, changes subsequently applied to the raw zone will not be
reflected in the secure zone due to the dns_update_signaturesinc() call
inside receive_secure_serial() failing.  Given that an inline zone will
be served (without any signatures) even with no associated signing keys
being present, keep applying raw zone deltas to the secure zone until
keys become available in an attempt to follow the principle of least
astonishment.

(cherry picked from commit 6acf326969)
(cherry picked from commit 8a58a60772)
(cherry picked from commit fcbdeed802)
2018-04-25 12:24:36 -07:00
Evan Hunt
5a21193fdd update file headers 2018-03-15 11:30:37 -07:00
Ondřej Surý
9f830be501 update file headers to remove copyright years 2018-03-15 09:09:15 +01:00
Evan Hunt
e6c446bfba final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
(cherry picked from commit 442c1530a3)
(cherry picked from commit 6fe8188cc3)
2018-03-09 23:35:02 -08:00
Evan Hunt
40d0aab21a reduce race risk in parallel builds
(cherry picked from commit 74347f4a55)
(cherry picked from commit 7f4e62d902)
(cherry picked from commit ade4face27)
(cherry picked from commit 544bb12a01)
2018-03-09 23:24:17 -08:00
Evan Hunt
bf769f68a4 migrate tests from bin/tests/dnssec-signzone to bin/tests/system/dnssec
- added tests to the dnssec system test that duplicate the ones
  from bin/tests/dnssec-signzone
- changed cleanall.sh so it doesn't automatically remove all
  key files, because there are now some of those that are part of the
  distribution

(cherry picked from commit ccfe778c01)
(cherry picked from commit d8f8eee381)
(cherry picked from commit dbb225d83e)
(cherry picked from commit 161f525942)
2018-03-09 22:59:52 -08:00
Evan Hunt
e44ce6a1ab restore long options for run.sh
(cherry picked from commit 4a714bffbc)
2018-03-07 14:35:45 -08:00
Evan Hunt
ac91515aa8 eliminate unnecessary waiting in allow-query test
- grep in the log to see if configuration is finished rather
  than sleeping for 5 seconds

(cherry picked from commit a9b6bed6af)
(cherry picked from commit 37a6bb004c)
(cherry picked from commit 2e48caa476)
2018-03-07 14:19:55 -08:00
Evan Hunt
0ed2df43b0 rename allow_query to allow-query
(cherry picked from commit ffc3e73c36)
(cherry picked from commit 5d9e3f9b02)
(cherry picked from commit de6fe7dd83)
2018-03-07 14:19:52 -08:00
Evan Hunt
fc1b254b5e address a possible notify test failure
- wait for the transfer completion message to apear in the log instead
  of the notify message. this ensures we don't check for the presense of
  transfered records during the time between the notify and the
  transfer.

(cherry picked from commit ad32553c1d)
(cherry picked from commit dff94add3e)
(cherry picked from commit 5a5e476d00)
2018-03-06 11:48:16 -08:00
Evan Hunt
8c0d2127f9 revise soft limit test
- don't bail out of the loop if clients are exceeded, just count incidents
- verbosely describe expectations and results

(cherry picked from commit 86838b2a02)
2018-03-01 15:41:01 +01:00
Mark Andrews
a845283012 remove unsupported command line argument (-4) from nsupdate call
(cherry picked from commit ac3d2a0ed9)
2018-03-01 13:56:16 +01:00
Mark Andrews
83990e9bdc wait for 'all zones loaded' rather than 'reloading zones succeeded' which just indicates that everything kicked off ok
(cherry picked from commit 4cb0873a0a)
2018-02-28 14:57:19 +01:00
Evan Hunt
be98afaecf Do not destroy systests.output if there are no test.output files
(cherry picked from commit 38940619c6)
2018-02-27 10:04:37 -08:00
Michał Kępień
d241bf9d4c Use echoinfo for printing test summary
This ensures testsummary.sh is consistent with other scripts belonging
to the test framework.

(cherry picked from commit 642e20db8a)
2018-02-27 10:04:37 -08:00
Michał Kępień
b18292a208 Make testsummary.sh print a list of failed system tests
Print a list of failed system tests, if any, below the system test
summary to avoid the need to manually search through the test log.

(cherry picked from commit 28068857e7)
2018-02-27 10:04:36 -08:00
Michał Kępień
1709486103 Tweak the regular expression used for extracting system test results
The current regular expression used for extracting system test results
from systests.output, "^R:", is anchored at the start of a line, which
prevents colored system test output from being properly processed.  As
just "R:" would arguably be too general, extend the pattern a bit to
ensure it will only match lines containing system test results.

(cherry picked from commit 9006d6dbbd)
2018-02-27 10:04:36 -08:00
Evan Hunt
92c9e7c045 clean up test output
- removed a few remaing places where output wasn't being passed
  through echo_i or cat_i
- added a "digcomp" function to conf.sh.in to send digcomp.pl output
  through cat_i and return the correct exit value
- set SYSTESTDIR when calling echo_i from nsX directories, so that
  the test name will always be printed correctly
- fixed a test name typo in conf.sh.in

(cherry picked from commit 0e52fbd0b3)
(cherry picked from commit d57e8f6df3)
(cherry picked from commit 053c06d5e1)
2018-02-27 10:03:21 -08:00
Evan Hunt
4cb037a6e2 Merge branch '112-fix-mx-checks-for-dynamic-updates-v9_9' into 'v9_9'
Fix MX checks for dynamic updates

Closes #112

See merge request isc-projects/bind9!79
2018-02-26 15:20:49 -08:00
Michał Kępień
d86a7dbe69 Fix MX checks for dynamic updates
The check_mx() function in lib/ns/update.c incorrectly tests whether the
DNS_RDATA_CHECKMX/DNS_RDATA_CHECKMXFAIL flags are set for each applied
MX record update as these flags are never set in code paths related to
dynamic updates; they can only be set when loading a zone from a master
file (DNS_ZONEOPT_CHECKMX -> DNS_MASTER_CHECKMX -> DNS_RDATA_CHECKMX).
This flaw allows MX records containing IP addresses to be added to a
zone even when "check-mx fail;" is used.

Ensure correct behavior by modifying the relevant tests in check_mx() so
that they use DNS_ZONEOPT_CHECKMX/DNS_ZONEOPT_CHECKMXFAIL instead.

(cherry picked from commit 857a40c87b)
2018-02-26 15:20:06 -08:00
Evan Hunt
cdf3f823bb Merge branch 'check-for-test-interfaces-before-running-system-tests-v9_9' into 'v9_9'
Check for test interfaces before running system tests

See merge request isc-projects/bind9!19
2018-02-26 15:10:40 -08:00
Evan Hunt
699fffc34f test interfaces directly in runall.sh and parallel.mk
(cherry picked from commit a8b583e78b)
2018-02-26 15:10:40 -08:00
Michał Kępień
98b3b5bba7 Check for test interfaces before running system tests
Prevent runall.sh and "make test" from even attempting to run system
tests when "ifconfig.sh up" has not been run beforehand.  This ensures
the user is not flooded with error messages in such a case.

(cherry picked from commit e0221f2d25)
2018-02-26 15:10:40 -08:00
Evan Hunt
8c6e4b205c wait for synchronization; re-notify slave if the transfer doesn't happen
(cherry picked from commit 67a8b5ec17)
2018-02-26 15:03:03 -08:00
Evan Hunt
7124e34835 Fix merge error 2018-02-25 23:07:38 -08:00
Evan Hunt
8f4610f773 Merge branch 'tidy-runall.sh-environment-variables-v9_11-v9_10-v9_9' into 'v9_9'
Tidy runall.sh environment variables

See merge request isc-projects/bind9!18
2018-02-25 13:34:35 -08:00
Michał Kępień
1f42e865d2 Preserve values of environment variables which are already set
This enables the environment variables controlling run.sh behavior to be
permanently set in a working environment (e.g. to automatically force
colored output without using "-c" in each runall.sh invocation).

Relevant runall.sh command line arguments still have a higher priority.

(cherry picked from commit d989d20fe5)
(cherry picked from commit 2cd174dda9)
(cherry picked from commit fdcac29f63)
2018-02-25 13:34:35 -08:00
Michał Kępień
a7ae215925 Allow forcing colored system test output
As parallel.mk and runsequential.sh both pipe system test output through
"tee" (for the purpose of creating test.output), run.sh invoked from
these two files detects it is not writing to a terminal, which prevents
colored output from being generated.  Allow forcing colored output using
a new command line argument for runall.sh, "-c", which sets an
environment variable (SYSTEMTEST_FORCE_COLOR) causing conf.sh to
unconditionally enable colored output.

The same environment variable can also be used directly to force colored
output when using "make test" instead of runall.sh.

(cherry picked from commit a324031a82)
(cherry picked from commit cbebf7ef59)
(cherry picked from commit 2f3b3b7aff)
2018-02-25 13:34:35 -08:00
Michał Kępień
fcefc77d35 Allow retaining system test output using an environment variable
Instead of exporting an environment variable containing a command line
argument (NOCLEAN="-n"), extend run.sh to handle a "boolean" environment
variable (SYSTEMTEST_NO_CLEAN) itself.  The former method is buggy
because the value of NOCLEAN is set in parallel.mk when that file is
first created, but it is not subsequently updated upon each test run
(because make considers parallel.mk to be up to date).

To retain backward compatibility, the "-n" command line argument for
run.sh is still supported (and has a higher priority than the relevant
environment variable).

The SYSTEMTEST_NO_CLEAN environment variable can also be used directly
to prevent cleanup when using "make test" instead of runall.sh.

Apart from fixing a bug, this simplifies the way runall.sh controls
run.sh behavior due to the Makefile being bypassed.  Direct processing
of environment variables in run.sh is more scalable in the long run,
given that the previously utilized technique, even with its
implementation fixed, would still require Makefile.in to be modified in
two places each time a new flag needed to be passed from runall.sh to
run.sh.

(cherry picked from commit 3862043879)
(cherry picked from commit e9c4dbe361)
(cherry picked from commit 0e3840e4b4)
2018-02-25 13:34:35 -08:00
Evan Hunt
8315e76561 improve reliability of xfer test
(cherry picked from commit 5d7d6881a1)
(cherry picked from commit 09a1a261dc)
(cherry picked from commit 948bd83ce5)
(cherry picked from commit 4160936c92)
2018-02-25 13:34:23 -08:00
Evan Hunt
99db49b439 Merge branch 'parallel-v9_9' into v9_9
chg: dev: Convert most of the remaining system tests to be able to run in parallel [GL #91]

Closes #91

See merge request isc-projects/bind9!59
2018-02-25 13:29:36 -08:00
Evan Hunt
7677cb277a final cleanup
- add CHANGES note
- update copyrights and license headers
2018-02-25 13:13:26 -08:00
Evan Hunt
ae6c141f7b tidying up after backport
(cherry picked from commit 854f7846d8)
(cherry picked from commit 6653dcab3d)
2018-02-25 13:10:00 -08:00
Evan Hunt
b65aa505e6 improve reliability of the xfer test on slow systems
- lengthened the wait loop for the transfers to complete

(cherry picked from commit b9246ce773)
(cherry picked from commit a5015d7791)
(cherry picked from commit c369fc06ca)
(cherry picked from commit 6a5092f537)
2018-02-25 11:19:26 -08:00
Evan Hunt
37d6f7b624 remove v6synth
- this was a test for the allow-v6-synthesis option, which was
  deprecated and no longer works. the test was removed
  from conf.sh.in long ago.

(cherry picked from commit 474b10a133)
(cherry picked from commit 7971873639)
(cherry picked from commit 626566c72d)
(cherry picked from commit 62f239f5cf)
2018-02-25 11:19:07 -08:00
Evan Hunt
87c7455b4c removed some unnecessary greps
(cherry picked from commit 731ad28be2)
(cherry picked from commit 17245b86d5)
(cherry picked from commit 350f18b0d1)
(cherry picked from commit 539be337d9)
2018-02-25 11:19:05 -08:00
Evan Hunt
a236a1e2b4 reorder tests to get better use of parallelism
(cherry picked from commit 56e440f65f)
(cherry picked from commit 4429f8b291)
(cherry picked from commit fa8740feda)
(cherry picked from commit 438dcd9f9c)
2018-02-25 11:18:48 -08:00
Evan Hunt
f8fe59f279 parallelize most system tests
(cherry picked from commit c032c54dda)
(cherry picked from commit 2b81f322cb)
(cherry picked from commit 167fa161d1)
(cherry picked from commit 1f297d33a0)
2018-02-25 11:17:55 -08:00