Make sure an incoming IXFR containing an SOA record which is not placed
at the apex of the transferred zone does not result in a broken version
of the zone being served by named and/or a subsequent crash.
(cherry picked from commit 5547003a3d)
BIND installation should be done by setting $DESTDIR during "make
install", not by setting --prefix via ./configure to the destination
directory. However, on 9.11 --prefix still needs to be set to eliminate
the compatibility mode with older BIND9 releases (see the comment in
configure.ac, lines 379-396), which does not place sysconfdir and
localstatedir to $DESTDIR/$prefix but directly to $DESTDIR. When
--prefix is set they end up in $DESTDIR/$prefix, which is the BIND 9.16+
default).
$ ./configure && make && make install DESTDIR=/tmp/bind9
$ ls /tmp/bind9/{,usr/local}
/tmp/bind9/:
etc usr var
/tmp/bind9/usr/local:
bin include lib sbin share
$ ./configure --prefix=/usr/local && make && make install DESTDIR=/tmp/bind9
$ ls /tmp/bind9/{,usr/local}
/tmp/bind9/:
usr
/tmp/bind9/usr/local:
bin etc include lib sbin share var
Make sure that installation with DESTDIR=<PATH> works by checking that
named binary and it's respective man page were installed and that
well-known BIND9 directories - and only them - are present in DESTDIR.
Also rename install path variable from BIND_INSTALL_PATH to
INSTALL_PATH to avoid namespace clash in stress tests which use
BIND_INSTALL_PATH variable to configure path to BIND9 binaries.
(cherry picked from commit 823bf3e79b)
Ubuntu 16.04 (Xenial Xerus) is reaching End of Standard Support in April
2021 thus we are removing it from the list of supported platforms and
replacing it with Ubuntu 18.04 LTS (Bionic Beaver).
(cherry picked from commit 4402a90bb7)
Running gcc:tarball CI job for merge requests is consistent with how we
run gcc:out-of-tree CI job and should help identify problems with the
build system during the review process, not once merged during daily
runs. For the sake of time, unit and system tests associated with the
gcc:tarball CI job are excluded from merge requests.
Also, make sure that the tarball-create CI job includes the
default_triggering_rules anchor (as it is on the main branch), otherwise
adding the gcc:tarball CI job to merge request-triggered pipeline fails
with:
Found errors in your .gitlab-ci.yml: 'gcc:tarball' job needs 'tarball-create' job but it was not added to the pipeline
(cherry picked from commit 83617cea9a)
It's a common pattern to spawn CI jobs only for pipelines triggered by
schedules, tags, and web. There should be an anchor so that the rules
are not repeated.
(cherry picked from commit e4f88c359c)
GCC 11 produced the following warning:
iterated_hash.c:21:33: warning: argument 1 of type ‘unsigned char[20]’ with mismatched bound [-Warray-parameter=]
21 | isc_iterated_hash(unsigned char out[ISC_SHA1_DIGESTLENGTH],
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from iterated_hash.c:18:
./include/isc/iterated_hash.h:33:37: note: previously declared as ‘unsigned char[155]’
33 | int isc_iterated_hash(unsigned char out[NSEC3_MAX_HASH_LENGTH],
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Add REQUIRE(type == dns_rdatatype_nsec3 || firstp != NULL); so
that dereferences of *firstp is not flagged as a NULL pointer
dereference.
(cherry picked from commit 683ad6e4bd)
FreeBSD 13.0 replaced GNU grep with BSD grep and removed support for
"redundant escapes for most ordinary characters" from regex(3) library,
therefore the matching sequence in digdelv/tests.sh needs to be
rewritten otherwise it fails with:
grep: trailing backslash (\)
(cherry picked from commit 253ae96bf1)
When the `named` would hang on startup it would be killed with SIGKILL
leaving us with no information about the state the process was in.
This commit changes the start.pl script to send SIGABRT instead, so we
can properly collect and process the coredump from the hung named
process.
(cherry picked from commit 861a236937)