2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00
Commit Graph

37617 Commits

Author SHA1 Message Date
Mark Andrews
10f67938db Use file descriptor 3 to save file.prev
If 'set -x' is in effect file.prev gets populated with debugging output.
To prevent this open descriptor 3 and redirect stderr from the awk
command to descriptor 3. Debugging output will stay directed to stderr.
2022-11-08 15:35:28 +00:00
Tom Krizek
2ea0eaacd6 Merge branch 'tkrizek/danger-approve' into 'main'
ci: add danger checks - approve workflow & wip commits

Closes #3651

See merge request isc-projects/bind9!7041
2022-11-08 13:37:33 +00:00
Tom Krizek
5ecb277090 Check for cherry pick message in backport commits in danger CI
Using the -x option for cherry pick makes it easy to link commits across
branches and it is recommended to use for all backport commits (with
exceptions -- thus a warning level rather than failure).
2022-11-08 14:34:58 +01:00
Tom Krizek
402b11431c Detect work-in-progress commits in danger CI
To avoid accidentally merging unfinished work, detect prohibited
keywords at the start of the subject line. If the first word is any of
the following, fail the check:
WIP, wip, DROP, drop, TODO, todo

The only slightly controversial is the lowercase "drop" which might have
a legitimate use - seems like four commits in the history used it as a
start of a sentence. However, since people commonly use "drop" to
indicate a commit should be dropped before merging, let's prohibit it as
well. In case of false-positive, "Drop" with a capitalized first letter
can always be used.
2022-11-08 14:34:58 +01:00
Tom Krizek
e901342dd9 Use approve button workflow in danger CI
Since the LGTM label was deprecated in favor of using the Approve button
in gitlab, adjust the detection in danger bot.

Unfortunately, danger-python seems no longer maintained since 2020 and
MR approvals aren't available in its Python API (even though they're
supported in its Ruby/JS APIs). Going forward, let's use the more
comprehensive python-gitlab API.

It still makes sense to utilize the danger-python, since it handles the
integration with gitlab which doesn't need to be reimplemented as long
as it works - same with the other checks.
2022-11-08 14:34:56 +01:00
Ondřej Surý
0f46bcc86e Merge branch 'ondrej-name-loop-memory-contexts' into 'main'
Properly name the loop->mctx

See merge request isc-projects/bind9!7046
2022-11-08 12:33:17 +00:00
Ondřej Surý
9d2f22e666 Properly name the loop->mctx
The per loop memory context were unnamed, properly name them as
'loop<tid>'.
2022-11-08 13:32:13 +01:00
Michał Kępień
2c37b3f01b Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.8' into 'main'
Set up version and release notes for BIND 9.19.8

See merge request isc-projects/bind9!7053
2022-11-08 12:30:09 +00:00
Michał Kępień
85ffcccd86 Set up release notes for BIND 9.19.8 2022-11-08 13:21:29 +01:00
Michał Kępień
bcc6a125ea Update BIND version to 9.19.8-dev 2022-11-08 13:21:29 +01:00
Michał Kępień
83b4004d71 Update BIND version for release v9.19.7 2022-11-07 22:17:02 +01:00
Michał Kępień
e2570e0c40 Add a CHANGES marker 2022-11-07 22:17:02 +01:00
Michał Kępień
3df7053b75 Merge branch 'michal/prepare-documentation-for-bind-9.19.7' into 'v9_19_7-release'
Prepare documentation for BIND 9.19.7

See merge request isc-private/bind9!471
2022-11-07 21:14:43 +00:00
Michał Kępień
260b77c784 Add release note for GL #3661 2022-11-07 22:07:08 +01:00
Michał Kępień
94482c1d3d Add release note for GL #3603 2022-11-07 22:07:08 +01:00
Michał Kępień
5ba4cd5dad Add release note for GL #3247 2022-11-07 22:07:08 +01:00
Michał Kępień
fa3403d3e3 Reorder release notes 2022-11-07 22:07:08 +01:00
Michał Kępień
ab0cb94489 Tweak and reword release notes 2022-11-07 22:07:08 +01:00
Michał Kępień
a8129353f4 Prepare release notes for BIND 9.19.7 2022-11-07 22:07:08 +01:00
Michał Kępień
53a90756a1 Remove CHANGES entry 6012
The code change that entry 6012 describes (introduced in commit
be204bf4c7) was reverted shortly after (in
commit c429b52533).  Remove that entry
from CHANGES as it is misleading.
2022-11-07 22:07:08 +01:00
Michał Kępień
6967973568 Merge branch 'pspacek/doc-known-issues-reshuffle' into 'main'
Repeat Known Issues at the top of Release Notes page

See merge request isc-projects/bind9!7040
2022-11-07 13:42:13 +00:00
Petr Špaček
c58dd2790a Repeat Known Issues at the top of Release Notes page
From now on all per-version notes link to the global list
of Known Issues. If there is a new note it should be listed twice:
In the per-version list, and in the global list.
2022-11-07 14:03:15 +01:00
Michał Kępień
f6cc87c5f7 Merge branch '3652-reference-manual-update-policies-unmatched-parenthesis' into 'main'
Resolve "reference manual update-policies unmatched parenthesis"

Closes #3652

See merge request isc-projects/bind9!7030
2022-11-07 12:48:41 +00:00
Mark Andrews
044c3b2bb8 Add missing closing ')' to update-policy documentation
The opening '(' before local was not being matched by a closing
')' after the closing '};'.
2022-11-04 10:37:47 +00:00
Mark Andrews
c5a79caa26 Merge branch '3654-main-doesn-t-compile-on-macos' into 'main'
Resolve "Main doesn't compile on MacOS"

Closes #3654

See merge request isc-projects/bind9!7031
2022-11-04 10:36:40 +00:00
Mark Andrews
93e8d06385 Fix local getresuid and getresuid implementations 2022-11-04 06:26:19 +00:00
Ondřej Surý
fdd146983e Merge branch '3645-dont-release-the-read-lock-when-iterating' into 'main'
Don't release the tree read lock in dereference_iter_node()

Closes #3645

See merge request isc-projects/bind9!7023
2022-11-03 14:30:49 +00:00
Ondřej Surý
96e7bf76e7 Don't release the tree read lock in dereference_iter_node()
Previously, the tree read lock could be upgraded to a write lock in
decrement_reference() and then downgraded back to read lock in
dereference_iter_node().  When the use of isc_rwlock_downgrade() was
removed, the downgrade was changed to a simple unlock+lock. This allows
some delete operations to sneak in and delete nodes that the iterator
expects to be in place.

Expand decrement_reference() so the caller can indicate whether the
tree read lock should be upgraded, and disallow the upgrade when
calling from dereference_iter_node(), so there will be no need to
release the lock afterward.
2022-11-03 14:07:44 +00:00
Ondřej Surý
cfe42dfb68 Merge branch '3643-dont-use-dns_zone_attach-in-zone_refreshkeys' into 'main'
Don't use dns_zone_attach() in zone_refreshkeys()

Closes #3643

See merge request isc-projects/bind9!7022
2022-11-03 13:53:07 +00:00
Ondřej Surý
80e66fbd2d Don't use dns_zone_attach() in zone_refreshkeys()
The zone_refreshkeys() could run before the zone_shutdown(), but after
the last .erefs has been "detached" causing assertion failure when doing
dns_zone_attach().  Remove the use of .erefs (dns_zone_attach/detach)
and replace it with using the .irefs and additional checks whether the
zone is exiting in the callbacks.
2022-11-03 14:29:32 +01:00
Matthijs Mekking
bb3852d71e Merge branch '3591-nsec3-crash-dynamic-to-inline-signing' into 'main'
Fix crash where dnssec-policy zone with NSEC3 crashes when inline-signing is turned on

Closes #3591

See merge request isc-projects/bind9!6905
2022-11-03 10:41:32 +00:00
Matthijs Mekking
1cf2f6fe68 Add release note and change for GL #3591
Breaking news.
2022-11-03 11:20:56 +01:00
Matthijs Mekking
4d143f2cc4 If a zone is not reusable, trigger full sign
If after a reconfig a zone is not reusable because inline-signing
was turned on/off, trigger a full resign. This is necessary because
otherwise the zone maintenance may decide to only apply the changes
in the journal, leaving the zone in an inconsistent DNSSEC state.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
332b98ae49 Don't allow DNSSEC records in the raw zone
There was an exception for dnssec-policy that allowed DNSSEC in the
unsigned version of the zone. This however causes a crash if the
zone switches from dynamic to inline-signing in the case of NSEC3,
because we are now trying to add an NSEC3 record to a non-NSEC3 node.
This is because BIND expects none of the records in the unsigned
version of the zone to be NSEC3.

Remove the exception for dnssec-policy when copying non DNSSEC
records, but do allow for DNSKEY as this may be a published DNSKEY
from a different provider.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
bc703a12e7 Remove checks when going to dnssec-policy none
The changes in the code have the side effect that the CDNSKEY and CDS
records in the secure version of the zone are not reusable and thus
are thrashed from the zone. Remove the apex checks for this use case.
We only care about that the zone is not immediately goes bogus, but
a user really should use the built-in "insecure" policy when unsigning
a zone.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
ef1cb9935c Add nsec3 system test that transfers in NSEC3
Similar to an attempt to add NSEC through dynamic update, add a test
case that tries to add NSEC3 through zone transfer.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
4cd8e8e9c3 Add two more nsec3 system tests
Add one more case that tests reconfiguring a zone to turn off
inline-signing. It should still be a valid DNSSEC zone and the NSEC3
parameters should not change.

Add another test to ensure that you cannot update the zone with a
NSEC3 record.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
57ea9e08c6 Update kasp system test to work with .signed files
We no longer accept copying DNSSEC records from the raw zone to
the secure zone, so update the kasp system test that relies on this
accordingly.

Also add more debugging and store the dnssec-verify results in a file.
2022-11-03 10:20:05 +01:00
Matthijs Mekking
9018fbb205 Test changing from dynamic to inline-signing
Add a kasp system test that reconfigures a dnssec-policy zone from
maintaining DNSSEC records directly to the zone to using inline-signing.

Add a similar test case to the nsec3 system test, testing the same
thing but now with NSEC3 in use.
2022-11-03 10:20:05 +01:00
Ondřej Surý
52cf8205a0 Merge branch '3646-use-after-free-triggers-a-crash-in-reactivate_node' into 'main'
Don't cleanup the dead nodes when pruning the tree

Closes #3646

See merge request isc-projects/bind9!7018
2022-11-03 08:09:28 +00:00
Ondřej Surý
c429b52533 Don't cleanup the dead nodes when pruning the tree
The dead nodes might get reactivated during the db iterator walks the
version of the tree, so we can't cleanup the dead nodes while the db
version is open.  Restore the previous behaviour that cleaned up the
dead nodes when we are closing the version.
2022-11-03 09:06:08 +01:00
Ondřej Surý
7f19af2622 Merge branch '3641-cleanup-dead_nodes-from-prune_tree' into 'main'
Cleanup the dead nodes when pruning the tree

Closes #3641

See merge request isc-projects/bind9!7012
2022-11-02 18:08:42 +00:00
Ondřej Surý
625c6fd16f Add CHANGES for [GL #3641] 2022-11-02 13:10:42 +01:00
Ondřej Surý
be204bf4c7 Cleanup the dead nodes when pruning the tree
While sending the node to prune_tree(), we can also cleanup dead nodes
because we already hold the tree and node bucket write locks.
2022-11-02 13:06:52 +01:00
Ondřej Surý
0e04156f4b Merge branch 'ondrej-rework-pthread-rwlock-3' into 'main'
Make the pthread_rwlock implementation header-only macros [3/3]

See merge request isc-projects/bind9!6909
2022-11-02 09:56:33 +00:00
Ondřej Surý
0492bbf590 Make the pthread_rwlock implementation header-only macros [2/2]
While using mutrace, the phtread-rwlock based isc_rwlock implementation
would be all tracked in the rwlock.c unit losing all useful information
as all rwlocks would be traced in a single place.  Rewrite the
pthread_rwlock based implementation to be header-only macros, so we can
use mutrace to properly track the rwlock contention without heavily
patching mutrace to understand the libisc synchronization primitives.
2022-11-02 10:34:10 +01:00
Ondřej Surý
6bd201ccec Remove one level of indirection from isc_rwlock [1/2]
Instead of checking the PTHREAD_RUNTIME_CHECK from the header, move it
to the pthread_rwlock implementation functions.  The internal isc_rwlock
actually cannot fail, so the checks in the header was useless anyway.
2022-11-02 10:27:09 +01:00
Ondřej Surý
68cfbd238c Merge branch 'ondrej-rework-pthread-rwlock-2' into 'main'
Remove isc_rwlock_downgrade() from isc_rwlock [2/3]

See merge request isc-projects/bind9!6908
2022-11-02 08:52:27 +00:00
Ondřej Surý
1d448de802 Merge branch 'ondrej-rework-pthread-rwlock-1' into 'main'
Remove isc_rwlock_downgrade usage in rbtdb.c [1/3]

See merge request isc-projects/bind9!6907
2022-11-02 08:05:38 +00:00
Ondřej Surý
98b7a93772 Remove isc_rwlock_downgrade() from isc_rwlock
The isc_rwlock_downgrade() is not used anywhere, so we can remove it and
make the pthread_rwlock implementation simpler.
2022-11-02 09:05:37 +01:00