Commit Graph
31637 Commits
Author SHA1 Message Date
Ondřej Surý 24573abeef Merge branch '1808-race-in-resolver-fetch-v9_16' into 'v9_16'
Resolve "assertion failure in bind 9.16.2"

See merge request isc-projects/bind9!3671
2020-06-06 07:30:07 +00:00
Ondřej SurýandEvan Hunt 710c2dc654 Add release note for #1808
(cherry picked from commit 5a9f594629)
2020-06-05 18:58:13 -07:00
Witold KręcickiandEvan Hunt 3175009575 Add CHANGES entry for #1808
(cherry picked from commit f0f859411f)
2020-06-05 18:58:13 -07:00
Witold KręcickiandEvan Hunt c3dcab5f13 Fix a data access race in resolver
We were passing client address to dns_resolver_createfetch as a pointer
and it was saved as a pointer. The client (with its address) could be
gone before the fetch is finished, and in a very odd scenario
log_formerr would call isc_sockaddr_format() which first checks if the
address family is valid (and at this point it still is), then the
sockaddr is cleared, and then isc_netaddr_fromsockaddr is called which
fails an assertion as the address family is now invalid.

(cherry picked from commit 175c4d9055)
2020-06-05 18:58:13 -07:00
Ondřej Surý 30625774f7 Merge branch '1842-correct-the-bind-arm-to-say-that-the-default-session-key-for-use-with-update-policy-local-is-v9_16' into 'v9_16'
Edit reference.rst to indicate that the TSIG

See merge request isc-projects/bind9!3673
2020-06-05 14:38:50 +00:00
Suzanne GoldlustandOndřej Surý 365263f559 Edit reference.rst to indicate that the TSIG
session key is automatically created on startup

(cherry picked from commit 79920cea70)
2020-06-05 16:37:43 +02:00
Mark Andrews 7ef5145cc9 Merge branch '1835-add-yaml-for-ede-v9_16' into 'v9_16'
Resolve "Add the ability to parse and display Extended DNS Error code (EDE)."

See merge request isc-projects/bind9!3666
2020-06-05 03:18:36 +00:00
Mark Andrews 0c23582ffd Improve the behaviour of yamlget.py when run with python2
(cherry picked from commit 9e72266705)
2020-06-05 10:51:01 +10:00
Mark Andrews 28a940fe69 Add +yaml support for EDE
(cherry picked from commit 0ec77c2b92)
2020-06-05 10:50:58 +10:00
Michal Nowak 7c8cfe38be Merge branch '1902-bind-build-problems-on-netbsd-9-v9_16' into 'v9_16'
[v9_16] Fix "array subscript is of type 'char'"

See merge request isc-projects/bind9!3660
2020-06-04 14:28:11 +00:00
Michal Nowak e39685b579 Fix "array subscript is of type 'char'" 2020-06-04 16:27:43 +02:00
Ondřej Surý 80882a8e14 Merge branch '1798-reject-master-zones-with-ds-records-at-the-apex-v9_16' into 'v9_16'
Resolve "Reject master zones with DS records at the apex."

See merge request isc-projects/bind9!3662
2020-06-04 14:25:39 +00:00
Mark AndrewsandOndřej Surý 653a6543c0 Add release note for #1798
(cherry picked from commit 8b05e6f710)
2020-06-04 16:06:48 +02:00
Mark AndrewsandOndřej Surý 2ef63ad627 Add CHANGES entry for #1798
(cherry picked from commit 06e714df0d)
2020-06-04 16:06:48 +02:00
Mark AndrewsandOndřej Surý 6ac4e62fbc Ignore attempts to add DS records at zone apex
DS records belong in the parent zone at a zone cut and
are not retrievable with modern recursive servers.

(cherry picked from commit ae55fbbe9c)
2020-06-04 16:06:45 +02:00
Mark AndrewsandOndřej Surý b17f6eba6a Reject primary zones with an DS record at the zone apex.
DS records only belong at delegation points and if present
at the zone apex are invariably the result of administrative
errors.  Additionally they can't be queried for with modern
resolvers as the parent servers will be queried.

(cherry picked from commit 35a58d30c9)
2020-06-04 16:06:07 +02:00
Ondřej Surý b2f7bd98b6 Merge branch '1782-ipv6-docs-v9_16' into 'v9_16'
Resolve "9.16.x: listen-on-v6 { any; }; no longer works as documented on FreeBSD"

See merge request isc-projects/bind9!3661
2020-06-04 14:04:59 +00:00
Witold KręcickiandOndřej Surý a0faf3dfc5 Add release notes for #1782
(cherry picked from commit d3ea1caf5a)
2020-06-04 16:02:59 +02:00
Witold KręcickiandOndřej Surý 587556f0af Documentation update wrt IPv6 listening.
With netmgr we're creating separate socket for each IPv6 interface,
just as with IPv4 - update documentation accordingly.

(cherry picked from commit 6a2100034b)
2020-06-04 16:02:19 +02:00
Michał Kępień ec9d1b6363 Merge branch '1841-test-multiple-softhsm-versions-in-gitlab-ci-v9_16' into 'v9_16'
[v9_16] Test multiple SoftHSM versions in GitLab CI

See merge request isc-projects/bind9!3657
2020-06-04 12:39:48 +00:00
Michał Kępień b3899c29c4 Embed SoftHSM version in CI job names
To indicate the SoftHSM version used in each CI job while avoiding the
need to add another token to job names, replace "pkcs11" with
"softhsm2.4" and "fedora31:amd64" with "softhsm2.6".

(cherry picked from commit c7169c4ab0)
2020-06-04 12:38:54 +00:00
Michał Kępień 99c69ec144 Make Fedora CI jobs PKCS#11-enabled
Various SoftHSM versions differ in algorithm support.  Since Fedora
tends to have the latest SoftHSM version available in its stock package
repositories, enable PKCS#11 support in Fedora jobs to test multiple
SoftHSM versions in GitLab CI.

(cherry picked from commit 3ecb202ba3)
2020-06-04 12:38:54 +00:00
Michał Kępień d089a0a0f7 Fix & unify Debian job comments in .gitlab-ci.yml
(cherry picked from commit 8aa864d042)
2020-06-04 12:38:54 +00:00
Ondřej Surý 449c8dd88b Merge branch '1877-reduce-default-for-max-stale-ttl-release-notes-update-v9_16' into 'v9_16'
Update release note for #1877

See merge request isc-projects/bind9!3659
2020-06-04 12:25:37 +00:00
Ondřej Surý e66ddab0f9 Update release note for #1877
(cherry picked from commit bee9ed84f4)
2020-06-04 14:16:47 +02:00
Ondřej Surý 319aec7439 Merge branch 'nsupdate-late-responses-v9_16' into 'v9_16'
Delay kserver cleanup until all tasks finish (v9.16)

See merge request isc-projects/bind9!3651
2020-06-04 11:16:15 +00:00
Ondřej Surý 5c5c92e2fa Add CHANGES entry for !3316
(cherry picked from commit 72e78f0a4b)
2020-06-04 11:32:54 +02:00
Petr MensikandOndřej Surý 596a0f27c4 Delay kserver cleanup until all tasks finishes
It might be possible some pending task would run when kserver is already
cleaned up. Postpone gsstsig structures cleanup after task and timer
managers are destroyed. No pending threads are possible after it.

Make action in maybeshutdown only if doshutdown was not already called.
Might be called from getinput event.

(cherry picked from commit 2685e69be8)
2020-06-04 11:32:33 +02:00
Ondřej Surý 7e4eb8ad36 Merge branch '83-cleanup-how-we-build-release-notes-v9_16' into 'v9_16'
Stop building release notes as a separate sphinx-doc document

See merge request isc-projects/bind9!3650
2020-06-04 09:26:10 +00:00
Ondřej Surý ef50067fd2 Stop building release notes as a separate sphinx-doc document
The release notes were previously built as a separate document
(including the PDF version).  It was agreed that this doesn't make much
sense, so the release notes are now included only as an appendix to the
BIND 9 ARM.

(cherry picked from commit 8eb2323ec3)
2020-06-04 11:24:53 +02:00
Ondřej Surý 3149d687c3 Merge branch '1914-remove-libdns-documentation-v9_16' into 'v9_16'
Remove libdns section in ARM

See merge request isc-projects/bind9!3648
2020-06-04 09:00:58 +00:00
Ondřej Surý ad0ab84835 Remove libdns section in ARM
When we made BIND 9 libraries private to BIND 9, we forgot to remove the
libdns section on "export" libraries from the ARM.

(cherry picked from commit 3637c466c9)
2020-06-04 11:00:16 +02:00
Ondřej Surý 137ffd8ec6 Merge branch '1910-text-edits-in-general-rst-v9_16' into 'v9_16'
Content, clarity, grammar updates to general.rst

See merge request isc-projects/bind9!3647
2020-06-04 08:57:33 +00:00
Suzanne GoldlustandOndřej Surý e940446777 Content, clarity, grammar updates to general.rst
This includes reorganization of the lists of RFCs supported by BIND 9.

I included all the RFCs and notes from the list identified by Vicky in
any DNS-related RFCs written by current ISC engineers, on the assumption
that BIND would comply with them.

(cherry picked from commit 8ca7f22671)
2020-06-04 10:57:01 +02:00
Ondřej Surý 87ee1a225e Merge branch '1899-fix-tcp-accept-windows-v9_16' into 'v9_16'
isc_uv_import must pass UV__IPC_SOCKET_XFER_TCP_CONNECTION, not SERVER.

See merge request isc-projects/bind9!3645
2020-06-03 22:19:22 +00:00
Witold KręcickiandOndřej Surý 091117b7ae isc_uv_import must pass UV__IPC_SOCKET_XFER_TCP_CONNECTION, not SERVER.
As a leftover from old TCP accept code isc_uv_import passed TCP_SERVER
flag when importing a socket on Windows.
Since now we're importing/exporting accepted connections it needs to
pass TCP_CONNECTION flag.

(cherry picked from commit 801f7af6e9)
2020-06-03 23:27:24 +02:00
Ondřej Surý 4b9e317561 Merge branch 'wpk/tcp-accept-refactoring-v9_16' into 'v9_16'
TCP accept refactoring (v9_16)

See merge request isc-projects/bind9!3602
2020-06-03 21:26:39 +00:00
Witold KręcickiandOndřej Surý 279470e6cb CHANGES note
(cherry picked from commit 813ff015a4)
2020-06-03 23:00:53 +02:00
Witold KręcickiandOndřej Surý c4f91575ca Clean quota callback after calling it
(cherry picked from commit 2f252a1068)
2020-06-03 23:00:52 +02:00
Witold KręcickiandOndřej Surý 818afe613f Redesigned TCP accepting: one listen/accept loop, passing the connected socket.
Instead of using bind() and passing the listening socket to the children
threads using uv_export/uv_import use one thread that does the accepting,
and then passes the connected socket using uv_export/uv_import to a random
worker. The previous solution had thundering herd problems (all workers
waking up on one connection and trying to accept()), this one avoids this
and is simpler.
The tcp clients quota is simplified with isc_quota_attach_cb - a callback
is issued when the quota is available.

(cherry picked from commit 60629e5b0b)
2020-06-03 23:00:52 +02:00
Michał Kępień 881c7c4921 Merge branch 'michal/misc-danger-tweaks-v9_16' into 'v9_16'
[v9_16] Miscellaneous Danger tweaks

See merge request isc-projects/bind9!3640
2020-06-03 14:01:02 +00:00
Michał Kępień a63c88953a Only run Danger if DANGER_GITLAB_API_TOKEN is set
Prevent the Danger GitLab CI job from failing when the GitLab API key to
use is not set.

(cherry picked from commit 2c90438583)
2020-06-03 15:51:15 +02:00
Michał Kępień 09e8f41fd3 Prevent invalid warnings about missing identifiers
The Danger script inspects differences between the current version of a
given merge request's target branch and the merge request branch.  If
the latter falls behind the former, the Danger script will wrongly warn
about missing GitLab/RT identifiers because it incorrectly treats the
"+++" diff marker as an indication of the merge request adding new lines
to a file.  Tweak the relevant conditional expression to prevent such
invalid warnings from being raised.

(cherry picked from commit e062812c38)
2020-06-03 15:51:15 +02:00
Michał Kępień 102e9afc17 Make fetching target branch reliable
As GitLab Runner Docker executor caches Git repositories between jobs,
prevent the Danger script from attempting to update local refs to ensure
"git fetch" returns with an exit code of 0.  Use the FETCH_HEAD ref for
determining the differences between the merge request branch and its
target branch.

(cherry picked from commit d558c4cb78)
2020-06-03 15:51:13 +02:00
Michał Kępień e4d99f2162 Tweak condition for missing log message warning
Commits adding CHANGES entries and/or release notes do not need a commit
log message.  Do not warn about a missing commit log message for such
commits to make the warning more meaningful.

(cherry picked from commit c13944ca46)
2020-06-03 15:51:13 +02:00
Ondřej Surý 0afd0858ae Merge branch 'wpk/fix-socket-test-teardown-v9_16' into 'v9_16'
tests: fix isc/socket_test.c teardown

See merge request isc-projects/bind9!3636
2020-06-03 13:36:15 +00:00
Witold KręcickiandOndřej Surý ca26bcca38 tests: fix isc/socket_test.c teardown
In case of a test failure we weren't tearing down sockets and tasks
properly, causing the test to hang instead of failing nicely.

(cherry picked from commit 4a8d9250cf)
2020-06-03 14:12:18 +02:00
Ondřej Surý 4a5f917392 Merge branch '1911-remove-runtime_check-res-0-for-so_incoming_cpu-v9_16' into 'v9_16'
Resolve "RUNTIME_CHECK(res == 0) in SO_REUSE and SO_INCOMING_CPU, commit 09ba47b0676"

See merge request isc-projects/bind9!3635
2020-06-03 10:48:22 +00:00
Ondřej Surý 8c207e34a7 Add CHANGES for #1911
(cherry picked from commit 80a2ef8987)
2020-06-03 12:47:21 +02:00
Ondřej Surý 1217916c1e Don't check the result of setting SO_INCOMING_CPU
The SO_INCOMING_CPU is available since Linux 3.19 for getting the value,
but only since Linux 4.4 for setting the value (see below for a full
description).  BIND 9 should not fail when setting the option on the
socket fails, as this is only an optimization and not hard requirement
to run BIND 9.

    SO_INCOMING_CPU (gettable since Linux 3.19, settable since Linux 4.4)
        Sets or gets the CPU affinity of a socket.  Expects an integer flag.

            int cpu = 1;
            setsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu, sizeof(cpu));

        Because all of the packets for a single stream (i.e., all
	packets for the same 4-tuple) arrive on the single RX queue that
	is associated with a particular CPU, the typical use case is to
	employ one listening process per RX queue, with the incoming
	flow being handled by a listener on the same CPU that is
	handling the RX queue.  This provides optimal NUMA behavior and
	keeps CPU caches hot.

(cherry picked from commit 4ec357da0a)
2020-06-03 12:47:21 +02:00