Commit Graph

9700 Commits

Author SHA1 Message Date
Mark Andrews
0c2f0e02f2 Wait longer (up to 20 secs) for journal to be truncated 2020-05-18 23:34:13 +10:00
Mark Andrews
46c4e5d96f Retry checks that records are present and signed
There a race between when the delta is logged and when the
server returns signed record.  Retry the queries if the
lookups fail to meet expectations.
2020-05-18 12:19:16 +10:00
Evan Hunt
93d63cd923 incidental fix: reduce a long timeout in dnstap test
the dnstap test was pausing for 20 seconds to search for a string in
named.run, which only appears if named is built with --enable-developer or
--enable-querytrace.
2020-05-15 13:19:33 -07:00
Evan Hunt
e45be9d134 move wire_test back to bin/tests, no longer dependent on dnstap
wire_test is not only used by the dnstap system test, but also in
fuzz testing. it doesn't need to be installed, but it's useful to have it
built when BIND is.  this commit moves it back from bin/tests/system to
bin/tests, as a noinst_PROGRAM so that it's built by "make all" but
not installed.
2020-05-15 13:19:28 -07:00
Mark Andrews
c7cdc47cc5 move provide-ixfr testing after the serial has been checked 2020-05-14 16:37:34 +10:00
Mark Andrews
04da28bdff test max records policy 2020-05-13 15:35:29 +10:00
Mark Andrews
361ec726cb allow per type record counts to be specified 2020-05-13 15:35:28 +10:00
Mark Andrews
e6b0153f8a Check display of EDE option 2020-05-12 22:01:54 +10:00
Mark Andrews
b144ae1bb0 Report Extended DNS Error codes 2020-05-12 22:01:54 +10:00
Ondřej Surý
2dbf68ab30 Fix the rsabigexponent setup.sh script to not fail 2020-05-12 12:35:53 +02:00
Ondřej Surý
e96f5bb3f4 Remove the custom-test-driver status_file 2020-05-12 12:34:29 +02:00
Ondřej Surý
e43893fb0c Add missing manykeys.db.in file that was causing statschannel setup.sh to fail 2020-05-12 10:37:48 +02:00
Ondřej Surý
8b357a35d2 Fail immediatelly when clean.sh or setup.sh fails
The `statschannel/ns2/` was missing `manykeys.db.in`, but the test
succeeded even when `setup.sh` (or `clean.sh`) failed to execute.  This
commit makes run.sh to run in stricter mode and fail the test
immediately when `clean.sh` or `setup.sh` fails.
2020-05-12 10:37:48 +02:00
Mark Andrews
189d21fb96 Silence: E741 ambiguous variable name 'l' 2020-05-12 17:54:32 +10:00
Ondřej Surý
0fe5753315 Use the result of clean.sh and setup.sh command directly 2020-05-12 08:48:01 +02:00
Ondřej Surý
1202fd912a Rewrite the statschannel traffic tests to pytest 2020-05-12 08:48:01 +02:00
Ondřej Surý
6aa6d7be58 Add tests for zone timers using the pytest testing framework 2020-05-12 08:48:01 +02:00
Paul Frieden
72ffa194e2 Add the zone timers to the XSL 2020-05-12 08:48:01 +02:00
Paul Frieden
543bab699d Export zone timers via stats channels 2020-05-12 08:48:01 +02:00
Ondřej Surý
b019d12e9a Remove copyright from generated named.conf.rst 2020-05-12 08:42:32 +02:00
Mark Andrews
3f93f3ee11 add [-s (full|relative)] to usage 2020-05-08 15:36:00 +10:00
Diego Fronza
6dffdc5372 Added test for rpz-passthru logging channel
This test ensures that all rpz-passthru activity will be redirected
to a dedicated log file following ns1/named.conf configuration.
2020-05-07 11:44:52 -03:00
Ondřej Surý
dbe8e31e26 Move custom-test-driver to bin/tests/system where it belongs 2020-05-07 16:32:32 +02:00
Ondřej Surý
9fb6d11abb Convert the documentation to Sphinx documentation format
The ARM and the manpages have been converted into Sphinx documentation
format.

Sphinx uses reStructuredText as its markup language, and many of its
strengths come from the power and straightforwardness of
reStructuredText and its parsing and translating suite, the Docutils.
2020-05-07 16:02:56 +02:00
Evan Hunt
f8d753d452 initialize sockaddrdscp to prevent spurious output from 'named-checkconf -p' 2020-05-05 12:48:31 -07:00
Ondřej Surý
b071b23567 Fix get_ports.sh script
There were two errors:

1. get_random() function was returning random number with leading zeros
   that could lead the shell to interpret the number as octal value
   instead of decimal.  The surrounding whitespace was also causing
   problems.

2. The calculation of the port was off, it was adding the whole range
   and not just the min port to the base.
2020-05-05 12:27:47 +02:00
Evan Hunt
b89decfcc9 replace fputs() with fprintf() 2020-05-04 09:14:58 +02:00
Evan Hunt
7e73660206 named-checkconf -z could exit with an incorrect staatus
the CHECK() macro resets result, so an error code from an earlier
view could be erased if the last view loaded had no errors.
2020-05-01 16:47:54 -07:00
Michał Kępień
77dc091855 Make dnstap work reliably with netmgr
The introduction of netmgr doubled the number of threads from which
dnstap data may be logged: previously, it could only happen from within
taskmgr worker threads; with netmgr, it can happen both from taskmgr
worker threads and from network threads.  Since the argument passed to
fstrm_iothr_options_set_num_input_queues() was not updated to reflect
this change, some calls to fstrm_iothr_get_input_queue() can now return
NULL, effectively preventing some dnstap data from being logged.
Whether this bug is triggered or not depends on thread scheduling order
and packet distribution between network threads, but will almost
certainly be triggered on any recursive resolver sooner or later.  Fix
by requesting the correct number of dnstap input queues to be allocated.
2020-05-01 14:15:41 +02:00
Ondřej Surý
3127e7680e Revert the --restart -> --restart_server rename 2020-05-01 14:01:47 +02:00
Ondřej Surý
370a335d51 Rename start() and stop() to start_server() and stop_server()
On OpenBSD, there's non-POSIX alias from stop to kill that breaks
the conf.sh.common script.
2020-05-01 13:41:00 +02:00
Ondřej Surý
5b7fccd28d Change the 'date -R' to sort-of iso-8601 emulated time 2020-05-01 13:41:00 +02:00
Ondřej Surý
24e5c7f44b Fix another the start_fail -> start_servers_failed typo 2020-05-01 08:04:20 +02:00
Mark Andrews
5ab9b5b1e6 Add more special zones to addzone restart test.
Test zones with various escape sequences and filesystem seperator
characters.
* escaped double quote (\")
* escaped escape (\\)
* escaped decimal byte value (\032)
* slash seperator (/)
2020-05-01 06:51:05 +10:00
Ondřej Surý
0313d2950a Fixup the start_fail -> start_servers_failed typo 2020-04-30 18:41:08 +02:00
Ondřej Surý
57c39ddbe3 Fix the check for non-operational algs 15 and 16 in PKCS#11 2020-04-30 18:40:46 +02:00
Ondřej Surý
101672f664 Fail running run.sh when clean.sh or setup.sh fails 2020-04-30 18:40:46 +02:00
Ondřej Surý
a6bdb9639a Refactor the pkcs11 to test for individual algorithms 2020-04-30 18:40:46 +02:00
Aaron Thompson
4969577189 Add EdDSA algorithms back to dnssec-keyfromlabel help text.
Regressed in 45afdb2672.
2020-04-30 18:40:45 +02:00
Ondřej Surý
c86ebeebd2 As libltdl is convenience library, link it just into libisc 2020-04-30 15:33:44 +02:00
Matthijs Mekking
b3158207ec fixup! Add missing system test in Makefile 2020-04-30 12:09:05 +02:00
Ondřej Surý
345ac0785d Conditionally re-add pkcs11 system test 2020-04-30 10:19:07 +02:00
Matthijs Mekking
188631fdd9 Add missing system test in Makefile
Add the missing tests in the Makefile (include-multiplecfg kasp
pkcs11 ttl).  Also put them in alphabetical order.
2020-04-30 10:19:07 +02:00
Ondřej Surý
cf5105939c Add a pytest runner to run.sh
The system tests currently uses patchwork of shell scripts which doesn't
offer proper error handling.

This commit introduced option to write new tests in pytest framework
that also allows easier manipulation of DNS traffic (using dnspython),
native XML and JSON manipulation and proper error reporting.
2020-04-29 11:10:47 +02:00
Ondřej Surý
ee2f3039df Hide setperms when not in use 2020-04-28 17:33:57 +02:00
Mark Andrews
071bc29962 Propagate first_time to named_os_openfile in generate_session_key.
named_os_openfile was being called with switch_user set to true
unconditionally leading to log messages about being unable to
switch user identity from named when regenerating the key.
2020-04-28 15:22:41 +02:00
Ondřej Surý
6c82e2af92 Don't change effective uid when we already dropped privileges
When running on Linux and system capabilities are available, named will
drop the extra capabilities before loading the configuration.  This led
to spurious warnings from `seteuid()` because named already dropped
CAP_SETUID and CAP_GETUID capabilities.

The fix removes setting the effective uid/gid when capabilities are
available, and adds a check that we are running under the user we were
requested to run.
2020-04-28 15:22:41 +02:00
Evan Hunt
17a1bafc08 Restore behaviour of "make test" and "make unit"
Add recursive "test" and "unit" rules, which execute "make check"
in specific directories - "make test" runs the system tests, and
"make unit" runs the unit tests.
2020-04-27 15:02:30 +02:00
Ondřej Surý
968523dd8d Use absolute path to PYTHON and PERL, so test -x works properly in system tests 2020-04-27 12:23:44 +02:00
Ondřej Surý
dd0faa1556 Store the output from yamlget.py into intermediate files for easier debugging 2020-04-27 11:43:30 +02:00