Commit Graph
40322 Commits
Author SHA1 Message Date
Evan Hunt 680fdce937 Merge branch 'each-remove-reserved-dispatches' into 'main'
remove dead code for reserved dispatches

See merge request isc-projects/bind9!7391
2023-01-18 02:53:40 +00:00
Evan Hunt d79a3823ad remove dead code for reserved dispatches
named formerly reserved a set of dispatch objects for use when
sending requests from user-specified source ports. this objects
are no longer used and have been removed.
2023-01-17 18:23:52 -08:00
Evan Hunt 1070f1f56a Merge branch '3781-deprecate-source-port' into 'main'
mark "port" as deprecated for source address options

Closes #3781

See merge request isc-projects/bind9!7307
2023-01-18 01:51:43 +00:00
Evan Hunt 22d1951aa6 CHANGES and release note for [GL #3781] 2023-01-17 17:29:43 -08:00
Matthijs MekkingandEvan Hunt 531914e660 Test deprecate source port configuration
Add 'port' token to deprecated.conf. Also add options
'use-v4-udp-ports', 'use-v6-udp-ports', 'avoid-v4-udp-ports',
and 'avoid-v6-udp-ports'.

All of these should trigger warnings (except when deprecation warnings
are being ignored).
2023-01-17 17:29:31 -08:00
Evan Hunt 470ccbc8ed mark "port" as deprecated for source address options
Deprecate the use of "port" when configuring query-source(-v6),
transfer-source(-v6), notify-source(-v6), parental-source(-v6),
etc. Also deprecate use-{v4,v6}-udp-ports and avoid-{v4,v6}udp-ports.
2023-01-17 17:29:21 -08:00
Evan Hunt 175ee6b22e Merge branch '3789-remove-dscp' into 'main'
fully remove DSCP

Closes #3789

See merge request isc-projects/bind9!7338
2023-01-18 00:47:24 +00:00
Evan Hunt d6768d6000 CHANGES and release note revision for [GL #3789] 2023-01-17 16:18:21 -08:00
Evan Hunt 287722ac12 fully remove DSCP
The "dscp" option is now marked as "ancient" and it is a configuration
error to use it or to configure DSCP values for any source-address
option.
2023-01-17 16:18:21 -08:00
Ondřej Surý 71f13b9ad9 Merge branch '3801-reduce-memory-bloat-caused-by-delayed-view-detach' into 'main'
Detach the views in zone_shutdown(), not in zone_free()

Closes #3801

See merge request isc-projects/bind9!7382
2023-01-17 21:47:14 +00:00
Ondřej Surý b049e329ef Add CHANGES and release note for [GL #3801] 2023-01-17 21:48:30 +01:00
Ondřej Surý 7e8b53720d Commit the change of view for view->managed_keys
When we change the view in the view->managed_keys, we never commit the
change, keeping the previous view possibly attached forever.

Call the dns_zone_setviewcommit() immediately after changing the view as
we are detaching the previous view anyway and there's no way to recover
from that.
2023-01-17 21:48:30 +01:00
Ondřej Surý 13bb821280 Detach the views in zone_shutdown(), not in zone_free()
The .view (and possibly .prev_view) would be kept attached to the
removed zone until the zone is fully removed from the memory in
zone_free().  If this process is delayed because server is busy
something else like doing constant `rndc reconfig`, it could take
seconds to detach the view, possibly keeping multiple dead views in the
memory.  This could quickly lead to a massive memory bloat.

Release the views early in the zone_shutdown() call, and don't wait
until the zone is freed.
2023-01-17 21:48:30 +01:00
Artem Boldariev 42ab66b971 Merge branch '3767-dot-no-alpn-transfer-shutdown-crash' into 'main'
XoT: properly handle the case when checking for ALPN failed

Closes #3767

See merge request isc-projects/bind9!7360
2023-01-17 18:50:10 +00:00
Artem Boldariev 16fa692b56 Modify CHANGES [GL #3767]
Mention that downloading a zone via TLS- from a server which does not
negotiate "dot" ALPN tag could have crashed BIND on shutdown.
2023-01-17 19:00:19 +02:00
Artem Boldariev 34a1aab1cb XoT: properly handle the case when checking for ALPN failed
During XoT it is important to check for "dot" ALPN tag to be
negotiated (according to the RFC 9103). We were doing that, however, the
situation was not handled properly, leading to non-cancelled zone
transfers that would crash (abort()) BIND on shutdown.

In this particular case 'result' might equal 'ISC_R_SUCCESS'. When
this is the case, the part of the code supposed to handle failures
will not cancel the zone transfer.

This situation cannot happen when BIND is a secondary of other BIND
instance. Only primaries following the RFC not closely enough could
trigger such a behaviour.
2023-01-17 19:00:19 +02:00
Tom Krizek 9c32089fa9 Merge branch '3804-fix-feature-detection-in-pytests' into 'main'
Fix feature detection for pytest markers in tests

Closes #3804

See merge request isc-projects/bind9!7383
2023-01-17 13:48:57 +00:00
Tom Krizek 473cb530f4 Fix feature detection for pytest markers in tests
The condition was accidentally reversed during refactoring in
9730ac4c56 . It would result in skipped
tests on builds with proper support and false negatives on builds
without proper feature support.

Credit for reporting the issue and the fix goes to Stanislav Levin.
2023-01-17 14:18:22 +01:00
Tony Finch 2b89ef56a8 Merge branch 'fanf-time-backwards' into 'main'
Fix a typo in the NS_PER_ macros

See merge request isc-projects/bind9!7380
2023-01-17 09:01:32 +00:00
Tony FinchandTony Finch 290899661d Fix a typo in the NS_PER_ macros
Milliseconds and microseconds were swapped.
2023-01-16 20:33:57 +00:00
Ondřej Surý d7bcdf8bd6 Merge branch 'feature/main/zt-rwlock.h' into 'main'
Include isc_rwlocktype_t type definition in zt.h

See merge request isc-projects/bind9!7376
2023-01-16 11:06:48 +00:00
Petr Menšík 395d6fca26 Include isc_rwlocktype_t type definition in zt.h
After changes zt.h uses rwlock type, which is not enforced to be always
defined. Ensure full type definition is ready by including appropriate
header.
2023-01-16 11:45:31 +01:00
Tom Krizek 0bc0cabaa1 Merge branch 'tkrizek/system-tests-pytest-prep' into 'main'
Various tweaks of system test framework

See merge request isc-projects/bind9!7347
2023-01-16 09:13:01 +00:00
Tom Krizek 03d7b45d81 Update the TEST_PARALLEL_JOBS value in CI
The authoritative source for this value is in the project's CI/CD
Variables Setting. The reason to keep it in .gitlab-ci.yaml as well is
to have functional testing in forks without the need to manually specify
this variable in Settings.

The tests have been executed with 4 jobs for some time now. This
"change" only brings .gitlab-ci.yaml file up to date, it doesn't
actually change the number of jobs we currently use to test.
2023-01-13 17:01:30 +01:00
Tom Krizek 9593ff9347 Tweak dupsigs test output
Use a different visual separator, since "====", "----" and "____" is
used by pytest to separate the log output.
2023-01-13 17:01:30 +01:00
Tom Krizek e24d3b21d0 Look for ifconfig.sh.in in testsock.pl parent dir
Instead of using the current working directory to find the ifconfig.sh
script, look for the ifconfig.sh.in template in the directory where the
testsock.pl script is located. This enables the testsock.pl script to be
called from any working directory.

Using the ifconfig.sh.in template is sufficient, since it contains
the necessary information to be extracted: the max= value (which is
hard-coded in the template).
2023-01-13 17:01:30 +01:00
Tom Krizek d9a97200d5 Factor out script to handle system test core dumps
Move the core dump detection functionality for system test runs into a
separate script. This enables reuse by the pytest runner. The
functionality remains the same.
2023-01-13 17:01:30 +01:00
Tom Krizek 61330a7863 testcrypto.sh: run in TMPDIR if possible
Avoid creating any temporary files in the current workdir.

Additional/changing files in the bin/tests/system directory are
problematic for pytest/xdist collection phase, which assumes the list of
files doesn't change between the collection phase of the main pytest
thread and the subsequent collection phase of the xdist worker threads.

Since the testcrypto.sh is also called during pytest initialization
through conf.sh.common (to detect feature support), this could
occasionally cause a race condition when the list of files would be
different for the main pytest thread and the xdist worker.
2023-01-13 17:01:28 +01:00
Michał Kępień 6f0c821c48 Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.10' into 'main'
Set up version and release notes for BIND 9.19.10

See merge request isc-projects/bind9!7362
2023-01-13 14:47:05 +00:00
Michał Kępień bf14b1a74c Set up release notes for BIND 9.19.10 2023-01-13 15:35:32 +01:00
Michał Kępień 2f39be23b1 Update BIND version to 9.19.10-dev 2023-01-13 15:35:32 +01:00
Michał Kępień a752887dce Update BIND version for release v9.19.9 2023-01-12 22:43:01 +01:00
Michał Kępień a48b5a2935 Add a CHANGES marker 2023-01-12 22:43:01 +01:00
Michał Kępień 978c57e54d Merge branch 'michal/prepare-documentation-for-bind-9.19.9' into 'security-main'
Prepare documentation for BIND 9.19.9

See merge request isc-private/bind9!492
2023-01-12 21:41:52 +00:00
Michał Kępień fadbbb94b3 Add release note for GL #3678 2023-01-12 21:39:37 +01:00
Michał Kępień fcd4905007 Reorder release notes 2023-01-12 21:39:37 +01:00
Michał Kępień 950870dd9e Tweak and reword release notes 2023-01-12 21:39:37 +01:00
Michał Kępień ac18df0591 Prepare release notes for BIND 9.19.9 2023-01-12 21:39:37 +01:00
Michał Kępień ad57bbb411 Update documentation for GL #3212 2023-01-12 21:39:37 +01:00
Michał Kępień b70313d96d Fix a typo in the DNSSEC Guide 2023-01-12 21:39:37 +01:00
Michał Kępień ee1e3c2afd Merge branch '3619-security-serve-stale-client-timeout-crash' into 'security-main'
[CVE-2022-3924] Fix the serve-stale crash when recursive clients soft quota is reached

See merge request isc-private/bind9!475
2023-01-12 11:45:50 +00:00
Aram SargsyanandMichał Kępień d08a478b42 Add CHANGES and release notes for [GL #3619] 2023-01-12 12:43:32 +01:00
Aram SargsyanandMichał Kępień ec2098ca35 Cancel all fetch events in dns_resolver_cancelfetch()
Although 'dns_fetch_t' fetch can have two associated events, one for
each of 'DNS_EVENT_FETCHDONE' and 'DNS_EVENT_TRYSTALE' types, the
dns_resolver_cancelfetch() function is designed in a way that it
expects only one existing event, which it must cancel, and when it
happens so that 'stale-answer-client-timeout' is enabled and there
are two events, only one of them is canceled, and it results in an
assertion in dns_resolver_destroyfetch(), when it finds a dangling
event.

Change the logic of dns_resolver_cancelfetch() function so that it
cancels both the events (if they exist), and in the right order.
2023-01-12 12:43:32 +01:00
Michał Kępień 80ed02f935 Merge branch '3622-serve-stale-rrsig-fix-security' into 'security-main'
[CVE-2022-3736] Properly handle stale RRSIG lookups

See merge request isc-private/bind9!470
2023-01-12 11:25:54 +00:00
Mark AndrewsandMichał Kępień 42c42be9a9 Add release note for [GL #3622] 2023-01-12 12:22:58 +01:00
Mark AndrewsandMichał Kępień 8ca018b5ec Add CHANGES note for [GL #3622] 2023-01-12 12:22:58 +01:00
Mark AndrewsandMichał Kępień 56eae06418 Move the mapping of SIG and RRSIG to ANY
dns_db_findext() asserts if RRSIG is passed to it and
query_lookup_stale() failed to map RRSIG to ANY to prevent this.  To
avoid cases like this in the future, move the mapping of SIG and RRSIG
to ANY for qctx->type to qctx_init().
2023-01-12 12:22:58 +01:00
Michał Kępień c28ea3ce2b Merge branch '3523-confidential-update-quota' into 'security-main'
[CVE-2022-3094] apply quotas to updates

See merge request isc-private/bind9!442
2023-01-12 10:56:37 +00:00
Evan HuntandMichał Kępień 991de0aa76 CHANGES and release notes for [GL #3523] 2023-01-12 11:52:48 +01:00
Evan HuntandMichał Kępień b91339b80e test failure conditions
verify that updates are refused when the client is disallowed by
allow-query, and update forwarding is refused when the client is
is disallowed by update-forwarding.

verify that "too many DNS UPDATEs" appears in the log file when too
many simultaneous updates are processing.
2023-01-12 11:52:48 +01:00