Commit Graph

31648 Commits

Author SHA1 Message Date
Mark Andrews
06cebcb6b7 val->keynode is no longer needed
(cherry picked from commit ff4fc3f8dc)
2020-06-11 16:09:43 +10:00
Mark Andrews
70c27df941 The dsset returned by dns_keynode_dsset needs to be thread safe.
- clone keynode->dsset rather than return a pointer so that thread
  use is independent of each other.
- hold a reference to the dsset (keynode) so it can't be deleted
  while in use.
- create a new keynode when removing DS records so that dangling
  pointers to the deleted records will not occur.
- use a rwlock when accessing the rdatalist to prevent instabilities
  when DS records are added.

(cherry picked from commit e5b2eca1d3)
2020-06-11 16:09:43 +10:00
Evan Hunt
5b4d4cb3f3 Merge branch '1930-tcp-race-quota-v9_16' into 'v9_16'
Fix a race in TCP accepting.

See merge request isc-projects/bind9!3684
2020-06-10 18:49:55 +00:00
Witold Kręcicki
aa2282853a Fix a race in TCP accepting.
There's a possibility of a race in TCP accepting code:
T1 accepts a connection C1
T2 accepts a connection C2
T1 tries to accept a connection C3, but we hit a quota,
   isc_quota_cb_init() sets quota_accept_cb for the socket,
   we return from accept_connection
T2 drops C2, but we race in quota_release with accepting C3 so
   we don't see quota->waiting is > 0, we don't launch the callback
T1 accepts a connection C4, we are able to get the quota we clear
   the quota_accept_cb from sock->quotacb
T1 drops C1, tries to call the callback which is zeroed, sigsegv.
2020-06-10 11:39:43 -07:00
Witold Kręcicki
7ff1ff88f9 Don't clean quota cb cb_func/data, we don't own it 2020-06-10 17:52:53 +02:00
Michał Kępień
56005ed658 Merge branch '1921-gitlab-ci-release-process-fixes-v9_16' into 'v9_16'
[v9_16] GitLab CI release process fixes

See merge request isc-projects/bind9!3681
2020-06-09 13:02:15 +00:00
Michał Kępień
f1ddba0703 Fix GitLab CI job building release tarballs
Adjust the script for the GitLab CI job building release tarballs to
account for the changes in the documentation building process introduced
by the migration to Sphinx.
2020-06-09 14:57:00 +02:00
Witold Krecicki
1abfc5ad97 Merge branch 'wpk/fix-isc-assertions-c-error-v9_16' into 'v9_16'
Fix 'error: ‘%s’ directive argument is null [-Werror=format-overflow=]' in assertions.c

See merge request isc-projects/bind9!3677
2020-06-08 17:18:01 +00:00
Witold Kręcicki
31897276d9 Fix 'error: ‘%s’ directive argument is null [-Werror=format-overflow=]' in assertions.c
(cherry picked from commit f4260dc0c5)
2020-06-08 15:57:31 +00:00
Witold Krecicki
5467970c9e Merge branch '1859-deadlock-in-socket-c-v9_16' into 'v9_16'
Resolve "Possible deadlock in unix/socket.c"

See merge request isc-projects/bind9!3678
2020-06-08 15:56:43 +00:00
Witold Kręcicki
bbf1422614 Fix possible deadlock in unix/socket.c
In process_fd we lock sock->lock and then internal_accept locks mgr->lock,
in isc_sockmgr_render* functions we lock mgr->lock and then lock sock->lock,
that can cause a deadlock when accessing stats. Unlock sock->lock early in
all the internal_{send,recv,connect,accept} functions instead of late
in process_fd.
2020-06-08 15:30:10 +02:00
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ý
710c2dc654 Add release note for #1808
(cherry picked from commit 5a9f594629)
2020-06-05 18:58:13 -07:00
Witold Kręcicki
3175009575 Add CHANGES entry for #1808
(cherry picked from commit f0f859411f)
2020-06-05 18:58:13 -07:00
Witold Kręcicki
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 Goldlust
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 Andrews
653a6543c0 Add release note for #1798
(cherry picked from commit 8b05e6f710)
2020-06-04 16:06:48 +02:00
Mark Andrews
2ef63ad627 Add CHANGES entry for #1798
(cherry picked from commit 06e714df0d)
2020-06-04 16:06:48 +02:00
Mark Andrews
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 Andrews
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ęcicki
a0faf3dfc5 Add release notes for #1782
(cherry picked from commit d3ea1caf5a)
2020-06-04 16:02:59 +02:00
Witold Kręcicki
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 Mensik
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 Goldlust
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ęcicki
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ęcicki
279470e6cb CHANGES note
(cherry picked from commit 813ff015a4)
2020-06-03 23:00:53 +02:00
Witold Kręcicki
c4f91575ca Clean quota callback after calling it
(cherry picked from commit 2f252a1068)
2020-06-03 23:00:52 +02:00