]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
3 years agofix overflow error in mem_putstats()
Evan Hunt [Mon, 8 Aug 2022 18:42:07 +0000 (11:42 -0700)] 
fix overflow error in mem_putstats()

an integer overflow could cause an assertion failure when
freeing memory.

3 years agoMerge branch 'mnowak/add-oracle-linux-9' into 'main'
Michal Nowak [Tue, 9 Aug 2022 14:43:29 +0000 (14:43 +0000)] 
Merge branch 'mnowak/add-oracle-linux-9' into 'main'

Add Oracle Linux 9

See merge request isc-projects/bind9!6581

3 years agokasp: stop using RSASHA1 unless necessary for the test
Mark Andrews [Wed, 22 Dec 2021 00:14:57 +0000 (11:14 +1100)] 
kasp: stop using RSASHA1 unless necessary for the test

Moves tests from being RSASHA1 based to RSASHA256 based where possible
and split out the remaining RSASHA1 based tests so that they are not
run on OS's that don't support RSASHA1.

3 years agokeymgr2kasp: use FIPS compliant algorithms and key sizes
Mark Andrews [Tue, 21 Dec 2021 23:34:16 +0000 (10:34 +1100)] 
keymgr2kasp: use FIPS compliant algorithms and key sizes

migrate-nomatch-alglen: switched to RSASHA256 instead of RSASHA1
and the key size now changes from 2048 bits to 3072 bits instead
of 1024 bits to 2048 bits.

migrate-nomatch-algnum: switched to RSASHA256 instead of RSASHA1
as initial algorithm and adjusted mininum key size to 2048 bits.

rsasha256: adjusted minimum key size to 2048 bits.

3 years agodnssec/signer/general: Replace RSASHA1 keys with RSASHA512 keys
Mark Andrews [Tue, 21 Dec 2021 06:57:23 +0000 (17:57 +1100)] 
dnssec/signer/general: Replace RSASHA1 keys with RSASHA512 keys

RSASHA1 is verify only in FIPS mode. Use RSASHA256 instead.

3 years agoCheck if RSASHA1 is supported by the OS
Mark Andrews [Wed, 20 Jul 2022 06:18:41 +0000 (16:18 +1000)] 
Check if RSASHA1 is supported by the OS

3 years agoautosign: use FIPS compatible algorithms and key sizes
Mark Andrews [Tue, 21 Dec 2021 09:16:47 +0000 (20:16 +1100)] 
autosign: use FIPS compatible algorithms and key sizes

The nsec-only.example zone was not converted as we use it to
test nsec-only DNSSEC algorithms to nsec3 conversion failure.
The subtest is skipped in fips mode.

Update "checking revoked key with duplicate key ID" test
to use FIPS compatible algorithm.

3 years agorsabigexponent: convert the test from RSASHA1 to RSASHA256
Mark Andrews [Thu, 21 Jul 2022 03:57:56 +0000 (13:57 +1000)] 
rsabigexponent: convert the test from RSASHA1 to RSASHA256

RSASHA1 is not supported on some platforms.

3 years agoAdd Oracle Linux 9
Michal Nowak [Thu, 14 Jul 2022 12:08:32 +0000 (14:08 +0200)] 
Add Oracle Linux 9

3 years agonotify: remove duplicate test number
Mark Andrews [Tue, 21 Dec 2021 00:38:03 +0000 (11:38 +1100)] 
notify: remove duplicate test number

3 years agomkeys: use $() instead of back quotes
Mark Andrews [Fri, 1 Apr 2022 05:19:01 +0000 (16:19 +1100)] 
mkeys: use $() instead of back quotes

3 years agoMerge branch '3467-dns_rdatalist_tordataset-can-not-fail' into 'main'
Arаm Sаrgsyаn [Tue, 9 Aug 2022 11:51:07 +0000 (11:51 +0000)] 
Merge branch '3467-dns_rdatalist_tordataset-can-not-fail' into 'main'

dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail

Closes #3467

See merge request isc-projects/bind9!6622

3 years agoAdd CHANGES note for [GL #3467]
Aram Sargsyan [Fri, 29 Jul 2022 12:47:02 +0000 (12:47 +0000)] 
Add CHANGES note for [GL #3467]

3 years agoUpdate "dns" unit test's test data .gitignore file
Aram Sargsyan [Fri, 29 Jul 2022 12:42:19 +0000 (12:42 +0000)] 
Update "dns" unit test's test data .gitignore file

Add master18.data to .gitignore.

3 years agodns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail
Aram Sargsyan [Fri, 29 Jul 2022 12:40:45 +0000 (12:40 +0000)] 
dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail

Clean up dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset()
functions by making them return void, because they cannot fail.

Clean up other functions that subsequently cannot fail.

3 years agoMerge branch '2982-servfail-servestale-duplicate-queries' into 'main'
Matthijs Mekking [Tue, 9 Aug 2022 07:33:07 +0000 (07:33 +0000)] 
Merge branch '2982-servfail-servestale-duplicate-queries' into 'main'

Don't enable serve-stale on duplicate queries

Closes #2982

See merge request isc-projects/bind9!6628

3 years agoAdd release note and change entry for #2982
Matthijs Mekking [Tue, 2 Aug 2022 12:46:30 +0000 (14:46 +0200)] 
Add release note and change entry for #2982

News worthy.

3 years agoDon't enable serve-stale on duplicate queries
Matthijs Mekking [Tue, 2 Aug 2022 12:21:40 +0000 (14:21 +0200)] 
Don't enable serve-stale on duplicate queries

When checking if we should enable serve-stale, add an early out case
when the result is an error signalling a duplicate query or a query
that would be dropped.

3 years agoMerge branch '3478-dig-lookup-reference-counting-bug' into 'main'
Arаm Sаrgsyаn [Mon, 8 Aug 2022 11:42:53 +0000 (11:42 +0000)] 
Merge branch '3478-dig-lookup-reference-counting-bug' into 'main'

DiG: fix lookup reference counting bug

Closes #3478

See merge request isc-projects/bind9!6635

3 years agoAdd CHANGES note for [GL #3478]
Aram Sargsyan [Thu, 4 Aug 2022 11:47:03 +0000 (11:47 +0000)] 
Add CHANGES note for [GL #3478]

3 years agoDiG: fix lookup reference counting bug
Aram Sargsyan [Wed, 3 Aug 2022 22:21:46 +0000 (22:21 +0000)] 
DiG: fix lookup reference counting bug

When DiG finishes its work with a lookup (due to success or error), it
calls the clear_current_lookup() function, which decreases the lookup's
reference count. That decrease action is the counterpart of the initial
creation of the reference counter, so this function was designed in such
a way that it should decrease the reference count only once, when there
are no more active queries in the lookup.

The way it checks whether there are any active queries is by looking
at the queries list of the lookup object - if it's NULL then there are
no active queries. But that is not always true - the cancel_lookup()
function, when canceling the queries one by one, also removes them
from the lookup's list, but in NSSEARCH mode, when the queries are
working in parallel, some of those queries can be still active. And
when their recv_done() callback gets called, it sees that the lookup
has been canceled, calls clear_current_lookup(), which decreases the
reference count every time for each query that was still active
(because ISC_LIST_HEAD(lookup->q) is NULL) and results in a reference
counting error.

Fix the issue by introducing a new "cleared" property for the lookup,
which will ensure that the clear_current_lookup() function does its
job only once per lookup.

3 years agoMerge branch '3479-mysql-is-not-ldap' into 'main'
Matthijs Mekking [Mon, 8 Aug 2022 07:45:23 +0000 (07:45 +0000)] 
Merge branch '3479-mysql-is-not-ldap' into 'main'

Fix mysql bindings

Closes #3479

See merge request isc-projects/bind9!6636

3 years agoFix mysql bindings
Matthijs Mekking [Fri, 5 Aug 2022 09:43:00 +0000 (11:43 +0200)] 
Fix mysql bindings

There was a copy paste error in the Makefile of the mysql dlz modules,
instead of setting the MYSQL_LIBS, LDAP_LIBS where set. This caused
the mysql bindings not to be generated.

3 years agoMerge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.5' into 'main'
Michał Kępień [Fri, 5 Aug 2022 06:40:34 +0000 (06:40 +0000)] 
Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.5' into 'main'

Set up version and release notes for BIND 9.19.5

See merge request isc-projects/bind9!6632

3 years agoSet up release notes for BIND 9.19.5
Michał Kępień [Fri, 5 Aug 2022 04:56:30 +0000 (06:56 +0200)] 
Set up release notes for BIND 9.19.5

3 years agoUpdate BIND version to 9.19.5-dev
Michał Kępień [Fri, 5 Aug 2022 04:56:30 +0000 (06:56 +0200)] 
Update BIND version to 9.19.5-dev

3 years agoUpdate BIND version for release v9.19.4
Michał Kępień [Thu, 4 Aug 2022 21:29:55 +0000 (23:29 +0200)] 
Update BIND version for release

3 years agoAdd a CHANGES marker
Michał Kępień [Thu, 4 Aug 2022 21:29:55 +0000 (23:29 +0200)] 
Add a CHANGES marker

3 years agoMerge branch 'michal/prepare-documentation-for-bind-9.19.4' into 'v9_19_4-release'
Michał Kępień [Thu, 4 Aug 2022 21:28:46 +0000 (21:28 +0000)] 
Merge branch 'michal/prepare-documentation-for-bind-9.19.4' into 'v9_19_4-release'

Prepare documentation for BIND 9.19.4

See merge request isc-private/bind9!418

3 years agoTweak and reword release notes
Michał Kępień [Thu, 4 Aug 2022 21:13:22 +0000 (23:13 +0200)] 
Tweak and reword release notes

3 years agoPrepare release notes for BIND 9.19.4
Michał Kępień [Thu, 4 Aug 2022 21:13:22 +0000 (23:13 +0200)] 
Prepare release notes for BIND 9.19.4

3 years agoFix option name in the release note for GL #3140
Michał Kępień [Thu, 4 Aug 2022 21:13:22 +0000 (23:13 +0200)] 
Fix option name in the release note for GL #3140

3 years agoMerge branch 'tls-fix-readpaused-usage' into 'main'
Artem Boldariev [Tue, 2 Aug 2022 14:26:14 +0000 (14:26 +0000)] 
Merge branch 'tls-fix-readpaused-usage' into 'main'

TLS: do not ignore readpaused flag in certain circumstances

See merge request isc-projects/bind9!6627

3 years agoTLS: do not ignore readpaused flag in certain circumstances
Artem Boldariev [Fri, 29 Jul 2022 16:33:25 +0000 (19:33 +0300)] 
TLS: do not ignore readpaused flag in certain circumstances

In some circumstances generic TLS code could have resumed data reading
unexpectedly on the TCP layer code. Due to this, the behaviour of
isc_nm_pauseread() and isc_nm_resumeread() might have been
unexpected. This commit fixes that.

The bug does not seems to have real consequences in the existing code
due to the way the code is used. However, the bug could have lead to
unexpected behaviour and, at any rate, makes the TLS code behave
differently from the TCP code, with which it attempts to be as
compatible as possible.

3 years agoMerge branch 'aram/fetches-per-zone-improve-log-message' into 'main'
Arаm Sаrgsyаn [Mon, 1 Aug 2022 15:21:10 +0000 (15:21 +0000)] 
Merge branch 'aram/fetches-per-zone-improve-log-message' into 'main'

Differentiate between initial and cumulative fetch limit logging

See merge request isc-projects/bind9!6607

3 years agoDifferentiate between initial and cumulative fetch limit logging
Aram Sargsyan [Fri, 22 Jul 2022 08:01:17 +0000 (08:01 +0000)] 
Differentiate between initial and cumulative fetch limit logging

Cumulative fetch limit logging happens on an event of a dropped
fetch if 60 seconds have been passed since the previous log message.
This change makes the log message different for the initial event
and for the later cumulative events to provide more useful information
to the system administrator.

3 years agoMerge branch '3461-fetches-per-zone-final-log-message' into 'main'
Arаm Sаrgsyаn [Mon, 1 Aug 2022 14:33:42 +0000 (14:33 +0000)] 
Merge branch '3461-fetches-per-zone-final-log-message' into 'main'

Resolve "Do a better job of logging when fetches-per-zone is triggered"

Closes #3461

See merge request isc-projects/bind9!6595

3 years agoAdd CHANGES and release notes for [GL #3461]
Aram Sargsyan [Tue, 19 Jul 2022 14:34:33 +0000 (14:34 +0000)] 
Add CHANGES and release notes for [GL #3461]

3 years agoImprove fetch limit logging
Aram Sargsyan [Tue, 19 Jul 2022 13:57:48 +0000 (13:57 +0000)] 
Improve fetch limit logging

When initially hitting the `fetches-per-zone` value, a log message
is being generated for the event of dropping the first fetch, then
any further log events occur only when another fetch is being dropped
and 60 seconds have been passed since the last logged message.

That logic isn't ideal because when the counter of the outstanding
fetches reaches zero, the structure holding the counters' values will
get deleted, and the information about the dropped fetches accumulated
during the last minute will not be logged.

Improve the fcount_logspill() function to makie sure that the final
values are getting logged before the counter object gets destroyed.

3 years agoMerge branch 'ron-tags-3' into 'main'
Petr Špaček [Fri, 29 Jul 2022 17:00:19 +0000 (17:00 +0000)] 
Merge branch 'ron-tags-3' into 'main'

Add tags and short descriptions to all configuration statements

See merge request isc-projects/bind9!6592

3 years agoAdd last missing tags, finishing touches
Petr Špaček [Fri, 29 Jul 2022 13:00:28 +0000 (15:00 +0200)] 
Add last missing tags, finishing touches

3 years agoAdd descriptions of each tag
Suzanne Goldlust [Tue, 19 Jul 2022 14:30:55 +0000 (14:30 +0000)] 
Add descriptions of each tag

3 years agoText edits to Statements and Statements by Tag sections
Suzanne Goldlust [Wed, 13 Jul 2022 19:34:59 +0000 (19:34 +0000)] 
Text edits to Statements and Statements by Tag sections

3 years agoReorder Statements and Statements by Tag sections
Suzanne Goldlust [Wed, 13 Jul 2022 19:28:33 +0000 (19:28 +0000)] 
Reorder Statements and Statements by Tag sections

3 years agoRephrase parental-agents description
Suzanne Goldlust [Wed, 13 Jul 2022 19:12:18 +0000 (19:12 +0000)] 
Rephrase parental-agents description

3 years agoAdd short description for plugin statement
Suzanne Goldlust [Wed, 13 Jul 2022 19:07:47 +0000 (19:07 +0000)] 
Add short description for plugin statement

3 years agoAdd tag and short description for dyndb statement
Suzanne Goldlust [Wed, 13 Jul 2022 19:04:18 +0000 (19:04 +0000)] 
Add tag and short description for dyndb statement

3 years agoAdd tags and short descriptions for dlz and search statements
Suzanne Goldlust [Wed, 13 Jul 2022 18:59:34 +0000 (18:59 +0000)] 
Add tags and short descriptions for dlz and search statements

3 years agoAdd tag and short description for catalog-zones statement
Suzanne Goldlust [Wed, 13 Jul 2022 18:51:37 +0000 (18:51 +0000)] 
Add tag and short description for catalog-zones statement

3 years agoAdd short descriptions and some tags to statements through line 1766
Suzanne Goldlust [Thu, 7 Jul 2022 21:18:16 +0000 (21:18 +0000)] 
Add short descriptions and some tags to statements through line 1766

3 years agoMerge branch '3471-dig-add-qid-into-usage-summary' into 'main'
Arаm Sаrgsyаn [Thu, 28 Jul 2022 10:16:24 +0000 (10:16 +0000)] 
Merge branch '3471-dig-add-qid-into-usage-summary' into 'main'

DiG: document +qid=<num> option in the usage summary

Closes #3471

See merge request isc-projects/bind9!6618

3 years agoDiG: document +qid=<num> option in the usage summary
Aram Sargsyan [Wed, 27 Jul 2022 15:48:01 +0000 (15:48 +0000)] 
DiG: document +qid=<num> option in the usage summary

The +qid=<num> option, which sets the outgoing query ID, was missing
from the usage summary printed using `dig -h` command.

3 years agoMerge branch 'marka-set-suffix-in-ans.py' into 'main'
Mark Andrews [Wed, 27 Jul 2022 16:24:02 +0000 (16:24 +0000)] 
Merge branch 'marka-set-suffix-in-ans.py' into 'main'

Ensure suffix is always valid in bin/tests/system/qmin/ans4/ans.py (CID 350722)

See merge request isc-projects/bind9!6593

3 years agoEnsure suffix is always valid in bin/tests/system/qmin/ans4/ans.py
Mark Andrews [Mon, 18 Jul 2022 23:57:47 +0000 (09:57 +1000)] 
Ensure suffix is always valid in bin/tests/system/qmin/ans4/ans.py

initalise suffix to ""

    170        r.answer.append(
    171            dns.rrset.from_text(
    172                lqname + suffix, 1, IN, NS, "a.bit.longer.ns.name." + suffix
    173            )
    174        )
    175        r.flags |= dns.flags.AA
           15. Condition endswith(lqname, "icky.ptang.zoop.boing."), taking true branch.
    176    elif endswith(lqname, "icky.ptang.zoop.boing."):
           CID 350722 (#7 of 7): Bad use of null-like value (FORWARD_NULL)
           16. invalid_operation: Invalid operation on null-like value suffix.
    177        r.authority.append(
    178            dns.rrset.from_text(
    179                "icky.ptang.zoop.boing." + suffix,
    180                1,
    181                IN,
    182                SOA,
    183                "ns2." + suffix + " hostmaster.arpa. 2018050100 1 1 1 1",
    184            )
    185        )

3 years agoMerge branch 'artem-tls-streamdns-fixes-part2' into 'main'
Artem Boldariev [Tue, 26 Jul 2022 12:08:48 +0000 (12:08 +0000)] 
Merge branch 'artem-tls-streamdns-fixes-part2' into 'main'

TLS-related fixes from Stream DNS and Loop Manager branches

See merge request isc-projects/bind9!6616

3 years agoTLS: fix double resumption in isc__nm_tls_resumeread()
Artem Boldariev [Fri, 15 Jul 2022 17:38:52 +0000 (20:38 +0300)] 
TLS: fix double resumption in isc__nm_tls_resumeread()

This commit fixes an obvious error in isc__nm_tls_resumeread() so that
read cannot be resumed twice.

3 years agoTLS: clear 'errno' when handling SSL status
Artem Boldariev [Thu, 14 Jul 2022 20:33:26 +0000 (23:33 +0300)] 
TLS: clear 'errno' when handling SSL status

Sometimes tls_do_bio() might be called when there is no new data to
process (most notably, when resuming reads), in such a case internal
TLS session state will remain untouched and old value in 'errno' will
alter the result of SSL_get_error() call, possibly making it to return
SSL_ERROR_SYSCALL. This value will be treated as an error, and will
lead to closing the connection, which is not what expected.

3 years agoMerge branch '3469-auto-disable-rsasha1-and-nsec3rsasha1-when-not-supported-by-the...
Mark Andrews [Mon, 25 Jul 2022 14:57:48 +0000 (14:57 +0000)] 
Merge branch '3469-auto-disable-rsasha1-and-nsec3rsasha1-when-not-supported-by-the-os' into 'main'

Resolve "Auto disable RSASHA1 and NSEC3RSASHA1 when not supported by the OS"

Closes #3469

See merge request isc-projects/bind9!6606

3 years agoAdd release note for [GL #3469]
Mark Andrews [Thu, 21 Jul 2022 23:13:09 +0000 (09:13 +1000)] 
Add release note for [GL #3469]

3 years agoCHANGES note for [GL #3469]
Mark Andrews [Thu, 21 Jul 2022 23:05:31 +0000 (09:05 +1000)] 
CHANGES note for [GL #3469]

3 years agoCheck that we can verify a signature at initialisation time
Mark Andrews [Tue, 22 Mar 2022 05:16:57 +0000 (16:16 +1100)] 
Check that we can verify a signature at initialisation time

Fedora 33 doesn't support RSASHA1 in future mode.  There is no easy
check for this other than by attempting to perform a verification
using known good signatures.  We don't attempt to sign with RSASHA1
as that would not work in FIPS mode.  RSASHA1 is verify only.

The test vectors were generated using OpenSSL 3.0 and
util/gen-rsa-sha-vectors.c.  Rerunning will generate a new set of
test vectors as the private key is not preserved.

e.g.
cc util/gen-rsa-sha-vectors.c -I /opt/local/include \
-L /opt/local/lib -lcrypto

3 years agoMerge branch '3462-rndc-dumpdb-expired-doesnt-always-work' into 'main'
Matthijs Mekking [Mon, 25 Jul 2022 14:27:08 +0000 (14:27 +0000)] 
Merge branch '3462-rndc-dumpdb-expired-doesnt-always-work' into 'main'

Fix rndc dumpdb -expired for stuck cache contents

Closes #3462

See merge request isc-projects/bind9!6596

3 years agoAdd change entry and release note for #3462
Matthijs Mekking [Wed, 20 Jul 2022 09:33:32 +0000 (11:33 +0200)] 
Add change entry and release note for #3462

News worthy.

3 years agoFix rndc dumpdb -expired for stuck cache contents
Matthijs Mekking [Wed, 20 Jul 2022 09:22:01 +0000 (11:22 +0200)] 
Fix rndc dumpdb -expired for stuck cache contents

The command 'rndc dumpdb -expired' will include expired RRsets in the
output, but only for the RBTDB_VIRTUAL time (of 5 minutes). This means
that if there is a cache cleaning problem and contents are not cleaned
up, the rndc command has little diagnostic value. Fix this by including
all RRsets in the dumpdb output if the '-expired' flag is set.

3 years agoMerge branch '3419-dig-nssearch-query-failure-robustness' into 'main'
Arаm Sаrgsyаn [Fri, 22 Jul 2022 10:11:14 +0000 (10:11 +0000)] 
Merge branch '3419-dig-nssearch-query-failure-robustness' into 'main'

Fix DiG query error handling robustness in NSSEARCH mode

Closes #3419

See merge request isc-projects/bind9!6484

3 years agoAdd CHANGES note for [GL #3419]
Aram Sargsyan [Thu, 23 Jun 2022 11:19:24 +0000 (11:19 +0000)] 
Add CHANGES note for [GL #3419]

3 years agodig +nssearch: send more queries even if setting up one of them fails
Aram Sargsyan [Wed, 22 Jun 2022 14:52:26 +0000 (14:52 +0000)] 
dig +nssearch: send more queries even if setting up one of them fails

In the NSSEARCH followup lookup, when one of the queries fails to be
set up (UDP) or connected (TCP), DiG doesn't start the next query.
This is a mistake, because in NSSEARCH mode the queries are independent
and DiG shouldn't stop the lookup process just because setting up (or
connecting to) one of the name servers returns an error code in the
`udp_ready()` or `tcp_connected()` callbacks.

Write a new `nssearch_next()` function which takes care of starting the
next query in NSSEARCH mode, so it can be used in several places without
code repetition.

Make sure that the `udp_ready()` and `tcp_connected()` functions call
`nssearch_next()` in case they won't be calling `send_udp()` and
`send_tcp()` respectively, because in that case the `send_done()`
callback, which usually does the job, won't be called.

Refactor `send_done()` to use the newly written `nssearch_next()`
function.

3 years agodig +nssearch: send more queries even if sending the previous one fails
Aram Sargsyan [Tue, 21 Jun 2022 11:54:50 +0000 (11:54 +0000)] 
dig +nssearch: send more queries even if sending the previous one fails

In the NSSEARCH followup lookup, when one of the queries fails to be
sent, DiG doesn't start the next query. This is a mistake, because in
NSSEARCH mode the queries are independent and DiG shouldn't stop the
lookup process just because sending a query to one of the name servers
returns an error code.

Restructure the `send_done()` function to unconditionally send the next
query in NSSEARCH mode, if it exists.

3 years agoMerge branch '3407-dighost-udp-fail-over-other-nameservers' into 'main'
Arаm Sаrgsyаn [Fri, 22 Jul 2022 09:20:35 +0000 (09:20 +0000)] 
Merge branch '3407-dighost-udp-fail-over-other-nameservers' into 'main'

Fix DiG query retry and fail-over issues

Closes #3407

See merge request isc-projects/bind9!6462

3 years agoSuppress warning/error comments in dig outputs for "rrsetorder" test
Aram Sargsyan [Thu, 23 Jun 2022 16:24:29 +0000 (16:24 +0000)] 
Suppress warning/error comments in dig outputs for "rrsetorder" test

In the CI dig sometimes produces warning/error comments when
communicating with the server, which produces problems when comparing
the outputs.

Here is an example of a dig output with a warning message which
is benign, because dig, after a retry, managed to query the server.

;; communications error to 10.53.0.3#7529: timed out
1.2.3.1
1.2.3.2
1.2.3.3
1.2.3.4

When comparing this to the expected output, which doesn't contain
the comment line (starting with double ';'), the outputs don't match.

Use grep inverse logic to strip the comments from the dig outputs.

3 years agoAdd CHANGES note for [GL #3407]
Aram Sargsyan [Mon, 20 Jun 2022 12:32:45 +0000 (12:32 +0000)] 
Add CHANGES note for [GL #3407]

3 years agoAdd "digdelv" test to simulate DiG network unreachable error
Aram Sargsyan [Mon, 20 Jun 2022 12:13:44 +0000 (12:13 +0000)] 
Add "digdelv" test to simulate DiG network unreachable error

There are existing tests for simulating timeouts, read errors, and
refused connecion errors. Implement also "network unreachable"
simulation.

Use "fixed" string search mode `-F` for `grep` in more places where
it is appropriate to do so.

3 years agoDiG: use the same retry and fail-over logic for different failure types
Aram Sargsyan [Wed, 15 Jun 2022 13:41:10 +0000 (13:41 +0000)] 
DiG: use the same retry and fail-over logic for different failure types

DiG implements different logic in the `recv_done()` callback function
when processing a failure:

1. For a timed-out query it applies the "retries" logic first, then,
   when it fails, fail-overs to the next server.

2. For an EOF (end-of-file, or unexpected disconnect) error it tries to
   make a single retry attempt (even if the user has requested more
   retries), then, when it fails, fail-overs to the next server.

3. For other types of failures, DiG does not apply the "retries" logic,
   and tries to fail-over to the next servers (again, even if the user
   has requested to make retries).

Simplify the logic and apply the same logic (1) of first retries, and
then fail-over, for different types of failures in `recv_done()`.

3 years agoFix DiG query retry and fail-over bug
Aram Sargsyan [Wed, 15 Jun 2022 12:58:00 +0000 (12:58 +0000)] 
Fix DiG query retry and fail-over bug

When the `send_done()` callback function gets called with a failure
result code, DiG erroneously cancels the lookup.

Stop canceling the lookup and give DiG a chance to retry the failed
query, or fail-over to another server, using the logic implemented in
the `recv_done()` callback function.

3 years agoFix DiG UDP query retry and fail-over bug
Aram Sargsyan [Wed, 15 Jun 2022 12:57:14 +0000 (12:57 +0000)] 
Fix DiG UDP query retry and fail-over bug

When the `udp_ready()` callback function gets called with a failure
result code, DiG erroneously cancels the lookup.

Copy the logic behind `tcp_connected()` callback function into
`udp_ready()` so that DiG will now retry the failed query (if retries
are enabled) and then, if it fails again, it will fail-over to the next
server in the list, which synchronizes the behavior between TCP and UDP
modes.

Also, `udp_ready()` was calling `lookup_detach()` without calling
`lookup_attach()` first, but the issue was masked behind the fact
that `clear_current_lookup()` wasn't being called when needed, and
`lookup_detach()` was compensating for that. This also has been fixed.

3 years agoMerge branch 'pspacek/arm-zombie-support' into 'main'
Petr Špaček [Thu, 21 Jul 2022 13:25:51 +0000 (13:25 +0000)] 
Merge branch 'pspacek/arm-zombie-support' into 'main'

Support ancient build tools for the ARM

See merge request isc-projects/bind9!6598

3 years agoSupport Sphinx 1.6.7
Petr Špaček [Wed, 20 Jul 2022 16:44:48 +0000 (18:44 +0200)] 
Support Sphinx 1.6.7

Luckily we don't rely on SphinxDirective functionality which does not
exist in 1.6.7. Replace it with docutils Directive.

transform_content() callback was added only in Sphinx 3.0.0.
Detect if it was not called and call it manually.
The transform_content() function requires access to inner "contentnode"
which is created inside run(). This workaround relies on the order of
node as it was in the pre-3.0.0 versions, but it should not matter as
new versions will not trigger the workaround.

3 years agoSupport docutils 0.14+dfsg-4
Petr Špaček [Wed, 20 Jul 2022 15:57:17 +0000 (17:57 +0200)] 
Support docutils 0.14+dfsg-4

Ancient versions of docutils cannot cope with bare text inside a table
cell. Wrap text in a paragraph to work around that.

3 years agoMerge branch 'pspacek/minor-arm-tweaks-and-fixes' into 'main'
Petr Špaček [Thu, 21 Jul 2022 13:18:06 +0000 (13:18 +0000)] 
Merge branch 'pspacek/minor-arm-tweaks-and-fixes' into 'main'

Fix dnssec-signzone examples in DNSSEC Guide

See merge request isc-projects/bind9!6589

3 years agoAvoid opt-out flag in dnssec-signzone examples
Petr Špaček [Mon, 18 Jul 2022 11:23:47 +0000 (13:23 +0200)] 
Avoid opt-out flag in dnssec-signzone examples

Since !6413 we discourage opt-out, so we should not be advertising it in
the examples. Even worse, it was just thrown into the command line
without even mentioning its meaning in the surrounding text.

Related: !6413

3 years agoRemove errorneous shell output redirection from dnssec-signzone example
Petr Špaček [Mon, 18 Jul 2022 11:17:49 +0000 (13:17 +0200)] 
Remove errorneous shell output redirection from dnssec-signzone example

The > looked like shell output redirection. It was present since we
imported DNSSEC Guide into the ARM.

3 years agoMerge tag 'v9_19_3'
Michal Nowak [Thu, 21 Jul 2022 09:48:25 +0000 (11:48 +0200)] 
Merge tag 'v9_19_3'

BIND 9.19.3

3 years agoMerge branch '2918-deprecate-max-zone-ttl' into 'main'
Evan Hunt [Wed, 20 Jul 2022 19:24:18 +0000 (19:24 +0000)] 
Merge branch '2918-deprecate-max-zone-ttl' into 'main'

mark max-zone-ttl deprecated in options and zone

Closes #2918

See merge request isc-projects/bind9!6542

3 years agoCHANGES and release note for [GL #2918]
Evan Hunt [Mon, 11 Jul 2022 20:48:21 +0000 (13:48 -0700)] 
CHANGES and release note for [GL #2918]

3 years agoForbid zones with both dnssec-policy and max-zone-ttl
Evan Hunt [Tue, 19 Jul 2022 19:13:42 +0000 (12:13 -0700)] 
Forbid zones with both dnssec-policy and max-zone-ttl

Since max-zone-ttl in zone/view/options is a no-op if dnssec-policy
is in use, let's make that a fatal error.

3 years agoReject zones with TTL higher than dnssec-policy max-zone-ttl
Matthijs Mekking [Wed, 13 Jul 2022 08:28:59 +0000 (10:28 +0200)] 
Reject zones with TTL higher than dnssec-policy max-zone-ttl

Reject loading of zones with TTL higher than the max-zone-ttl
from the dnssec-policy.

With this change, any zone with a dnssec-policy in use will ignore
the max-zone-ttl option in zone/view/options.

3 years agoTest dnssec-policy max-zone-ttl rejects zone with too high TTL
Matthijs Mekking [Wed, 13 Jul 2022 08:27:18 +0000 (10:27 +0200)] 
Test dnssec-policy max-zone-ttl rejects zone with too high TTL

Similar to the 'max-zone-ttl' zone option, the 'dnssec-policy' option
should reject zones with TTLs that are out of range.

3 years agomark max-zone-ttl deprecated in options and zone
Evan Hunt [Mon, 11 Jul 2022 20:38:51 +0000 (13:38 -0700)] 
mark max-zone-ttl deprecated in options and zone

The "max-zone-ttl" option should now be configured as part of
"dnssec-policy". The option with the same name in "zone" and
"options" is hereby flagged as deprecated, and its functionality
will be removed in a future release.

3 years agoMerge branch 'marka-placeholder' into 'main'
Mark Andrews [Tue, 19 Jul 2022 02:45:11 +0000 (02:45 +0000)] 
Merge branch 'marka-placeholder' into 'main'

Add placeholder for [GL #3460]

See merge request isc-projects/bind9!6594

3 years agoAdd placeholder for [GL #3460]
Mark Andrews [Tue, 19 Jul 2022 02:39:29 +0000 (12:39 +1000)] 
Add placeholder for [GL #3460]

3 years agoMerge branch 'ron-server' into 'main'
Petr Špaček [Mon, 18 Jul 2022 16:26:16 +0000 (16:26 +0000)] 
Merge branch 'ron-server' into 'main'

ARM tagging: logging, server, view, zone

See merge request isc-projects/bind9!6535

3 years agoDocument qname-minimization off equals disabled
Greg Choules [Tue, 12 Jul 2022 13:34:43 +0000 (13:34 +0000)] 
Document qname-minimization off equals disabled

3 years agoFix http block short description
Suzanne Goldlust [Fri, 8 Jul 2022 16:09:11 +0000 (16:09 +0000)] 
Fix http block short description

3 years agoAdd headings for server, logging, zone, and view statements
Suzanne Goldlust [Thu, 7 Jul 2022 14:25:42 +0000 (14:25 +0000)] 
Add headings for server, logging, zone, and view statements

3 years agoAdd tags/short descriptions for the "view" category
Suzanne Goldlust [Wed, 6 Jul 2022 18:15:54 +0000 (18:15 +0000)] 
Add tags/short descriptions for the "view" category

3 years agoAdd tags/short descriptions for "zone" category
Suzanne Goldlust [Wed, 6 Jul 2022 16:57:05 +0000 (16:57 +0000)] 
Add tags/short descriptions for "zone" category

3 years agoAdd tags/short descriptions for "logging" category
Suzanne Goldlust [Wed, 6 Jul 2022 15:54:08 +0000 (15:54 +0000)] 
Add tags/short descriptions for "logging" category

3 years agoAdd tags and short descriptions for tag "server"
Suzanne Goldlust [Tue, 5 Jul 2022 20:20:08 +0000 (20:20 +0000)] 
Add tags and short descriptions for tag "server"

3 years agoMerge branch 'michal/run-a-short-respdiff-test-for-all-merge-requests' into 'main'
Michał Kępień [Mon, 18 Jul 2022 13:16:01 +0000 (13:16 +0000)] 
Merge branch 'michal/run-a-short-respdiff-test-for-all-merge-requests' into 'main'

Run a short respdiff test for all merge requests

See merge request isc-projects/bind9!6585

3 years agoRun a short respdiff test for all merge requests
Michał Kępień [Mon, 18 Jul 2022 12:39:02 +0000 (14:39 +0200)] 
Run a short respdiff test for all merge requests

Now that the respdiff tests can detect memory leaks, it is worth running
them for every merge request.  However, the existing respdiff-based
tests take a while to complete (about half an hour with our current CI
infrastructure), which does not make them a good fit for this purpose.
Add a new GitLab CI job, "respdiff-short", which uses a smaller query
set that gets processed within a couple of minutes on our current CI
infrastructure.  Rename the existing respdiff-based jobs to make
distinguishing them easier.