]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
3 years agoMerge branch '3729-drop-RHEL-7-and-clones-support' into 'main'
Ondřej Surý [Wed, 8 Feb 2023 20:34:01 +0000 (20:34 +0000)] 
Merge branch '3729-drop-RHEL-7-and-clones-support' into 'main'

Drop RHEL / CentOS / Oracle Linux 7 support

Closes #3729

See merge request isc-projects/bind9!7346

3 years agoAdd CHANGES and release notes for [GL #3729]
Ondřej Surý [Tue, 10 Jan 2023 11:44:59 +0000 (12:44 +0100)] 
Add CHANGES and release notes for [GL #3729]

3 years agoRequire C11 Atomic Operations via <stdatomic.h>
Ondřej Surý [Tue, 10 Jan 2023 12:06:13 +0000 (13:06 +0100)] 
Require C11 Atomic Operations via <stdatomic.h>

Make the C11 Atomic Operations mandatory and drop the Gcc __atomic
builtin shims.

3 years agoRequire C11 thread_local keyword and <threads.h> header
Ondřej Surý [Tue, 10 Jan 2023 11:48:03 +0000 (12:48 +0100)] 
Require C11 thread_local keyword and <threads.h> header

Change the autoconf check to require C11 <threads.h> header and
thread_local keyword.

3 years agoDrop RHEL / CentOS / Oracle Linux 7 support
Ondřej Surý [Tue, 10 Jan 2023 10:47:44 +0000 (11:47 +0100)] 
Drop RHEL / CentOS / Oracle Linux 7 support

The RHEL (and clones) 7 will reach EOL in June 2024, shortly after BIND
9.20 will be released.  Drop the support for building on those
platforms, so we can use features of modern operating systems - newer
compiler that supports at least subset of C23 and OpenSSL 1.1/3.0.

This will simplify some of the code that we are using in BIND 9.

3 years agoMerge branch '3113-clientinfo-refactor' into 'main'
Evan Hunt [Wed, 8 Feb 2023 08:10:20 +0000 (08:10 +0000)] 
Merge branch '3113-clientinfo-refactor' into 'main'

refactor dns_clientinfo_init(); use separate function to set ECS

Closes #3113

See merge request isc-projects/bind9!5782

3 years agorefactor dns_clientinfo_init(); use separate function to set ECS
Evan Hunt [Mon, 31 Jan 2022 20:10:29 +0000 (12:10 -0800)] 
refactor dns_clientinfo_init(); use separate function to set ECS

Instead of using an extra rarely-used paramater to dns_clientinfo_init()
to set ECS information for a client, this commit adds a function
dns_clientinfo_setecs() which can be called only when ECS is needed.

3 years agoMerge branch '3846-nsupdate-test-fix' into 'main'
Evan Hunt [Wed, 8 Feb 2023 07:40:35 +0000 (07:40 +0000)] 
Merge branch '3846-nsupdate-test-fix' into 'main'

increase simultaneous updates for quota test

Closes #3846

See merge request isc-projects/bind9!7500

3 years agoincrease simultaneous updates for quota test
Evan Hunt [Tue, 7 Feb 2023 19:05:13 +0000 (11:05 -0800)] 
increase simultaneous updates for quota test

the nsupdate system test was intermittently failing due to the update
quota not being exceeded when it should have been.  this is most likely
a timing issue: the client is sending updates too slowly, or the server
is processing them too quickly, for the quota to fill. this commit
attempts to make that the failure less likely by increasing the number
of update transactions from 10 to 20.

3 years agoMerge branch '854-spurious-keytype-warning' into 'main'
Evan Hunt [Wed, 8 Feb 2023 07:29:46 +0000 (07:29 +0000)] 
Merge branch '854-spurious-keytype-warning' into 'main'

silence a spurious warning during key generation

Closes #854

See merge request isc-projects/bind9!7501

3 years agosilence a spurious warning during key generation
Evan Hunt [Tue, 7 Feb 2023 20:37:25 +0000 (12:37 -0800)] 
silence a spurious warning during key generation

when generating a key, if a DH key already existed for the same
name, a spurious warning message was generated saying "bad key
type". this is fixed.

3 years agoMerge branch '3852-follow-up-from-9-18-merge-branch-3790-use-configured-udp-port...
Mark Andrews [Tue, 7 Feb 2023 13:40:22 +0000 (13:40 +0000)] 
Merge branch '3852-follow-up-from-9-18-merge-branch-3790-use-configured-udp-port-into-main' into 'main'

Resolve "Wait longer for rndc reconfig effects to complete"

Closes #3852

See merge request isc-projects/bind9!7493

3 years agoAllow some time to the root trust anchor to appear
Mark Andrews [Tue, 7 Feb 2023 01:08:31 +0000 (12:08 +1100)] 
Allow some time to the root trust anchor to appear

Following deleting the root trust anchor and reconfiguring the
server it takes some time to for trust anchor to appear in 'rndc
managed-keys status' output.  Retry several times.

3 years agoMerge branch '3836-missing-ossl_store_info_free-calls-in-dst__openssl_fromlabel_provi...
Mark Andrews [Tue, 7 Feb 2023 12:59:06 +0000 (12:59 +0000)] 
Merge branch '3836-missing-ossl_store_info_free-calls-in-dst__openssl_fromlabel_provider-on-error-path' into 'main'

Resolve "Missing OSSL_STORE_INFO_free calls in dst__openssl_fromlabel_provider on error path"

Closes #3836

See merge request isc-projects/bind9!7456

3 years agoCall OSSL_STORE_INFO_free on error path
Mark Andrews [Mon, 30 Jan 2023 13:57:57 +0000 (00:57 +1100)] 
Call OSSL_STORE_INFO_free on error path

3 years agoMerge branch '3839-fix-resume_dslookup-bug' into 'main'
Arаm Sаrgsyаn [Tue, 7 Feb 2023 12:22:31 +0000 (12:22 +0000)] 
Merge branch '3839-fix-resume_dslookup-bug' into 'main'

Fix a bug in resolver's resume_dslookup() function

Closes #3839

See merge request isc-projects/bind9!7476

3 years agocheck that delv handles REFUSED when chasing DS records
Mark Andrews [Tue, 7 Feb 2023 04:05:39 +0000 (15:05 +1100)] 
check that delv handles REFUSED when chasing DS records

3 years agoAdd a CHANGES note for [GL #3839]
Aram Sargsyan [Wed, 1 Feb 2023 14:49:49 +0000 (14:49 +0000)] 
Add a CHANGES note for [GL #3839]

3 years agoFix a bug in resolver's resume_dslookup() function
Aram Sargsyan [Wed, 1 Feb 2023 14:41:58 +0000 (14:41 +0000)] 
Fix a bug in resolver's resume_dslookup() function

A recent refactoring in 7e4e125e5ea5b29c946ce4646461d06a75cd8702
had introduced a logical error which could result in calling the
dns_resolver_createfetch() function with 'nameservers' pointer set
to NULL, but with 'domain' not set to NULL, which is not allowed
by the function.

Make sure 'domain' is set only when 'nsrdataset' is valid.

3 years agoMerge branch 'mnowak/set-up-version-and-release-notes-for-bind-9.19.11' into 'main'
Michal Nowak [Tue, 7 Feb 2023 10:03:17 +0000 (10:03 +0000)] 
Merge branch 'mnowak/set-up-version-and-release-notes-for-bind-9.19.11' into 'main'

Set up version and release notes for bind 9.19.11

See merge request isc-projects/bind9!7495

3 years agoSet up release notes for BIND 9.19.11
Michal Nowak [Tue, 7 Feb 2023 09:25:44 +0000 (10:25 +0100)] 
Set up release notes for BIND 9.19.11

3 years agoUpdate BIND version to 9.19.11-dev
Michal Nowak [Tue, 7 Feb 2023 09:22:26 +0000 (10:22 +0100)] 
Update BIND version to 9.19.11-dev

3 years agoMerge branch '3838-named-rrchecker-should-cleanup-when-it-detects-an-error' into...
Mark Andrews [Tue, 7 Feb 2023 00:00:54 +0000 (00:00 +0000)] 
Merge branch '3838-named-rrchecker-should-cleanup-when-it-detects-an-error' into 'main'

Resolve "named-rrchecker should cleanup when it detects an error"

Closes #3838

See merge request isc-projects/bind9!7473

3 years agonamed-rrchecker: have fatal cleanup
Mark Andrews [Mon, 30 Jan 2023 07:06:57 +0000 (18:06 +1100)] 
named-rrchecker: have fatal cleanup

It is trivial to fully cleanup memory on all the error paths in
named-rrchecker, many of which are triggered by bad user input.
This involves freeing lex and mctx if they exist when fatal is
called.

3 years agoMerge branch '3790-use-configured-udp-port' into 'main'
Evan Hunt [Mon, 6 Feb 2023 23:28:13 +0000 (23:28 +0000)] 
Merge branch '3790-use-configured-udp-port' into 'main'

use configured source ports for UDP requests

Closes #3790

See merge request isc-projects/bind9!7479

3 years agoCHANGES for [GL #3790]
Evan Hunt [Thu, 2 Feb 2023 20:22:27 +0000 (12:22 -0800)] 
CHANGES for [GL #3790]

3 years agoadd source port configuration tests
Evan Hunt [Thu, 2 Feb 2023 21:35:32 +0000 (13:35 -0800)] 
add source port configuration tests

check in the log files of receiving servers that the originating
ports for notify and SOA query messages were set correctly from
configured notify-source and transfer-source options.

3 years agouse configured source ports for UDP requests
Evan Hunt [Thu, 2 Feb 2023 20:16:49 +0000 (12:16 -0800)] 
use configured source ports for UDP requests

the optional 'port' option, when used with notify-source,
transfer-source, etc, is used to set up UDP dispatches with a
particular source port, but when the actual UDP connection was
established the port would be overridden with a random one. this
has been fixed.

(configuring source ports is deprecated in 9.20 and slated for
removal in 9.22, but should still work correctly until then.)

3 years agoMerge branch 'each-remove-bindkeys' into 'main'
Evan Hunt [Mon, 6 Feb 2023 23:03:08 +0000 (23:03 +0000)] 
Merge branch 'each-remove-bindkeys' into 'main'

remove /etc/bind.keys

Closes #3850

See merge request isc-projects/bind9!7484

3 years agoCHANGES for [GL #3850]
Evan Hunt [Mon, 6 Feb 2023 22:39:43 +0000 (14:39 -0800)] 
CHANGES for [GL #3850]

3 years agoremove /etc/bind.keys
Evan Hunt [Fri, 3 Feb 2023 22:57:17 +0000 (14:57 -0800)] 
remove /etc/bind.keys

the built-in trust anchors in named and delv are sufficent for
validation. named still needs to be able to load trust anchors from
a bind.keys file for testing purposes, but it doesn't need to be
the default behavior.

we now only load trust anchors from a file if explicitly specified
via the "bindkeys-file" option in named or the "-a" command line
argument to delv. documentation has been cleaned up to remove references
to /etc/bind.keys.

Closes #3850.

3 years agoMerge branch '3673-delay-trust-anchor-management' into 'main'
Evan Hunt [Mon, 6 Feb 2023 22:12:32 +0000 (22:12 +0000)] 
Merge branch '3673-delay-trust-anchor-management' into 'main'

delay trust anchor management until zones are loaded

Closes #3673

See merge request isc-projects/bind9!7441

3 years agodelay trust anchor management until zones are loaded
Evan Hunt [Fri, 27 Jan 2023 22:43:11 +0000 (14:43 -0800)] 
delay trust anchor management until zones are loaded

it was possible for a managed trust anchor needing to send a key
refresh query to be unable to do so because an authoritative zone
was not yet loaded. this has been corrected by delaying the
synchronization of managed-keys zones until after all zones are
loaded.

3 years agoMerge branch 'fanf-unused-fromwire-downcase' into 'main'
Tony Finch [Mon, 6 Feb 2023 14:20:42 +0000 (14:20 +0000)] 
Merge branch 'fanf-unused-fromwire-downcase' into 'main'

Remove unused support for fromwire(DNS_NAME_DOWNCASE)

See merge request isc-projects/bind9!7467

3 years agoRemove unused support for fromwire(DNS_NAME_DOWNCASE)
Tony Finch [Wed, 9 Nov 2022 17:10:59 +0000 (17:10 +0000)] 
Remove unused support for fromwire(DNS_NAME_DOWNCASE)

Most of this change is fixing dns_rdata_fromwire() so
it does not propagate the unused options variable.

3 years agoMerge branch 'fanf-bitstring-cleanup' into 'main'
Tony Finch [Mon, 6 Feb 2023 13:23:46 +0000 (13:23 +0000)] 
Merge branch 'fanf-bitstring-cleanup' into 'main'

Remove some remnants of bitstring labels

See merge request isc-projects/bind9!7196

3 years agoRemove some remnants of bitstring labels
Tony Finch [Wed, 7 Dec 2022 19:58:40 +0000 (19:58 +0000)] 
Remove some remnants of bitstring labels

* rbt node chains were sized to allow for bitstring labels, so they
  had 256 levels; but in the absence of bistrings, 128 is enough.

* dns_byaddr_createptrname() had a redundant options argument,
  and a very outdated doc comment.

* A number of comments referred to bitstring labels in a way that is
  no longer helpful. (A few informative comments remain.)

3 years agoMerge branch 'fanf-named-compilezone-stray-backtick' into 'main'
Tony Finch [Mon, 6 Feb 2023 12:31:08 +0000 (12:31 +0000)] 
Merge branch 'fanf-named-compilezone-stray-backtick' into 'main'

Fix the reference to RFC 1035 in named-compilezone(1)

See merge request isc-projects/bind9!7485

3 years agoFix the reference to RFC 1035 in named-compilezone(1)
Tony Finch [Sun, 5 Feb 2023 20:04:02 +0000 (20:04 +0000)] 
Fix the reference to RFC 1035 in named-compilezone(1)

There was a stray backquote

3 years agoMerge branch 'fanf-time-monotonic' into 'main'
Tony Finch [Mon, 6 Feb 2023 12:23:14 +0000 (12:23 +0000)] 
Merge branch 'fanf-time-monotonic' into 'main'

Add isc_time_monotonic()

See merge request isc-projects/bind9!7486

3 years agoAdd isc_time_monotonic()
Tony Finch [Tue, 17 Jan 2023 16:05:01 +0000 (16:05 +0000)] 
Add isc_time_monotonic()

This is to simplify measurements of how long things take.

3 years agoMerge branch '3845-mem-zero-non-zero' into 'main'
Tony Finch [Mon, 6 Feb 2023 12:09:28 +0000 (12:09 +0000)] 
Merge branch '3845-mem-zero-non-zero' into 'main'

Fix ISC_MEM_ZERO on allocators with malloc_usable_size()

Closes #3845

See merge request isc-projects/bind9!7481

3 years agoFix ISC_MEM_ZERO on allocators with malloc_usable_size()
Tony Finch [Fri, 3 Feb 2023 12:29:00 +0000 (12:29 +0000)] 
Fix ISC_MEM_ZERO on allocators with malloc_usable_size()

ISC_MEM_ZERO requires great care to use when the space returned by
the allocator is larger than the requested space, and when memory is
reallocated. You must ensure that _every_ call to allocate or
reallocate a particular block of memory uses ISC_MEM_ZERO, to ensure
that the extra space is zeroed as expected. (When ISC_MEMFLAG_FILL
is set, the extra space will definitely be non-zero.)

When BIND is built without jemalloc, ISC_MEM_ZERO is implemented in
`jemalloc_shim.h`. This had a bug on systems that have malloc_size()
or malloc_usable_size(): memory was only zeroed up to the requested
size, not the allocated size. When an oversized allocation was
returned, and subsequently reallocated larger, memory between the
original requested size and the original allocated size could
contain unexpected nonzero junk. The realloc call does not know the
original requested size and only zeroes from the original allocated
size onwards.

After this change, `jemalloc_shim.h` always zeroes up to the
allocated size, not the requested size.

3 years agoMerge branch '3827-fix-dnsrps-builds' into 'main'
Michał Kępień [Wed, 1 Feb 2023 10:24:22 +0000 (10:24 +0000)] 
Merge branch '3827-fix-dnsrps-builds' into 'main'

Fix DNSRPS builds

Closes #3827

See merge request isc-projects/bind9!7450

3 years agoAdd CHANGES entry for GL #3827
Michał Kępień [Wed, 1 Feb 2023 10:22:59 +0000 (11:22 +0100)] 
Add CHANGES entry for GL #3827

3 years agoFix 'view' variable scope in load_configuration()
Michał Kępień [Wed, 1 Feb 2023 10:22:59 +0000 (11:22 +0100)] 
Fix 'view' variable scope in load_configuration()

Commit b69e783164cd50e3306364668558e460617ee8fc changed the scope of the
local 'view' variable in load_configuration(), but the code section
guarded by the #ifdef USE_DNSRPS directive was not adjusted accordingly,
causing build errors for DNSRPS-enabled builds.  Fix the latter by
declaring the 'view' variable inside the loop in the DNSRPS-specific
block of code.

3 years agoHandle iterator options in rpsdb_allrdatasets()
Michał Kępień [Wed, 1 Feb 2023 10:22:59 +0000 (11:22 +0100)] 
Handle iterator options in rpsdb_allrdatasets()

Commit 7695c36a5de01c441690f2a0e46f176321b58896 added a new parameter,
'options', to the prototype of the 'allrdatasets' function pointer in
struct dns_dbmethods.  Handle this new parameter accordingly in
rpsdb_allrdatasets().

3 years agoAdd DNSRPS builds to pairwise testing
Michał Kępień [Wed, 1 Feb 2023 10:22:59 +0000 (11:22 +0100)] 
Add DNSRPS builds to pairwise testing

The --enable-dnsrps-dl switch for ./configure enables preparing a
DNSRPS-enabled build of BIND 9 that is not directly linked against a
DNSRPS provider library (dlopen() at runtime is used instead).  Employ
this switch to test DNSRPS-enabled builds in the pairwise testing job in
GitLab CI.

3 years agoMerge branch '3797-part2-ratelimiter-refactoring' into 'main'
Evan Hunt [Wed, 1 Feb 2023 09:05:38 +0000 (09:05 +0000)] 
Merge branch '3797-part2-ratelimiter-refactoring' into 'main'

refactor isc_ratelimiter to use loop callbacks

See merge request isc-projects/bind9!7366

3 years agorefactor isc_ratelimiter to use loop callbacks
Evan Hunt [Wed, 26 Oct 2022 01:35:41 +0000 (18:35 -0700)] 
refactor isc_ratelimiter to use loop callbacks

the rate limter now uses loop callbacks rather than task events.
the API for isc_ratelimiter_enqueue() has been changed; we now pass
in a loop, a callback function and a callback argument, and
receive back a rate limiter event object (isc_rlevent_t). it
is no longer necessary for the caller to allocate the event.

the callback argument needs to include a pointer to the rlevent
object so that it can be freed using isc_rlevent_free(), or by
dequeueing.

3 years agoMerge branch '3828-fuzz-dns_message_checksig-c-fails-to-call-dst_lib_destroy' into...
Mark Andrews [Tue, 31 Jan 2023 14:16:41 +0000 (14:16 +0000)] 
Merge branch '3828-fuzz-dns_message_checksig-c-fails-to-call-dst_lib_destroy' into 'main'

Resolve "fuzz/dns_message_checksig.c fails to call dst_lib_destroy"

Closes #3828

See merge request isc-projects/bind9!7442

3 years agoAdd CHANGES for [GL #3828]
Mark Andrews [Mon, 30 Jan 2023 00:51:25 +0000 (11:51 +1100)] 
Add CHANGES for [GL #3828]

3 years agoCall dst_lib_destroy if we have called dst_lib_init
Mark Andrews [Sun, 29 Jan 2023 22:29:56 +0000 (09:29 +1100)] 
Call dst_lib_destroy if we have called dst_lib_init

This returns BIGNUMs to OpenSSL allowing libcrypto to fully clean up.

3 years agoMerge branch '3830-nsupdate-failed-to-handle-primary-server-address-lookup-gracefully...
Mark Andrews [Tue, 31 Jan 2023 13:13:18 +0000 (13:13 +0000)] 
Merge branch '3830-nsupdate-failed-to-handle-primary-server-address-lookup-gracefully' into 'main'

Resolve "nsupdate failed to handle primary server address lookup gracefully"

Closes #3830

See merge request isc-projects/bind9!7444

3 years agoAdd CHANGES for [GL #3830]
Mark Andrews [Mon, 30 Jan 2023 01:15:57 +0000 (12:15 +1100)] 
Add CHANGES for [GL #3830]

3 years agoHandle address lookup failure more gracefully
Mark Andrews [Mon, 30 Jan 2023 00:18:49 +0000 (11:18 +1100)] 
Handle address lookup failure more gracefully

If the address lookup of the primary server fails just abort
the current update request rather than calling exit.  This allows
nsupdate to cleanup gracefully.

3 years agoMerge branch '3829-named-v-leaks-memory-when-shutting-down' into 'main'
Mark Andrews [Mon, 30 Jan 2023 23:02:51 +0000 (23:02 +0000)] 
Merge branch '3829-named-v-leaks-memory-when-shutting-down' into 'main'

Resolve "'named -V' leaks memory when shutting down"

Closes #3829

See merge request isc-projects/bind9!7443

3 years agoAdd CHANGES for [GL #3829]
Mark Andrews [Mon, 30 Jan 2023 01:00:41 +0000 (12:00 +1100)] 
Add CHANGES for [GL #3829]

3 years agoCall dns_lib_destroy in bin/named/main.c:printversion
Mark Andrews [Sun, 29 Jan 2023 22:49:58 +0000 (09:49 +1100)] 
Call dns_lib_destroy in bin/named/main.c:printversion

There were unbalanced calls to dns_lib_init and dns_lib_destroy
leading to an OpenSSL memory leak.

3 years agoMerge branch '3806-give-named-log-memory-context-a-name' into 'main'
Ondřej Surý [Mon, 30 Jan 2023 11:56:39 +0000 (11:56 +0000)] 
Merge branch '3806-give-named-log-memory-context-a-name' into 'main'

Properly name ADB hashmap and named log memory contexts

Closes #3806

See merge request isc-projects/bind9!7449

3 years agoProperly name ADB hashmap and named log memory contexts
Ondřej Surý [Mon, 30 Jan 2023 08:49:35 +0000 (09:49 +0100)] 
Properly name ADB hashmap and named log memory contexts

The ADB hashmaps are stored in extra memory contexts, so the hash
tables are excluded from the overmem accounting.  The new memory
context was unnamed, give it a proper name.

Same thing has happened with extra memory context used for named
global log context - give the extra memory context a proper name.

3 years agoMerge branch '3806-give-ADB-heap-memory-context-a-name' into 'main'
Ondřej Surý [Mon, 30 Jan 2023 11:37:34 +0000 (11:37 +0000)] 
Merge branch '3806-give-ADB-heap-memory-context-a-name' into 'main'

Properly name ADB hashmap memory context

Closes #3806

See merge request isc-projects/bind9!7447

3 years agoProperly name ADB hashmap and named log memory contexts
Ondřej Surý [Mon, 30 Jan 2023 08:49:35 +0000 (09:49 +0100)] 
Properly name ADB hashmap and named log memory contexts

The ADB hashmaps are stored in extra memory contexts, so the hash
tables are excluded from the overmem accounting.  The new memory
context was unnamed, give it a proper name.

Same thing has happened with extra memory context used for named
global log context - give the extra memory context a proper name.

3 years agoMerge branch '3822-rndc-dnssec-checkds-force-ds-state' into 'main' 7446/head
Matthijs Mekking [Fri, 27 Jan 2023 15:07:33 +0000 (15:07 +0000)] 
Merge branch '3822-rndc-dnssec-checkds-force-ds-state' into 'main'

Force set DS state after 'rndc dnssec -checkds'

Closes #3822

See merge request isc-projects/bind9!7423

3 years agoAdd CHANGES for #3822
Matthijs Mekking [Wed, 25 Jan 2023 15:43:13 +0000 (16:43 +0100)] 
Add CHANGES for #3822

3 years agoForce set DS state after 'rndc dnssec -checkds'
Matthijs Mekking [Wed, 25 Jan 2023 15:36:48 +0000 (16:36 +0100)] 
Force set DS state after 'rndc dnssec -checkds'

Set the DS state after issuing 'rndc dnssec -checkds'. If the DS
was published, it should go in RUMOURED state, regardless whether it
is already safe to do so according to the state machine.

Leaving it in HIDDEN (or if it was magically already in OMNIPRESENT or
UNRETENTIVE) would allow for easy shoot in the foot situations.

Similar, if the DS was withdrawn, the state should be set to
UNRETENTIVE. Leaving it in OMNIPRESENT (or RUMOURED/HIDDEN)
would also allow for easy shoot in the foot situations.

3 years agoMerge branch 'tkrizek/danger-improvements' into 'main'
Tom Krizek [Fri, 27 Jan 2023 13:47:51 +0000 (13:47 +0000)] 
Merge branch 'tkrizek/danger-improvements' into 'main'

danger: refine existing rules

See merge request isc-projects/bind9!7428

3 years agodanger: relax rules for single-line commits
Tom Krizek [Thu, 26 Jan 2023 12:04:40 +0000 (13:04 +0100)] 
danger: relax rules for single-line commits

The following are not also accepted as single-line commits without
generating warnings:
- CHANGES/release note may appear in the beginning of the commit message
- Release note may be capitalized
- Allow commits with "GL #" (e.g. Update documentation for [GL #XXXX])

3 years agodanger: update CHANGES rule to work with -S edition
Tom Krizek [Thu, 26 Jan 2023 12:03:12 +0000 (13:03 +0100)] 
danger: update CHANGES rule to work with -S edition

When updating the -S edition, the CHANGES.SE file is modified. Make sure
danger accepts that.

3 years agoMerge branch 'michal/rework-the-security-incident-handling-checklist' into 'main'
Michał Kępień [Fri, 27 Jan 2023 13:10:23 +0000 (13:10 +0000)] 
Merge branch 'michal/rework-the-security-incident-handling-checklist' into 'main'

Rework the Security Incident Handling Checklist

See merge request isc-projects/bind9!6980

3 years agoUpdate release checklist
Michał Kępień [Fri, 27 Jan 2023 13:10:09 +0000 (14:10 +0100)] 
Update release checklist

Update the release checklist to incorporate some minor tweaks that we
have been applying manually for the past few months as a result of
release process evolution.

3 years agoRework the Security Incident Handling Checklist
Michał Kępień [Fri, 27 Jan 2023 13:10:09 +0000 (14:10 +0100)] 
Rework the Security Incident Handling Checklist

Rework the Security Incident Handling Checklist so that it does not only
contain the SWENG-side steps for handling a security incident, but also
all the other steps required by ISC procedures.

3 years agoMerge branch 'michal/extend-artifact-lifetime-for-release-related-jobs' into 'main'
Michał Kępień [Fri, 27 Jan 2023 12:29:06 +0000 (12:29 +0000)] 
Merge branch 'michal/extend-artifact-lifetime-for-release-related-jobs' into 'main'

Extend artifact lifetime for release-related jobs

See merge request isc-projects/bind9!7432

3 years agoExtend artifact lifetime for release-related jobs
Michał Kępień [Fri, 27 Jan 2023 12:25:30 +0000 (13:25 +0100)] 
Extend artifact lifetime for release-related jobs

Artifacts of the "stress" jobs in GitLab CI are used for generating the
QA summary for a given set of releases.  It happened in the past that
these artifacts were purged before the QA summary was prepared,
unnecessarily prolonging the release process.  A complete set of
artifacts from all such jobs for a single pipeline should be less than 1
GB in size, so extend their lifetime from one day to one week as a more
reasonable compromise between availability and disk space usage.  (Note:
these jobs are also run in scheduled pipelines, but that is expected to
be acceptable in the context of artifact lifetime.)

Artifacts of the "release" jobs in GitLab CI are what we eventually
publish on the FTP server.  It happened in the past that these artifacts
were purged before we copied them to their destination, unnecessarily
prolonging the release process, even though we usually press the "Keep"
button for the "release" jobs manually to keep them around indefinitely
(as they are the source of what we publish in other places).  Since
there is only one "release" job per tag pipeline and its artifacts only
take up tens of megabytes of space, keep the artifacts of the "release"
jobs around indefinitely by default.

3 years agoMerge branch '3824-teach-danger-about-amend' into 'main'
Mark Andrews [Fri, 27 Jan 2023 11:39:12 +0000 (11:39 +0000)] 
Merge branch '3824-teach-danger-about-amend' into 'main'

Resolve "Teach danger about amend!"

Closes #3824

See merge request isc-projects/bind9!7430

3 years agoTeach danger about amend
Mark Andrews [Fri, 27 Jan 2023 01:43:45 +0000 (12:43 +1100)] 
Teach danger about amend

commit --fixup=amend:<hash> produces a subject starting with amend!
by default.  Have danger look for this to ensure that it is squashed
before merging.

3 years agoMerge branch 'mnowak/pkgdiff' into 'main'
Michal Nowak [Thu, 26 Jan 2023 13:05:14 +0000 (13:05 +0000)] 
Merge branch 'mnowak/pkgdiff' into 'main'

Add release tarball comparison script

See merge request isc-projects/bind9!7419

3 years agoAdd release tarball comparison script
Michal Nowak [Mon, 23 Jan 2023 19:29:00 +0000 (20:29 +0100)] 
Add release tarball comparison script

The util/release-tarball-comparison.sh script compares a release-ready
BIND 9 tarball to a temporary BIND 9 tarball created from the same
signed Git tag to ensure that their content does not differ
(significantly).

3 years agoMerge tag 'v9_19_9'
Michał Kępień [Wed, 25 Jan 2023 20:16:00 +0000 (21:16 +0100)] 
Merge tag 'v9_19_9'

BIND 9.19.9

3 years agoMerge branch 'tt-improve-rsa-extraction' into 'main'
Ondřej Surý [Wed, 25 Jan 2023 19:29:23 +0000 (19:29 +0000)] 
Merge branch 'tt-improve-rsa-extraction' into 'main'

Improve OpenSSL RSA key extraction

See merge request isc-projects/bind9!7424

3 years agoImprove OpenSSL RSA key extraction
Timo Teräs [Wed, 25 Jan 2023 18:56:41 +0000 (20:56 +0200)] 
Improve OpenSSL RSA key extraction

Add check for extracting the public 'n' component on OpenSSL 3.0
path. This is mandatory component, and it's presence is checked
already on the other code path.

Also document the reason why private key component getting errors
are ignored.

3 years agoMerge branch '3718-reduce-the-memory-statistics' into 'main'
Ondřej Surý [Tue, 24 Jan 2023 17:57:21 +0000 (17:57 +0000)] 
Merge branch '3718-reduce-the-memory-statistics' into 'main'

Reduce the memory statistics to a bare minimum

Closes #3718

See merge request isc-projects/bind9!7412

3 years agoAdd CHANGES and release note for [GL #3718]
Ondřej Surý [Thu, 19 Jan 2023 16:14:31 +0000 (17:14 +0100)] 
Add CHANGES and release note for [GL #3718]

3 years agoRemove BlockSize from bind9.xsl
Ondřej Surý [Thu, 19 Jan 2023 16:06:17 +0000 (17:06 +0100)] 
Remove BlockSize from bind9.xsl

The BlockSize counter doesn't exist anymore (for some time now).

3 years agoRestore Malloced memory counter as InUse alias + little cleanups
Ondřej Surý [Thu, 19 Jan 2023 15:57:18 +0000 (16:57 +0100)] 
Restore Malloced memory counter as InUse alias + little cleanups

This restores the Malloced memory counter and it's now always equal to
InUse counter.  This is only for backwards compatibility reason and
there is no separate counter.

The commit also cleanups little things like structure with a single
item (summary.inuse), and shuts up a wrong cppcheck warning (the
notorious NULL check after assignment).

3 years agoRemove ContextSize memory counter
Ondřej Surý [Thu, 19 Jan 2023 11:23:04 +0000 (12:23 +0100)] 
Remove ContextSize memory counter

Again, this was an internal allocator counter, now it's useless.

3 years agoMake the all inuse memory counter atomic operations relaxed
Ondřej Surý [Thu, 19 Jan 2023 11:10:28 +0000 (12:10 +0100)] 
Make the all inuse memory counter atomic operations relaxed

Instead of enforcing stronger synchronization between threads, make all
the atomic operations relaxed.  We are not really interested in exact
numbers at all times - the single place where we need the exact number
is when the memory context is being destroyed.  Even when there's a
overmem counter, we don't care about exact ordering or exact number.

3 years agoCleanup the ptr argument from mem_putstats()
Ondřej Surý [Thu, 19 Jan 2023 11:05:44 +0000 (12:05 +0100)] 
Cleanup the ptr argument from mem_putstats()

The ptr argument was unneeded and unused.

3 years agoRemove the Lost memory counter
Ondřej Surý [Thu, 19 Jan 2023 11:02:17 +0000 (12:02 +0100)] 
Remove the Lost memory counter

The Lost memory counter would count the memory "lost" by external
libraries.  There's really no such thing as `named` require the memory
contexts to be clean on destroy.

3 years agoRemove stats buckets memory counters
Ondřej Surý [Thu, 19 Jan 2023 11:00:04 +0000 (12:00 +0100)] 
Remove stats buckets memory counters

The stats buckets were again more useful for internal allocator, because
we would see the individual "block" caches where the allocations would
fall into.  Remove the stats buckets, and if needed, we can pull more
detailed statistics out of the jemalloc.

3 years agoRemove the 'totalgets' memory counter
Ondřej Surý [Thu, 19 Jan 2023 10:55:00 +0000 (11:55 +0100)] 
Remove the 'totalgets' memory counter

The totalgets falls into the same category as other "total" and "max"
numbers - it's just a big number with no meaning to end user.

3 years agoRemove the total memory counter
Ondřej Surý [Thu, 19 Jan 2023 10:50:39 +0000 (11:50 +0100)] 
Remove the total memory counter

The total memory counter had again little or no meaning when we removed
the internal memory allocator.  It was just a monotonic counter that
would count add the allocation sizes but never subtracted anything, so
it would be just a "big number".

3 years agoRemove maxinuse memory counter
Ondřej Surý [Thu, 19 Jan 2023 10:46:47 +0000 (11:46 +0100)] 
Remove maxinuse memory counter

The maxinuse memory counter indicated the highest amount of
memory allocated in the past. Checking and updating this high-
water mark value every time memory was allocated had an impact
on server performance, so it has been removed. Memory size can
be monitored more efficiently via an external tool logging RSS.

3 years agoRemove malloced and maxmalloced memory counter
Ondřej Surý [Thu, 19 Jan 2023 10:41:34 +0000 (11:41 +0100)] 
Remove malloced and maxmalloced memory counter

The malloced and maxmalloced memory counters were mostly useless since
we removed the internal allocator blocks - it would only differ from
inuse by the memory context size itself.

3 years agoMake {increment,decrement}_malloced() return void
Ondřej Surý [Thu, 19 Jan 2023 10:37:00 +0000 (11:37 +0100)] 
Make {increment,decrement}_malloced() return void

The return value was only used in a single place and only for
decrement_malloced() and we can easily replace that with atomic_load().

3 years agoMerge branch 'artem-cookie-use-reuseport-socket-option-in-python-mock-server' into...
Artem Boldariev [Tue, 24 Jan 2023 14:07:03 +0000 (14:07 +0000)] 
Merge branch 'artem-cookie-use-reuseport-socket-option-in-python-mock-server' into 'main'

Use SO_REUSEADDR for "ans9" mock server in "cookie" test

See merge request isc-projects/bind9!7418

3 years agoUse SO_REUSEADDR for "ans9" mock server in "cookie" system test
Artem Boldariev [Mon, 23 Jan 2023 20:03:48 +0000 (22:03 +0200)] 
Use SO_REUSEADDR for "ans9" mock server in "cookie" system test

This commit ensures that it is possible to run the 'cookie' test
multiple times in a row.

3 years agoMerge branch '3797-part1-zone-task-refactoring' into 'main'
Evan Hunt [Mon, 23 Jan 2023 21:06:49 +0000 (21:06 +0000)] 
Merge branch '3797-part1-zone-task-refactoring' into 'main'

refactor zone.c to use loop callbacks

See merge request isc-projects/bind9!7365

3 years agoEnforce receive_secure_serial() and setnsec3param() serialization
Ondřej Surý [Mon, 23 Jan 2023 12:40:19 +0000 (13:40 +0100)] 
Enforce receive_secure_serial() and setnsec3param() serialization

Both receive_secure_serial() and setnsec3param() run on the same zone
loop, therefore they are serialized.  Remove the mechanism to enqueue
the nsec3param and secure serial updates in case one of them is
running (as they can not) and replace it with sanity check.

3 years agoReplace the dns_io_t mechanism with offloaded threads
Ondřej Surý [Mon, 23 Jan 2023 11:13:43 +0000 (12:13 +0100)] 
Replace the dns_io_t mechanism with offloaded threads

Previously, the zone loading and dumping was effectively serialized by
the dns_io_t mechanism.  In theory, more IO operations could be run in
parallel, but the zone manager .iolimit was set to 1 and never increased
as dns_zonemgr_setiolimit() was never ever called.

As the dns_master asynchronous load and dump was already offloaded to
non-worker threads with isc_work mechanism, drop the whole dns_io_t
and just rely on the isc_work to do the load and dump scheduling.