Commit Graph

38191 Commits

Author SHA1 Message Date
Tony Finch
50ab648f8a 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.
2023-02-06 13:26:36 +00:00
Tony Finch
ecd428240b Merge branch 'fanf-bitstring-cleanup' into 'main'
Remove some remnants of bitstring labels

See merge request isc-projects/bind9!7196
2023-02-06 13:23:46 +00:00
Tony Finch
c70bb3deb5 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.)
2023-02-06 13:22:30 +00:00
Tony Finch
8088728c90 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
2023-02-06 12:31:08 +00:00
Tony Finch
ef1170b3fc Fix the reference to RFC 1035 in named-compilezone(1)
There was a stray backquote
2023-02-06 12:31:01 +00:00
Tony Finch
10ff56b345 Merge branch 'fanf-time-monotonic' into 'main'
Add isc_time_monotonic()

See merge request isc-projects/bind9!7486
2023-02-06 12:23:14 +00:00
Tony Finch
ff63b53ff4 Add isc_time_monotonic()
This is to simplify measurements of how long things take.
2023-02-06 12:14:51 +00:00
Tony Finch
89a3ff1d06 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
2023-02-06 12:09:28 +00:00
Tony Finch
b8e71f9580 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.
2023-02-06 11:21:12 +00:00
Michał Kępień
a695d14150 Merge branch '3827-fix-dnsrps-builds' into 'main'
Fix DNSRPS builds

Closes #3827

See merge request isc-projects/bind9!7450
2023-02-01 10:24:22 +00:00
Michał Kępień
493eadd1ae Add CHANGES entry for GL #3827 2023-02-01 11:22:59 +01:00
Michał Kępień
183cd1bbe5 Fix 'view' variable scope in load_configuration()
Commit b69e783164 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.
2023-02-01 11:22:59 +01:00
Michał Kępień
f3def4e4ed Handle iterator options in rpsdb_allrdatasets()
Commit 7695c36a5d 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().
2023-02-01 11:22:59 +01:00
Michał Kępień
e688ca5316 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.
2023-02-01 11:22:59 +01:00
Evan Hunt
6398059af3 Merge branch '3797-part2-ratelimiter-refactoring' into 'main'
refactor isc_ratelimiter to use loop callbacks

See merge request isc-projects/bind9!7366
2023-02-01 09:05:38 +00:00
Evan Hunt
7fd78344e0 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.
2023-01-31 21:41:19 -08:00
Mark Andrews
d6c3d9e04a 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
2023-01-31 14:16:41 +00:00
Mark Andrews
13e0dfbae2 Add CHANGES for [GL #3828] 2023-02-01 00:35:11 +11:00
Mark Andrews
897e0cd6f4 Call dst_lib_destroy if we have called dst_lib_init
This returns BIGNUMs to OpenSSL allowing libcrypto to fully clean up.
2023-02-01 00:34:33 +11:00
Mark Andrews
41f3466307 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
2023-01-31 13:13:18 +00:00
Mark Andrews
fda7858e74 Add CHANGES for [GL #3830] 2023-01-31 23:52:19 +11:00
Mark Andrews
f1387514c6 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.
2023-01-31 23:51:44 +11:00
Mark Andrews
fa21157bc1 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
2023-01-30 23:02:51 +00:00
Mark Andrews
1d258e2fb8 Add CHANGES for [GL #3829] 2023-01-30 22:26:50 +00:00
Mark Andrews
8b3c018f54 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.
2023-01-30 22:26:50 +00:00
Ondřej Surý
cd03a842b4 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
2023-01-30 11:56:39 +00:00
Ondřej Surý
acab74882c 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.
2023-01-30 12:54:57 +01:00
Ondřej Surý
a90b3c040f 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
2023-01-30 11:37:34 +00:00
Ondřej Surý
3cda9f9f14 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.
2023-01-30 11:52:53 +01:00
Matthijs Mekking
b942fea872 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
2023-01-27 15:07:33 +00:00
Matthijs Mekking
38ffe5acf3 Add CHANGES for #3822 2023-01-27 15:07:26 +00:00
Matthijs Mekking
ee42f66fbe 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.
2023-01-27 15:07:26 +00:00
Tom Krizek
837da85ef7 Merge branch 'tkrizek/danger-improvements' into 'main'
danger: refine existing rules

See merge request isc-projects/bind9!7428
2023-01-27 13:47:51 +00:00
Tom Krizek
79ae467973 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])
2023-01-27 14:17:06 +01:00
Tom Krizek
1939e585c0 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.
2023-01-27 14:17:04 +01:00
Michał Kępień
e68ca96db2 Merge branch 'michal/rework-the-security-incident-handling-checklist' into 'main'
Rework the Security Incident Handling Checklist

See merge request isc-projects/bind9!6980
2023-01-27 13:10:23 +00:00
Michał Kępień
9565d09f1c 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.
2023-01-27 14:10:09 +01:00
Michał Kępień
2c20f23b69 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.
2023-01-27 14:10:09 +01:00
Michał Kępień
0185e0874c 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
2023-01-27 12:29:06 +00:00
Michał Kępień
71c9d69145 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.
2023-01-27 13:25:30 +01:00
Mark Andrews
98757aaf34 Merge branch '3824-teach-danger-about-amend' into 'main'
Resolve "Teach danger about amend!"

Closes #3824

See merge request isc-projects/bind9!7430
2023-01-27 11:39:12 +00:00
Mark Andrews
9b12473292 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.
2023-01-27 19:14:32 +11:00
Michal Nowak
0727c033e9 Merge branch 'mnowak/pkgdiff' into 'main'
Add release tarball comparison script

See merge request isc-projects/bind9!7419
2023-01-26 13:05:14 +00:00
Michal Nowak
5487226586 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).
2023-01-26 13:59:42 +01:00
Michał Kępień
4e934bae0b Merge tag 'v9_19_9'
BIND 9.19.9
2023-01-25 21:16:00 +01:00
Ondřej Surý
897deb69e6 Merge branch 'tt-improve-rsa-extraction' into 'main'
Improve OpenSSL RSA key extraction

See merge request isc-projects/bind9!7424
2023-01-25 19:29:23 +00:00
Timo Teräs
91c4bca866 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.
2023-01-25 21:04:27 +02:00
Ondřej Surý
cdae45e9cf 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
2023-01-24 17:57:21 +00:00
Ondřej Surý
122737ace6 Add CHANGES and release note for [GL #3718] 2023-01-24 17:57:16 +00:00
Ondřej Surý
a0f322a38b Remove BlockSize from bind9.xsl
The BlockSize counter doesn't exist anymore (for some time now).
2023-01-24 17:57:16 +00:00