]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
4 years agoMerge branch 'mnowak/drop-some-system-test-scrips' into 'main'
Michal Nowak [Thu, 27 Jan 2022 14:45:42 +0000 (14:45 +0000)] 
Merge branch 'mnowak/drop-some-system-test-scrips' into 'main'

Drop some system test scripts

See merge request isc-projects/bind9!5745

4 years agoClean up test.output.* references
Michal Nowak [Wed, 26 Jan 2022 13:02:22 +0000 (14:02 +0100)] 
Clean up test.output.* references

test.output.* files are no longer created by the system test framework.
Remove all references to these files from the source tree.

4 years agoDrop systests.output references from system test
Michal Nowak [Thu, 20 Jan 2022 12:43:43 +0000 (13:43 +0100)] 
Drop systests.output references from system test

Since "runall.sh" script removal systests.output file is not being
created and its references are useless.

4 years agoDrop support for sequential system tests
Michal Nowak [Wed, 26 Jan 2022 12:49:32 +0000 (13:49 +0100)] 
Drop support for sequential system tests

System test used to have sequential system tests, which can't run in
parallel with the rest of system tests. As there are no such tests
anymore the underlying infrastructure can be dropped.

4 years agoDrop bin/tests/system/parallel.sh
Michal Nowak [Thu, 20 Jan 2022 12:11:49 +0000 (13:11 +0100)] 
Drop bin/tests/system/parallel.sh

"parallel.sh" script was used on Windows to run system tests in
parallel. Since Windows support was removed from BIND 9, the script is
not needed anymore.

4 years agoDrop testsummary.sh
Michal Nowak [Mon, 14 Dec 2020 19:40:58 +0000 (20:40 +0100)] 
Drop testsummary.sh

testsummary.sh was not updated after build system rewrite to Autotools,
and needs to be fixed to produce test summary and core dump, assertion
failures, and ThreadSanitizer reports.

Given that all of this is provided by Autotools and run.sh already,
there's little use to testsummary.sh script and should be dropped.

4 years agoMerge branch '3108-cacheline-detection-propagate' into 'main'
Ondřej Surý [Thu, 27 Jan 2022 12:06:55 +0000 (12:06 +0000)] 
Merge branch '3108-cacheline-detection-propagate' into 'main'

Actually use detected cache line size

Closes #3108

See merge request isc-projects/bind9!5758

4 years agoAdd CHANGES note for [GL #3108]
Ondřej Surý [Thu, 27 Jan 2022 11:29:44 +0000 (12:29 +0100)] 
Add CHANGES note for [GL #3108]

4 years agoUse detected cache line size
Petr Menšík [Tue, 25 Jan 2022 22:26:27 +0000 (23:26 +0100)] 
Use detected cache line size

IBM power architecture has L1 cache line size equal to 128.  Take
advantage of that on that architecture, do not force more common value
of 64.  When it is possible to detect higher value, use that value
instead.  Keep the default to be 64.

4 years agoMerge branch '3115-qname-wait-recurse-typo' into 'main'
Ondřej Surý [Thu, 27 Jan 2022 11:53:54 +0000 (11:53 +0000)] 
Merge branch '3115-qname-wait-recurse-typo' into 'main'

Fix typo in qname-wait-recurse

Closes #3115

See merge request isc-projects/bind9!5768

4 years agoFix typo in qname-wait-recurse
Ondřej Surý [Thu, 27 Jan 2022 11:51:06 +0000 (12:51 +0100)] 
Fix typo in qname-wait-recurse

In the RPZ documentation, there's a mistake where it states that the
default behavior will be disabled by setting `qname-wait-recurse yes;`
while in fact it's opposite `qname-wait-recurse no;`.

This affects only the RST documentation.

4 years agoMerge branch '1729-remove-unused-helper-scripts-from-bin-tests-system' into 'main'
Michal Nowak [Thu, 27 Jan 2022 11:48:11 +0000 (11:48 +0000)] 
Merge branch '1729-remove-unused-helper-scripts-from-bin-tests-system' into 'main'

Resolve "Remove unused helper scripts from bin/tests/system/"

Closes #1729

See merge request isc-projects/bind9!4489

4 years agoDrop runall.sh
Michal Nowak [Tue, 18 Jan 2022 18:39:37 +0000 (19:39 +0100)] 
Drop runall.sh

runall.sh was mainly used on Windows and as it's support was removed
from the "main" branch the script is not needed anymore.

Also, remove bin/tests/system/README text on running multiple system
test suites simultaneously with runall.sh as that support was not
present in the script anyway.

4 years agoDrop unused @DNSTAP@ label in conf.sh.in
Michal Nowak [Thu, 10 Dec 2020 14:15:50 +0000 (15:15 +0100)] 
Drop unused @DNSTAP@ label in conf.sh.in

@DNSTAP@ label does not have adjacent AC_SUBST() call and is therefore
unused.

4 years agorrsetorder should use stop_server() in tests.sh
Michal Nowak [Thu, 10 Dec 2020 13:33:51 +0000 (14:33 +0100)] 
rrsetorder should use stop_server() in tests.sh

4 years agoDrop bin/tests/system/setup.sh
Michal Nowak [Thu, 10 Dec 2020 13:10:49 +0000 (14:10 +0100)] 
Drop bin/tests/system/setup.sh

bin/tests/system/setup.sh just executes setup.sh script of a particular
system test in the directory of the system test. This does not seems to
be useful enough to maintain it.

4 years agoDrop stopall.sh
Michal Nowak [Thu, 10 Dec 2020 12:53:44 +0000 (13:53 +0100)] 
Drop stopall.sh

stopall.sh script takes almost 2 minutes to go thru all test
subdirectories (due to a sleep in stop.pl) and does not seems to be
efficient way to stop manually started tests.

4 years agoMerge branch 'matthijs-keyfromlabel-system-test' into 'main'
Matthijs Mekking [Thu, 27 Jan 2022 10:07:57 +0000 (10:07 +0000)] 
Merge branch 'matthijs-keyfromlabel-system-test' into 'main'

Add keyfromlabel system test

Closes #3092

See merge request isc-projects/bind9!5312

4 years agoUpdate pkcs11 documentation on openssl_conf
Matthijs Mekking [Fri, 14 Jan 2022 10:30:06 +0000 (11:30 +0100)] 
Update pkcs11 documentation on openssl_conf

The user should make sure there are no other 'openssl_conf = ...' lines
in the file.

4 years agoCreate keys with pkcs11-tool --id
Matthijs Mekking [Tue, 11 Jan 2022 08:04:55 +0000 (09:04 +0100)] 
Create keys with pkcs11-tool --id

The keyfromlabel system ECDSA tests sometimes fail. When this happens
the ZSK and KSK key id values differ by 1, which is an indication that
the same key is used for both DNSKEY records.

When the private key is retrieved with 'ENGINE_load_private_key()', the
public key is already set. But sometimes that key differs from the key
which was retrieved with 'ENGINE_load_public_key()'.

The libp11 source code uses id to find the key and without IDs all the
keys are "equal", so it is returning the first key in the array of the
enumerated keys instead of the matching key. In our test we didn't use
'--id', just '--label'. With this change, the system test should no
longer fail intermittently.

Note this is only an issue for ECDSA keys, not RSA keys.

4 years agoSuppressing memory leaks procuded by LeakSanitizer
Matthijs Mekking [Wed, 22 Dec 2021 15:53:30 +0000 (16:53 +0100)] 
Suppressing memory leaks procuded by LeakSanitizer

These memory leaks are a known issue in libp11: From Timo Teras:

The relevant code is:

  https://github.com/OpenSC/libp11/blob/master/src/eng_front.c#L114-L123

The authors of libp11 did not get the locking right and decided
that having intentional memory leaks is better than risking a deadlock.

The leak logs indicate that it is the cached structures that should
have been freed.

These are not a run-time leaks, so suppressing these leaks is probably
okay.

4 years agoAdd system test for dnssec-keyfromlabel
Matthijs Mekking [Mon, 15 Nov 2021 09:23:04 +0000 (10:23 +0100)] 
Add system test for dnssec-keyfromlabel

Add missing system test for dnssec-keyfromlabel. Test for various
algorithms that we can generate key files from a key that is stored in a
HSM, and that those keys can be used for signing with dnssec-signzone.

4 years agoUpdate .gitlab-ci.yml with openssl setup
Matthijs Mekking [Thu, 11 Nov 2021 08:35:46 +0000 (09:35 +0100)] 
Update .gitlab-ci.yml with openssl setup

GitLab CI needs to know about some environment variables that will
tell where OpenSSL and SoftHSM2 is installed. This is done in the
image, making the prepare-softhsm2.sh script obsolete.

The SoftHSM2 module location is system specific.

4 years agoRemove prepare-softhsm2.sh from runtime test
Matthijs Mekking [Mon, 13 Dec 2021 16:10:56 +0000 (17:10 +0100)] 
Remove prepare-softhsm2.sh from runtime test

This script is obsoleted because SoftHSM2 is now installed in the
image.

4 years agoAdd CHANGES for keyfromlabel test
Matthijs Mekking [Thu, 11 Nov 2021 08:37:33 +0000 (09:37 +0100)] 
Add CHANGES for keyfromlabel test

4 years agoMerge branch 'mnowak/remove-leftover-test-code-for-windows' into 'main'
Michal Nowak [Thu, 27 Jan 2022 09:34:52 +0000 (09:34 +0000)] 
Merge branch 'mnowak/remove-leftover-test-code-for-windows' into 'main'

Remove leftover test code for Windows

See merge request isc-projects/bind9!5739

4 years agoRemove leftover test code for Windows
Evan Hunt [Fri, 15 Oct 2021 07:05:36 +0000 (00:05 -0700)] 
Remove leftover test code for Windows

- Removed all code that only runs under CYGWIN, and made all
  code that doesn't run under CYGWIN non-optional.
- Removed the $TP variable which was used to add optional
  trailing dots to filenames; they're no longer optional.
- Removed references to pssuspend and dos2unix.
- No need to use environment variables for diff and kill.
- Removed uses of "tr -d '\r'"; this was a workaround for
  a cygwin regex bug that is no longer needed.

4 years agoMerge branch 'michal/misc-test-framework-fixes' into 'main'
Michał Kępień [Wed, 26 Jan 2022 14:21:53 +0000 (14:21 +0000)] 
Merge branch 'michal/misc-test-framework-fixes' into 'main'

Miscellaneous test framework fixes

See merge request isc-projects/bind9!5759

4 years agoFix waiting for lock file removal upon exit
Michał Kępień [Wed, 26 Jan 2022 14:18:43 +0000 (15:18 +0100)] 
Fix waiting for lock file removal upon exit

Commit c787a539d2a931ba9023677c1c269ed191455512 fixed a certain class of
intermittent system test failures caused by named instances unable to
restart.  The root cause was bin/tests/system/stop.pl returning without
waiting for a named instance to remove its lock file.

Later on, it turned out that the above change causes other issues on
Windows due to the way named handles signals on that platform.  Commit
761ba4514f7eceab8019d71dc9cabd269d274597 intended to address those
issues by making the server_lock_file() subroutine in
bin/tests/system/stop.pl return an empty value on Windows, in order to
prevent the script for waiting for lock file cleanup on that platform.
Note, however, that Windows detection in that subroutine is limited to
checking whether the CYGWIN environment variable is set.

While that environment variable was not set on Unix-like systems before
commit 761ba4514f7eceab8019d71dc9cabd269d274597, another commit
(a33237f070c95480f581d85b0169f41ce5a12017, merged a few weeks later)
changed that by setting the CYGWIN environment variable to an empty
value on Unix-like systems.  This made the defined($ENV{'CYGWIN'}) check
in server_lock_file() return true, inadvertently preventing
bin/tests/system/stop.pl from waiting for lock file removal before
exiting on Unix-like systems and therefore reintroducing the original
issue.

Fix by making server_lock_file() only return an empty value when the
CYGWIN environment variable is set to a non-empty value (which is what
bin/tests/system/conf.sh.win32 does).  Adjust a similar check in the
pid_file_exists() subroutine in the same way for consistency.

4 years agoDo not strip leading whitespace from test output
Michał Kępień [Wed, 26 Jan 2022 14:18:43 +0000 (15:18 +0100)] 
Do not strip leading whitespace from test output

The echo_*() and cat_*() functions in bin/tests/system/conf.sh.common
call the "read" builtin command without specifying the field separator
to use.  This results in leading whitespace getting stripped from each
line of the texts passed to those functions, which mangles e.g. pytest
output, hindering test failure troubleshooting.

Address by setting IFS to an empty value for the "read" calls used in
the aforementioned helper functions.

4 years agoRetain all named.run files from each test run
Michał Kępień [Wed, 26 Jan 2022 14:18:43 +0000 (15:18 +0100)] 
Retain all named.run files from each test run

The bin/tests/system/start.pl script truncates the named.run file for a
given named instance unless it is invoked with the --restart
command-line option.  Ever since Python-based tests were introduced,
bin/tests/system/run.sh may start named instances used by a given system
test multiple times within a single run, causing the
bin/tests/system/start.pl script to truncate some of the log files
written during the test.  This makes troubleshooting certain test
failures hard or even impossible.

Fix by calling bin/tests/system/start.pl with the --restart command-line
option for every start_servers() invocation except the first one.

4 years agoMerge branch '3087-tls-ephemeral-certificate-set-not-before-in-past' into 'main'
Arаm Sаrgsyаn [Tue, 25 Jan 2022 09:33:30 +0000 (09:33 +0000)] 
Merge branch '3087-tls-ephemeral-certificate-set-not-before-in-past' into 'main'

Set the ephemeral certificate's "not before" a short time in the past

Closes #3087

See merge request isc-projects/bind9!5708

4 years agoSet the ephemeral certificate's "not before" a short time in the past
Aram Sargsyan [Tue, 11 Jan 2022 09:07:34 +0000 (09:07 +0000)] 
Set the ephemeral certificate's "not before" a short time in the past

TLS clients can have their clock a short time in the past which will
result in not being able to validate the certificate.

Setting the "not before" property 5 minutes in the past will
accommodate with some possible clock skew across systems.

4 years agoMerge branch '3060-revert-view-on-failed-reconfig' into 'main'
Arаm Sаrgsyаn [Tue, 25 Jan 2022 08:40:08 +0000 (08:40 +0000)] 
Merge branch '3060-revert-view-on-failed-reconfig' into 'main'

Improve the view configuration error handling and reverting logic

Closes #3060

See merge request isc-projects/bind9!5674

4 years agoFix a memory leak in dns_dlzcreate()
Aram Sargsyan [Tue, 4 Jan 2022 18:49:20 +0000 (18:49 +0000)] 
Fix a memory leak in dns_dlzcreate()

dns_dlzcreate() fails to free the memory allocated for dlzname
when an error occurs.

Free dlzname's memory (acquired earlier with isc_mem_strdup())
by calling isc_mem_free() before returning an error code.

4 years agoFix invalid control port number in the catz system test
Aram Sargsyan [Tue, 4 Jan 2022 17:22:32 +0000 (17:22 +0000)] 
Fix invalid control port number in the catz system test

When failure is expected, the `rndc` command in the catz system test
is being called directly instead of using a function, i.e.:

    $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig \
        > /dev/null 2>&1 && ret=1

... instead of:

    rndccmd 10.53.0.2 reconfig && ret=1

This is done to suppress messages like "lt-rndc: 'reconfig' failed:
failure" appearing in the message log of the test, because failure
is actually expected, and the appearance of that message can be
confusing.

The port value used in this case is not correct, making the
`rndc reload` command to fail.  This error was not detected earlier
only because the failure of the command is actually expected, but
the failure happens for a "wrong" reason, and the test still passes.

Fix the error by using the existing variable instead of the fixed
number.

4 years agoAdd a system test for view reverting after a failed reconfiguration
Aram Sargsyan [Wed, 29 Dec 2021 09:07:03 +0000 (09:07 +0000)] 
Add a system test for view reverting after a failed reconfiguration

Test the view reverting code by introducing a faulty dlz configuration
in named.conf and using `rndc reconfig` to check if named handles the
situation correctly.

We use "dlz" because the dlz processing code is located in an ideal
place in the view configuration function for the test to cover the
view reverting code.

This test is specifically added to the catz system test to additionally
cover the catz reconfiguration during the mentioned failed
reconfiguration attempt.

4 years agoAdd CHANGES and release notes for [GL #3060]
Aram Sargsyan [Tue, 28 Dec 2021 12:31:10 +0000 (12:31 +0000)] 
Add CHANGES and release notes for [GL #3060]

4 years agoImprove the zones' view reverting logic when a zone is a catalog zone
Aram Sargsyan [Tue, 28 Dec 2021 12:08:48 +0000 (12:08 +0000)] 
Improve the zones' view reverting logic when a zone is a catalog zone

When a zone is being configured with a new view, the catalog zones
structure will also be linked to that view. Later on, in case of some
error, should the zone be reverted to the previous view, the link
between the catalog zones structure and the view won't be reverted.

Change the dns_zone_setviewrevert() function so it calls
dns_zone_catz_enable() during a zone revert, which will reset the
link between `catzs` and view.

4 years agoSeparate the locked parts of dns_zone_catz_enable/disable functions
Aram Sargsyan [Wed, 5 Jan 2022 09:38:36 +0000 (09:38 +0000)] 
Separate the locked parts of dns_zone_catz_enable/disable functions

Separate the locked parts of dns_zone_catz_enable() and
dns_zone_catz_disable() functions into static functions.  This will
let us perform those tasks from the other parts of the module while
the zone is locked, avoiding one pair of additional unlocking and
locking operations.

4 years agoImprove the view configuration error handling and reverting logic
Aram Sargsyan [Tue, 28 Dec 2021 11:51:01 +0000 (11:51 +0000)] 
Improve the view configuration error handling and reverting logic

If a view configuration error occurs during a named reconfiguration
procedure, BIND can end up having twin views (old and new), with some
zones and internal structures attached to the old one, and others
attached to the new one, which essentially creates chaos.

Implement some additional view reverting mechanisms to avoid the
situation described above:

 1. Revert rpz configuration.

 2. Revert catz configuration.

 3. Revert zones to view attachments.

4 years agoMerge branch 'pspacek/misc-doc-cleanups' into 'main'
Petr Špaček [Tue, 25 Jan 2022 08:15:07 +0000 (08:15 +0000)] 
Merge branch 'pspacek/misc-doc-cleanups' into 'main'

Miscellaneous documentation cleanups

See merge request isc-projects/bind9!5752

4 years agoFix incorrect RFC footnote about A6 RR type in RFC4033
Petr Špaček [Fri, 21 Jan 2022 12:46:49 +0000 (13:46 +0100)] 
Fix incorrect RFC footnote about A6 RR type in RFC4033

A6 type is not mentioned anywhere in RFC4033.

4 years agoRemove RFCs not implemented in BIND from list in the ARM
Petr Špaček [Thu, 20 Jan 2022 16:18:06 +0000 (17:18 +0100)] 
Remove RFCs not implemented in BIND from list in the ARM

This commit partially removes extra RFCs which are not listed in
file doc/misc/rfc-compliance.

Most of the removed RFCs are either outright obsolete, irrelevant,
or not implemented. Rationale:
- 974 - obsolete
- 1033 - ops info, hardly followed today
- 1464 - ops info
- 1591 - policy
- 1537 - obsolete
- 1713 - obsolete
- 1794 - notimp
- 2010 - ops info
- 2052 - obsolete
- 2065 - obsolete
- 2137 - obsolete
- 2168 - obsolete
- 2240 - obsolete
- 2345 - not dns
- 2352 - not dns
- 2540 - notimp
- 2825 - notimp, info, obsolete
- 2826 - notimp
- 2929 - obsolete
- 3071 - policy
- 3090 - obsolete
- 3258 - notimp
- 6594 - iana, SSHFP
- 7216 - not dns
- 8482 - notimp
- 8490 - notimp

Probably most notable RFCs removed are:
- 8482 for special ANY handling
- 8490 for Stateful Operations
As far as I can tell BIND does not implement those.

4 years agoReword RFC section in the ARM
Petr Špaček [Thu, 20 Jan 2022 16:04:00 +0000 (17:04 +0100)] 
Reword RFC section in the ARM

Add couple links and caveant for uninitiated readers.

4 years agoAdd RFCs listed in doc/misc/rfc-compliance to doc/arm/general.rst
Petr Špaček [Thu, 20 Jan 2022 13:07:25 +0000 (14:07 +0100)] 
Add RFCs listed in doc/misc/rfc-compliance to doc/arm/general.rst

There were three RFCs listed in list of "RFCs we implement" but missing
in the ARM.

Command to compare lists in the two documents:

    diff <(grep -o '^  RFC[0-9]\+' doc/misc/rfc-compliance | sed -e 's/[^0-9]//g' | sort -n) <(grep  '^:rfc:`' doc/arm/general.rst | sed -e 's/^.*`\([0-9]*\)`.*$/\1/' | sort -n)

4 years agoRework doc/arm/build.rst
Petr Špaček [Thu, 20 Jan 2022 10:31:40 +0000 (11:31 +0100)] 
Rework doc/arm/build.rst

  - Revise the list of required libraries.
  - Apply miscellaneous tweaks to style, formatting, and ordering.

4 years agoDeduplicate text between Building BIND 9 / Supported Platforms in the ARM
Petr Špaček [Wed, 19 Jan 2022 15:37:04 +0000 (16:37 +0100)] 
Deduplicate text between Building BIND 9 / Supported Platforms in the ARM

Supported Platforms section is now really only about platforms and not
libraries. Libraries were moved to the Building BIND section.

We now have section for required libraries, and second with optional
features.  Wordy explanations were taken verbatim from the original
README.md.

4 years agoReplace Building BIND 9 section in README with reference to ARM
Petr Špaček [Thu, 20 Jan 2022 09:47:31 +0000 (10:47 +0100)] 
Replace Building BIND 9 section in README with reference to ARM

4 years agoConvert "Building BIND" section from README.md to reStructuredText
Petr Špaček [Thu, 20 Jan 2022 09:24:38 +0000 (10:24 +0100)] 
Convert "Building BIND" section from README.md to reStructuredText

Converted using pandoc 2.14.2-9 on Arch Linux:

    $ pandoc --shift-heading-level-by=-1 -f markdown -t rst README.md > doc/arm/build.rst

Plus hand-edit to remove sections other than Building BIND 9, remove
misindentation in section headers, and add a standard copyright header.

4 years agoLink to ISC KB for most up-to-date platform support statuses
Petr Špaček [Wed, 19 Jan 2022 15:36:27 +0000 (16:36 +0100)] 
Link to ISC KB for most up-to-date platform support statuses

4 years agoReplace all occurences of PLATFORMS file with reference to the ARM
Petr Špaček [Wed, 19 Jan 2022 15:30:18 +0000 (16:30 +0100)] 
Replace all occurences of PLATFORMS file with reference to the ARM

The conf.py exclude_patterns now includes platforms.rst to avoid
problems with redefining labels:
https://github.com/sphinx-doc/sphinx/issues/1668#issuecomment-71376208

4 years agoReplace duplicate Supported Operating Systems in the ARM by PLATFORMS.rst
Petr Špaček [Wed, 19 Jan 2022 14:40:56 +0000 (15:40 +0100)] 
Replace duplicate Supported Operating Systems in the ARM by PLATFORMS.rst

4 years agoConvert PLATFORMS file from Markdown to reStructuredText
Petr Špaček [Wed, 19 Jan 2022 14:24:39 +0000 (15:24 +0100)] 
Convert PLATFORMS file from Markdown to reStructuredText

Converted using pandoc 2.14.2-9 on Arch Linux:

    $ pandoc -f markdown -t rst PLATFORMS.md > PLATFORMS.rst

The pandoc-generated copyright header was subsequently replaced with
usual one for .rst files.

4 years agoUpdate BIND version number in PLATFORMS.md to 9.19
Petr Špaček [Wed, 19 Jan 2022 10:47:10 +0000 (11:47 +0100)] 
Update BIND version number in PLATFORMS.md to 9.19

4 years agoDocument that tls statement is subject to change
Petr Špaček [Fri, 21 Jan 2022 10:13:05 +0000 (11:13 +0100)] 
Document that tls statement is subject to change

4 years agoClarify XoT usage and warn about the unauthenticated mode
Petr Špaček [Mon, 17 Jan 2022 18:49:48 +0000 (19:49 +0100)] 
Clarify XoT usage and warn about the unauthenticated mode

4 years agoMerge branch 'ondrej/use-utc-for-reproducible-builds' into 'main'
Ondřej Surý [Mon, 24 Jan 2022 15:32:18 +0000 (15:32 +0000)] 
Merge branch 'ondrej/use-utc-for-reproducible-builds' into 'main'

Use UTC datetime for reproducible builds

See merge request isc-projects/bind9!5750

4 years agoUse UTC datetime for reproducible builds
Ondřej Surý [Mon, 24 Jan 2022 15:09:48 +0000 (16:09 +0100)] 
Use UTC datetime for reproducible builds

For reproducible builds, we use last modification time of the CHANGES
file.  This works pretty well, unless the builds are made in different
timezones.

Use UTC option to date command to make the builds reproducible.

4 years agoMerge branch '3108-bind9-fails-to-start-on-machines-where-glibc-does-not-provide...
Michał Kępień [Mon, 24 Jan 2022 08:24:12 +0000 (08:24 +0000)] 
Merge branch '3108-bind9-fails-to-start-on-machines-where-glibc-does-not-provide-l1-cache-size' into 'main'

Ignore the invalid L1 cache line size returned by sysconf()

Closes #3108

See merge request isc-projects/bind9!5748

4 years agoAdd CHANGES note for [GL #3108]
Ondřej Surý [Sat, 22 Jan 2022 16:04:17 +0000 (17:04 +0100)] 
Add CHANGES note for [GL #3108]

4 years agoIgnore the invalid L1 cache line size returned by sysconf()
Ondřej Surý [Sat, 22 Jan 2022 15:59:50 +0000 (16:59 +0100)] 
Ignore the invalid L1 cache line size returned by sysconf()

On some systems, the glibc can return 0 instead of cache-line size to
indicate the cache line sizes cannot be determined.  This is comment
from glibc source code:

    /* In general we cannot determine these values.  Therefore we
       return zero which indicates that no information is
       available.  */

As the goal of the check is to determine whether the L1 cache line size
is still 64 and we would use this value in case the sysconf() call is
not available, we can also ignore the invalid values returned by the
sysconf() call.

4 years agoMerge branch 'pspacek/remove-duplicate-named.conf.rst' into 'main'
Petr Špaček [Fri, 21 Jan 2022 14:32:38 +0000 (14:32 +0000)] 
Merge branch 'pspacek/remove-duplicate-named.conf.rst' into 'main'

Remove duplicate named.conf.rst file

See merge request isc-projects/bind9!5731

4 years agoRemove duplicate named.conf.rst file
Petr Špaček [Mon, 17 Jan 2022 13:53:59 +0000 (14:53 +0100)] 
Remove duplicate named.conf.rst file

As far as I can tell, it is some leftover from the times when Sphinx
docs were introduced (commit 9fb6d11abbdb10ded128f0ee5c004f24b4030ede).
It seems like it is not referenced from anywhere.

4 years agoMerge branch 'michal/miscellaneous-text-tweaks-related-to-doh-and-dot' into 'main'
Michał Kępień [Thu, 20 Jan 2022 17:38:50 +0000 (17:38 +0000)] 
Merge branch 'michal/miscellaneous-text-tweaks-related-to-doh-and-dot' into 'main'

Miscellaneous text tweaks related to DNS-over-HTTPS and DNS-over-TLS

See merge request isc-projects/bind9!5743

4 years agoSuggest --disable-doh when libnghttp2 is not found
Michał Kępień [Thu, 20 Jan 2022 14:40:37 +0000 (15:40 +0100)] 
Suggest --disable-doh when libnghttp2 is not found

Extend the error message displayed when support for DNS over HTTPS is
requested but libnghttp2 is unavailable at build time, in order to help
the user find a way out of such a situation.

4 years agoAvoid use of the DoH acronym in ./configure output
Michał Kępień [Thu, 20 Jan 2022 14:40:37 +0000 (15:40 +0100)] 
Avoid use of the DoH acronym in ./configure output

Replace all uses of the DoH acronym in ./configure output with
"DNS-over-HTTPS support" in order to improve error message readability.

4 years agoFix spelling of "DNS over HTTPS" & "DNS over TLS"
Michał Kępień [Thu, 20 Jan 2022 14:40:37 +0000 (15:40 +0100)] 
Fix spelling of "DNS over HTTPS" & "DNS over TLS"

The terms "DNS over HTTPS" and "DNS over TLS" should be hyphenated when
they are used as adjectives and non-hyphenated otherwise.  Ensure all
occurrences of these terms in the source tree follow the above rule.
(CHANGES and release notes are intentionally left intact.)

Tweak a related ARM snippet, fixing a typo in the process.

4 years agoMerge branch 'v9_17_22-release' into 'main'
Michał Kępień [Thu, 20 Jan 2022 10:26:54 +0000 (10:26 +0000)] 
Merge branch 'v9_17_22-release' into 'main'

Merge 9.17.22 release branch

See merge request isc-projects/bind9!5741

4 years agoPrepare release notes for BIND 9.17.23
Michał Kępień [Thu, 20 Jan 2022 10:20:03 +0000 (11:20 +0100)] 
Prepare release notes for BIND 9.17.23

4 years agoUpdate BIND version to 9.17.22
Michał Kępień [Wed, 12 Jan 2022 11:25:11 +0000 (12:25 +0100)] 
Update BIND version to 9.17.22

4 years agoAdd a CHANGES marker
Michał Kępień [Wed, 12 Jan 2022 11:25:11 +0000 (12:25 +0100)] 
Add a CHANGES marker

4 years agoMerge branch 'pspacek/prepare-documentation-for-bind-9.17.22' into 'v9_17_22-release'
Michał Kępień [Wed, 12 Jan 2022 11:23:56 +0000 (11:23 +0000)] 
Merge branch 'pspacek/prepare-documentation-for-bind-9.17.22' into 'v9_17_22-release'

Prepare documentation for BIND 9.17.22

See merge request isc-private/bind9!345

4 years agoPrepare release notes for BIND 9.17.22
Michał Kępień [Wed, 12 Jan 2022 10:48:45 +0000 (11:48 +0100)] 
Prepare release notes for BIND 9.17.22

4 years agoReorder release notes
Michał Kępień [Wed, 12 Jan 2022 10:48:45 +0000 (11:48 +0100)] 
Reorder release notes

4 years agoAdd release note for GL #2398 and GL #3048
Petr Špaček [Fri, 7 Jan 2022 14:35:13 +0000 (15:35 +0100)] 
Add release note for GL #2398 and GL #3048

Related: !5620
Fix the isc_hp initialization and memory usage

Related: !5646
Reduce freemax values for dns_message mempools

4 years agoAdd release note for GL #2264
Petr Špaček [Fri, 7 Jan 2022 14:23:36 +0000 (15:23 +0100)] 
Add release note for GL #2264

Related: !5627
Use ECDSA P-256 instead of 4096-bit RSA for 'tls ephemeral'

4 years agoTweak and reword release notes
Petr Špaček [Fri, 7 Jan 2022 15:07:54 +0000 (16:07 +0100)] 
Tweak and reword release notes

4 years agoRemove release note for GL #3079
Michał Kępień [Wed, 12 Jan 2022 10:48:45 +0000 (11:48 +0100)] 
Remove release note for GL #3079

4 years agoMerge branch '3080-rndc-catch-canceled' into 'main'
Michał Kępień [Thu, 20 Jan 2022 08:03:18 +0000 (08:03 +0000)] 
Merge branch '3080-rndc-catch-canceled' into 'main'

rndc: catch ISC_R_CANCELED in rndc_recvdone()

Closes #3080

See merge request isc-projects/bind9!5716

4 years agoCHANGES for [GL #3080]
Evan Hunt [Thu, 13 Jan 2022 19:21:45 +0000 (11:21 -0800)] 
CHANGES for [GL #3080]

4 years agorndc: prevent crashing after receiving a signal
Michał Kępień [Wed, 19 Jan 2022 13:30:17 +0000 (14:30 +0100)] 
rndc: prevent crashing after receiving a signal

If isc_app_run() gets interrupted by a signal, the global 'rndc_task'
variable may already be detached from (set to NULL) by the time the
outstanding netmgr callbacks are run.  This triggers an assertion
failure in isc_task_shutdown().  However, explicitly calling
isc_task_shutdown() from rndc code is redundant because it does not use
isc_task_onshutdown() and the task_shutdown() function gets
automatically called anyway when the task manager gets destroyed (after
isc_app_run() returns).  Remove the redundant isc_task_shutdown() calls
to prevent crashes after receiving a signal.

4 years agorndc: sync ISC_R_CANCELED handling in callbacks
Evan Hunt [Thu, 13 Jan 2022 19:18:27 +0000 (11:18 -0800)] 
rndc: sync ISC_R_CANCELED handling in callbacks

rndc_recvdone() is not treating the ISC_R_CANCELED result code as a
request to stop data processing, which may cause a crash when trying to
dereference ccmsg->buffer.  Fix by ensuring ISC_R_CANCELED results in an
early exit from rndc_recvdone().

Make sure the logic for handling ISC_R_CANCELED in rndc_recvnonce()
matches the one present in rndc_recvdone() to ensure consistent behavior
between these two sibling functions.

4 years agoMerge branch 'pspacek/doc-cleanup' into 'main'
Petr Špaček [Tue, 18 Jan 2022 16:20:55 +0000 (16:20 +0000)] 
Merge branch 'pspacek/doc-cleanup' into 'main'

Developer docs cleanup

See merge request isc-projects/bind9!4527

4 years agoReplace obsolete references to ATF with Cmocka
Petr Špaček [Tue, 5 Jan 2021 13:04:50 +0000 (14:04 +0100)] 
Replace obsolete references to ATF with Cmocka

Fixup for MR!886.

4 years agoDocument new system test output format after build system rewrite
Petr Špaček [Tue, 5 Jan 2021 14:32:33 +0000 (15:32 +0100)] 
Document new system test output format after build system rewrite

Fixup to MR !985.

4 years agoFix command to run all unit tests in doc/dev/dev.md
Petr Špaček [Tue, 5 Jan 2021 12:46:16 +0000 (13:46 +0100)] 
Fix command to run all unit tests in doc/dev/dev.md

Fixup for build system rewrite 978c7b2e89aa37a7ddfe2f6b6ba12ce73dd04528,
MR !985.

4 years agoMerge branch 'artem-doth-test-fix-failure-after-reconfig' into 'main'
Artem Boldariev [Tue, 18 Jan 2022 12:43:42 +0000 (12:43 +0000)] 
Merge branch 'artem-doth-test-fix-failure-after-reconfig' into 'main'

doth test: fix failure after reconfig

See merge request isc-projects/bind9!5720

4 years agodoth test: fix failure after reconfig
Artem Boldariev [Fri, 14 Jan 2022 10:25:04 +0000 (12:25 +0200)] 
doth test: fix failure after reconfig

Sometimes the serving a query or two might fail in the test due to the
listeners not being reinitialised on time. This commit makes the test
suite to wait for reconfiguration message in the log file to detect
the time when the reconfiguration request completed.

4 years agoMerge branch '3099-reimplement-the-gnutls-cli-check-in-python' into 'main'
Michał Kępień [Tue, 18 Jan 2022 10:03:09 +0000 (10:03 +0000)] 
Merge branch '3099-reimplement-the-gnutls-cli-check-in-python' into 'main'

Reimplement the gnutls-cli check in Python

Closes #3099

See merge request isc-projects/bind9!5732

4 years agoReimplement the gnutls-cli check in Python
Michał Kępień [Tue, 18 Jan 2022 10:00:46 +0000 (11:00 +0100)] 
Reimplement the gnutls-cli check in Python

gnutls-cli is tricky to script around as it immediately closes the
server connection when its standard input is closed.  This prevents
simple shell-based I/O redirection from being used for capturing the DNS
response sent over a TLS connection and the workarounds for this issue
employ non-standard utilities like "timeout".

Instead of resorting to clever shell hacks, reimplement the relevant
check in Python.  Exit immediately upon receiving a valid DNS response
or when gnutls-cli exits in order to decrease the test's run time.
Employ dnspython to avoid the need for storing DNS queries in binary
files and to improve test readability.  Capture more diagnostic output
to facilitate troubleshooting.  Use a pytest fixture instead of an
Autoconf macro to keep test requirements localized.

4 years agoMerge branch '3093-restore-setting-IPV6_V6ONLY-on-IPv6-sockets' into 'main'
Ondřej Surý [Mon, 17 Jan 2022 22:55:20 +0000 (22:55 +0000)] 
Merge branch '3093-restore-setting-IPV6_V6ONLY-on-IPv6-sockets' into 'main'

Explicitly enable IPV6_V6ONLY on the netmgr sockets

Closes #3093

See merge request isc-projects/bind9!5714

4 years agoAdd CHANGES and release notes for [GL #3093]
Ondřej Surý [Thu, 13 Jan 2022 15:57:37 +0000 (16:57 +0100)] 
Add CHANGES and release notes for [GL #3093]

4 years agoRemove +mapped option from dig
Ondřej Surý [Thu, 13 Jan 2022 12:29:09 +0000 (13:29 +0100)] 
Remove +mapped option from dig

The network manager doesn't have support for IPv4-mapped IPv6 addresses,
thus we are removing the +mapped option from dig command.

4 years agoExplicitly enable IPV6_V6ONLY on the netmgr sockets
Ondřej Surý [Thu, 13 Jan 2022 12:24:55 +0000 (13:24 +0100)] 
Explicitly enable IPV6_V6ONLY on the netmgr sockets

Some operating systems (OpenBSD and DragonFly BSD) don't restrict the
IPv6 sockets to sending and receiving IPv6 packets only.  Explicitly
enable the IPV6_V6ONLY socket option on the IPv6 sockets to prevent
failures from using the IPv4-mapped IPv6 address.

4 years agoMerge branch '3101-use-ext-regex-to-check-for-http2-support-in-curl' into 'main'
Artem Boldariev [Mon, 17 Jan 2022 17:14:45 +0000 (17:14 +0000)] 
Merge branch '3101-use-ext-regex-to-check-for-http2-support-in-curl' into 'main'

doth test: use extended reg. expression to check for HTTP/2 support

Closes #3101

See merge request isc-projects/bind9!5733

4 years agodoth test: use extended reg. expression to check for HTTP/2 support
Artem Boldariev [Mon, 17 Jan 2022 14:32:10 +0000 (16:32 +0200)] 
doth test: use extended reg. expression to check for HTTP/2 support

Using extended regular expressions to check for HTTP/2 support in curl
appears to be a more portable option, which also works on
e.g. OpenBSD.

4 years agoMerge branch 'djt-update-cookie-secret-doc' into 'main'
Ondřej Surý [Mon, 17 Jan 2022 10:50:30 +0000 (10:50 +0000)] 
Merge branch 'djt-update-cookie-secret-doc' into 'main'

Update docs to reflect changes to acceptable cookie-secret values

See merge request isc-projects/bind9!5628

4 years agodocs: Update ARM to reflect changes to acceptable cookie-secret values
Dan Theisen [Fri, 7 Jan 2022 02:11:49 +0000 (18:11 -0800)] 
docs: Update ARM to reflect changes to acceptable cookie-secret values

4 years agoMerge branch '3093-missing-libuv-code' into 'main'
Ondřej Surý [Mon, 17 Jan 2022 10:46:35 +0000 (10:46 +0000)] 
Merge branch '3093-missing-libuv-code' into 'main'

add UV_ENOTSUP to isc___nm_uverr2result()

Closes #3093

See merge request isc-projects/bind9!5712