Commit Graph
31484 Commits
Author SHA1 Message Date
Ondřej Surý 4316f422b5 Merge branch '1783-ax_check_compile_flag-fno-delete-null-pointer-checks-does-not-fail-for-clang' into 'master'
Resolve "AX_CHECK_COMPILE_FLAG -fno-delete-null-pointer-checks does not fail for clang"

Closes #1783

See merge request isc-projects/bind9!3413
2020-04-29 16:16:41 +00:00
Mark AndrewsandOndřej Surý 82ab846f13 Force test for -fno-delete-null-pointer-checks to fail 2020-04-29 17:56:14 +02:00
Ondřej Surý d70cba39c6 Merge branch 'ondrej/fix-asan-symbolizer' into 'master'
Fix the ASAN symbolizer

See merge request isc-projects/bind9!3450
2020-04-29 15:01:32 +00:00
Ondřej Surý 96805e8c91 Fix the ASAN symbolizer 2020-04-29 16:58:46 +02:00
Ondřej Surý e33895791c Merge branch '725-prepare-system-tests-for-pytest' into 'master'
Add a pytest runner to run.sh

Closes #725

See merge request isc-projects/bind9!3445
2020-04-29 09:51:30 +00:00
Ondřej SurýandOndř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ý 0bb2bda169 Merge branch '1090-fix-unable-to-set-effective-uid-to-0-fixup' into 'master'
Hide setperms when not in use

Closes #1090

See merge request isc-projects/bind9!3443
2020-04-28 16:52:21 +00:00
Ondřej Surý ee2f3039df Hide setperms when not in use 2020-04-28 17:33:57 +02:00
Ondřej Surý 9a6e011a9f Merge branch '1090-fix-unable-to-set-effective-uid-to-0' into 'master'
Resolve "BIND 9.14: unable to set effective uid to 0"

Closes #1090 and #1042

See merge request isc-projects/bind9!3432
2020-04-28 14:25:55 +00:00
Ondřej Surý 60b608b65b Add release notes for GL #1042, #1090 2020-04-28 15:22:41 +02:00
Ondřej Surý a0a5eab31c Add CHANGES for #1042, #1090 2020-04-28 15:22:41 +02:00
Mark AndrewsandOndřej Surý 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
Ondřej Surý 931e00ba4a Merge branch '1780-fix-system-tests-failing-with-automake' into 'master'
Properly fail the GitLab CI system test job when any system test fails

Closes #1780

See merge request isc-projects/bind9!3414
2020-04-27 14:27:25 +00:00
Ondřej Surý 86f322133f Fix the noinst_LTLIBRARIES -> check_LTLIBRARIES in libisc and libdns unit tests 2020-04-27 15:18:31 +02:00
Evan HuntandOndřej Surý 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ý 7fe5f670b5 Disable pylint: 'Constant name dname doesn't conform to UPPER_CASE naming style (invalid-name)' 2020-04-27 14:15:10 +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
Ondřej Surý 52683934cd Refactor the script that gets/sets the ports for system tests
The current script used ephemeral port range which clashed with the
ports used by the tools (dig, ...), and the range always started with
the first port and there was 100 ports allocated for each system test.

In this commit, the first port has been randomized, the get_ports.sh
script outputs the variables (the output has to be eval'ed from run.sh)
and there's less waste in the port range.
2020-04-27 11:43:30 +02:00
Ondřej Surý 85d0b4bcf0 Run recheck in case some system test fails 2020-04-27 11:43:29 +02:00
Ondřej Surý 7286d4d634 Colorize the test-driver output by default 2020-04-24 17:00:16 +02:00
Ondřej Surý 5813818036 Improve the LOG_DRIVER and LOG_COMPILER for the system tests
There are several improvements over the default/previous behaviour of
the test log driver and log compiler:

 * The system-test-driver.sh was dropped (it was used incorrectly)
 * The run.sh script is now both log compiler and cli script to run
   individual tests
 * The custom-test-driver was added as extended version of the automake
   test-driver with capability to tee the test output to stdout when
   `--verbose yes` is passed to it (you can use LOG_DRIVER_FLAGS to
   add the option by default)
 * Makefile.am has been extended to honor V=1 for the system tests
   test-driver (e.g. V=1 adds `--verbose yes` to AM_LOG_DRIVER_FLAGS)
2020-04-24 16:59:43 +02:00
Ondřej Surý d10294acb3 Remove the requirement for GNU getopt and parse long options using getopts 2020-04-24 16:11:20 +02:00
Michał KępieńandOndřej Surý 51188b33f8 Ensure fstrm_capture is looked for
fstrm_capture is not an essential utility, but its corresponding
Makefile token needs to substituted even if it is not found in PATH or
else the "dnstap" system test will consistently fail.
2020-04-24 16:11:20 +02:00
Michał KępieńandOndřej Surý 32247dc997 Build wire_test
The bin/tests/wire_test helper program is currently not included in any
Makefile.am file.  Move its source code to bin/tests/system and build it
along other helper tools when dnstap support is requested as the
"dnstap" system test needs this tool in order to pass.
2020-04-24 16:11:20 +02:00
Michał KępieńandOndřej Surý ba0e9cb56c Silence PyYAML warning
Make yaml.load_all() use yaml.SafeLoader to address a warning currently
emitted when bin/tests/system/dnstap/ydump.py is run:

    ydump.py:28: YAMLLoadWarning: calling yaml.load_all() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
      for l in yaml.load_all(f.stdout):
2020-04-24 16:11:20 +02:00
Ondřej Surý 0bc1b4804e Use $TOP_SRCDIR instead of $TOP of calling prepare-softhsm2 script 2020-04-24 16:11:20 +02:00
Ondřej Surý e6d2777771 Use $TOP_BUILDDIR instead of $TOP of checking config.h values 2020-04-24 16:11:20 +02:00
Ondřej Surý 626409aac9 Properly fail the GitLab CI system test job when any system test fails 2020-04-24 16:11:20 +02:00
Ondřej Surý e2dd8f48b1 Merge branch '1758-cleanup-libirs' into 'master'
Cleanup libirs APIs and slim down the library to just irs_resconf

Closes #1758

See merge request isc-projects/bind9!3416
2020-04-24 12:02:11 +00:00
Ondřej SurýandOndřej Surý ed13f1b595 Add CHANGES note for GL #1758 2020-04-24 08:33:34 +02:00
Ondřej Surý 5f0efcbb3c Cleanup libirs APIs and slim down the library to just irs_resconf
The libirs contained own re-implementations of the getaddrinfo,
getnameinfo and gai_strerror + irs_context and irs_dnsconf API that was
unused anywhere in the BIND 9.

Keep just the irs_resonf API that is being extensively used to parse
/etc/resolv.conf by several of BIND 9 tools.
2020-04-24 08:33:34 +02:00
Ondřej Surý 19245f3ff4 Merge branch '178-remove-unused-dns-ecdb' into 'master'
Remove 'ephemeral' database implementation

Closes #178

See merge request isc-projects/bind9!3425
2020-04-23 19:40:23 +00:00
Ondřej Surý 6494665f08 Remove 'ephemeral' database implementation
The 'ephemeral' database implementation was used to provide a
lightweight database implemenation that doesn't cache results, and the
only place where it was really use is "samples" because delv is
overriding this to use "rbtdb" instead. Otherwise it was completely
unused.

 * The 'ephemeral' cache DB (ecdb) implementation.  An ecdb just provides
 * temporary storage for ongoing name resolution with the common DB interfaces.
 * It actually doesn't cache anything.  The implementation expects any stored
 * data is released within a short period, and does not care about the
 * scalability in terms of the number of nodes.
2020-04-23 18:05:53 +02:00
Ondřej Surý bbb3dca443 Merge branch 'ondrej/add-missing-OPENSSL_CFLAGS' into 'master'
Add OPENSSL_CFLAGS to libdns tests that include dst_internal.h

See merge request isc-projects/bind9!3424
2020-04-23 14:22:44 +00:00
Ondřej Surý 6a6a9f7afa Add OPENSSL_CFLAGS to libdns tests that include dst_internal.h
The three libdns tests directly include ../dst_internal.h which
in turn directly include openssl headers, thus there was a missing
path and build failure on systems where OpenSSL is not in the default
include path.
2020-04-23 15:53:03 +02:00
Ondřej Surý a9c0194009 Merge branch '178-remove-unused-isc_lfsr' into 'master'
Remove unused isc_lfsr API

Closes #178

See merge request isc-projects/bind9!3423
2020-04-23 13:33:00 +00:00
Ondřej Surý bdca09aa8d Remove unused isc_lfsr API
The isc_lfsr API was used to generate message IDs in the past.
Currently, it's just cruft.
2020-04-23 12:16:22 +02:00
Michal Nowak f6d15d5af8 Merge branch 'mnowak/1751-abi-check-does-not-know-which-source-is-older-newer' into 'master'
abi-check does not know which source is older, newer

Closes #1751

See merge request isc-projects/bind9!3374
2020-04-23 06:52:05 +00:00
Michal Nowak 8e3e2836b0 Ensure proper comparison order in "abi-check" jobs
Right before the release API version (LIBINTERFACE, LIBREVISION, LIBAGE)
for older and newer libraries tends to be the same. Given that, commit
hash can't be the determining factor here, Unix time of the commit
should suit us better and is placed after the API version. The commit
hash is preserved as it's useful to see it in the actual report.

'-nosymtbl' versions of libraries are not produced in Automake builds.
2020-04-23 08:49:29 +02:00
Ondřej Surý 7a0ebb14f3 Merge branch 'ondrej/make-merge_copyrights-ignore-hidden-files' into 'master'
Make merge_copyrights ignore hidden files

See merge request isc-projects/bind9!3417
2020-04-23 05:58:36 +00:00
Ondřej Surý 6d46082d82 Make merge_copyrights ignore hidden files 2020-04-23 07:57:29 +02:00
Ondřej Surý a9fb6fa862 Merge branch 'ondrej/update-lgtm.com-configuration' into 'master'
Add configuration for LGTM.com static code analyzer

See merge request isc-projects/bind9!3415
2020-04-22 14:57:40 +00:00
Ondřej Surý fea3fe9996 Add configuration for LGTM.com static code analyzer 2020-04-22 16:14:43 +02:00
Evan Hunt 8e85ce3d77 Merge branch '1779-lock-rpzs' into 'master'
acquire maintenance lock when running incremental RPZ updates

Closes #1779

See merge request isc-projects/bind9!3411
2020-04-21 23:59:37 +00:00
Evan Hunt 2cf3d4c700 CHANGES 2020-04-21 16:59:02 -07:00
Evan Hunt 286e8cd7ea acquire maintenance lock when running incremental RPZ updates
this addresses a race that could occur during shutdown or when
reconfiguring to remove RPZ zones.

this change should ensure that the rpzs structure and the incremental
updates don't interfere with each other: rpzs->zones entries cannot
be set to NULL while an update quantum is running, and the
task should be destroyed and its queue purged so that no subsequent
quanta will run.
2020-04-21 15:53:58 -07:00
Ondřej Surý bb4515346a Merge branch '4-add-changes-and-release-notes' into 'master'
Add CHANGES and Release Notes for "Convert to modern autotools (autoconf + automake + libtool)"

See merge request isc-projects/bind9!3410
2020-04-21 13:38:21 +00:00
Ondřej Surý 5d0897ab15 Add release notes for #4 2020-04-21 15:36:47 +02:00