2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 05:57:52 +00:00

38653 Commits

Author SHA1 Message Date
Mark Andrews
b8b6b10ad2 clean up library
address style issues, unfreed memory, etc.
2023-03-28 18:41:17 -07:00
Evan Hunt
bed8f85ff2 import libdummyrpz test library for DNSRPS
libdummyrpz is a limited version of the fastrpz library for use in
testing the dnsrps API.
2023-03-28 15:44:31 -07:00
Evan Hunt
f2855cb664 allow configuration of dnsrps library path
for testing purposes, we need to be able to specify a library path from
which to load the dnsrps implementation. this can now be done with the
"dnsrps-library" option.

DNSRPS can now be enabled in configure regardless of whether librpz.so
is currently installed on the system.
2023-03-28 15:44:31 -07:00
Evan Hunt
bd7f85c7e1 Merge branch '3842-delv-ns' into 'main'
implement "delv +ns"

Closes #3842

See merge request isc-projects/bind9!7477
2023-03-28 20:08:34 +00:00
Evan Hunt
155f6a2996 CHANGES and release note for [GL #3842] 2023-03-28 12:41:32 -07:00
Evan Hunt
8806abcaaa test "delv +ns"
add tests for "delv +ns", with and without +qmin and with and without
validation.
2023-03-28 12:41:32 -07:00
Evan Hunt
15fd74f466 add "delv +hint"
Add the ablity to specify a hints file from which to load root
name server addresses, so that "delv +ns" can be used with test
name servers.
2023-03-28 12:39:06 -07:00
Evan Hunt
c277df8c1f add "delv +qmin"
add an option to enable or disable QNAME minimization in delv's
internal resolver.
2023-03-28 12:39:06 -07:00
Evan Hunt
152d25668e add "delv +strace"
"delv +strace" is similar to "delv +mtrace", but sets the logging
level to DEBUG(11) instead of DEBUG(10), so that packets sent
will be logged along with packets received. "delv +ns" turns
this option on by default.
2023-03-28 12:39:06 -07:00
Evan Hunt
32189f6a59 send delv +ns output to stdout
normally, the only output of delv that is sent to stdout is
the final answer to the query; all other output is sent to
stderr. this seems undesirable for delv +ns, which will
only be used to see the process of finding the answer. so,
for that case, we now send all the logging to stdout.
2023-03-28 12:39:06 -07:00
Evan Hunt
8ce33dca6a change the log level of "resolver priming query complete"
this log message, formerly at level INFO, is now DEBUG(1),
so it won't be printed when running "delv +ns +nortrace".
2023-03-28 12:39:06 -07:00
Evan Hunt
dbadc97387 on connect error, send the actual result to the caller
formerly if a connection failed in dns_request, the callback
function was called with ISC_R_CANCELED. change this to the
actual result code so the failure is correctly reported.
2023-03-28 12:39:05 -07:00
Evan Hunt
e90bb121a7 add explicit error for +trace argument
add a specific error message when someone tries to use
"delv +trace" suggesting "delv +ns" instead.
2023-03-28 12:39:05 -07:00
Evan Hunt
d541ddba66 add "delv +ns" command, for full internal resolution
"delv +ns" (name server mode) instantiates a full recursive resolver
inside delv and uses it to resolve the requested name and type, logging
every authoritative response received to iterative queries in the
process. this is intended to replace "dig +trace"; it much more
accurately duplicates the behavior of named when resolving a query
with a cold cache.
2023-03-28 12:39:05 -07:00
Evan Hunt
d91097e0c7 change ns__client_request() to ns_client_request()
in the future we'll want to call this function from outside named,
so change the name to one suitable for external access.
2023-03-28 12:38:28 -07:00
Evan Hunt
fe7ed2ba24 update stream sockets with bound address/port
when isc_nm_listenstreamdns() is called with a local port of 0,
a random port is chosen. call uv_getsockname() to determine what
the port is as soon as the socket is bound, and add a function
isc_nmsocket_getaddr() to retrieve it, so that the caller can
connect to the listening socket. this will be used in cases
where the same process is acting as both client and server.
2023-03-28 12:38:28 -07:00
Evan Hunt
4ad95e0567 add ns_interface_create()
add a public function ns_interface_create() allowing the caller
to set up a listening interface directly without having to set
up listen-on and scan network interfaces.
2023-03-28 12:38:28 -07:00
Evan Hunt
33a741f897 add dns_view_addtrustedkey()
the new dns_view_addtrustedkey() function allows a view's trust
anchors to be updated directly. this code was formerly in
dns_client_addtrustedkey(), which is now a wrapper around
dns_view_addtrustedkey().
2023-03-28 12:38:27 -07:00
Michal Nowak
2587fefbaa Merge branch 'mnowak/drop-unit-and-system-test-jobs' into 'main'
Drop tests on amd64cross32; move "unstable" unit and system jobs; drop Tumbleweed

See merge request isc-projects/bind9!7717
2023-03-28 14:33:38 +00:00
Michal Nowak
2b9111b435
Drop "unstable" Debian "bullseye" unit and system jobs
"Unstable" Debian "bullseye" unit and system jobs differ from unit and
system jobs on the Debian "bullseye" image by running a few more tests
enabled by the CI_ENABLE_ALL_TESTS environmental variable.  These tests
are no less stable than the rest, and thus to have distinct jobs for
them wastes resources.

Run "unstable" unit and system tests as part of stock Debian "bullseye"
jobs.
2023-03-28 16:23:35 +02:00
Michal Nowak
f86d4f3bd8
Drop unit and system tests on amd64cross32
amd64cross32 jobs run a cross-compiled 32-bit BIND 9 on the 64-bit
platform. This approach brings no build issues, and it is a good way to
catch 32-bit issues in BIND 9 code-base and ensure cross-compilation
keeps working.

Unfortunately, running unit and system tests is a problem:

- #3269 - doth-ns1 frequently failed to start
- #3316 - quota_test sometimes fails to create new thread
- #3956 - tcp-ns1 sometimes fails to allocate memory

There's little value in running unit and system tests on the
amd64cross32 platform, and it only means the effort spent by QA by
looking into what turns out to be 32-bit limitations.
2023-03-28 16:23:35 +02:00
Matthijs Mekking
a8fbdbe400 Merge branch '3965-source-never-read-master.c' into 'main'
Fix scan-build issue: initialized value never read

Closes #3965

See merge request isc-projects/bind9!7725
2023-03-28 12:57:49 +00:00
Matthijs Mekking
357b27b04f Add CHANGES entry for #3965 2023-03-28 14:57:14 +02:00
Matthijs Mekking
4c33277446 Fix scan-build issue: initialized value never read
Value stored to 'source' during its initialization is never read.
2023-03-28 14:56:56 +02:00
Tom Krizek
91c4792527 Merge branch 'tkrizek/gh-actions-branch-name-update' into 'main'
Update branch&tag name conventions

See merge request isc-projects/bind9!7697
2023-03-27 15:12:14 +00:00
Tom Krizek
5248a3e7db
Update branch&tag naming convention in CONTRIBUTING 2023-03-27 17:09:11 +02:00
Tom Krizek
ee53e3c02d
Update github actions to trigger on correct branches
The naming convention for maintanence branches was changed from `vX_Y`
to `bind-X.Y`.
2023-03-27 17:09:09 +02:00
Tom Krizek
d942c244f5 Merge branch '3962-doc-arm-fixes' into 'main'
Documentation formatting fixes in ARM

Closes #3962

See merge request isc-projects/bind9!7723
2023-03-27 15:07:31 +00:00
Tom Krizek
36a5c098bd
Apply suppress_grammar directive in ARM docs
With a newline before the :suppress_grammar: directive, it wasn't
actually interpreted as a directive, but rather as node content.
Therefore, the directive was ignored and the grammar was incorrectly
printed out.
2023-03-27 16:51:12 +02:00
Tom Krizek
1849c02606
Add missing newline in documentation code example 2023-03-27 16:51:10 +02:00
Michal Nowak
5c39b119c9 Merge branch 'mnowak/suppress-gitlab-clean-up-output' into 'main'
Suppress Git clean output in GitLab CI

See merge request isc-projects/bind9!7702
2023-03-27 13:04:45 +00:00
Michal Nowak
ddb33a12fc
Suppress Git clean output in GitLab CI
Git clean in GitLab CI can take up to a thousand lines, thus cluttering
the output for no good reason.

The default GitLab GIT_CLEAN_FLAGS variable is extended with "q" as in
"quiet.
2023-03-27 15:02:06 +02:00
Petr Špaček
24fc7f040e Merge branch 'pspacek/qmin-docs-describe-underscore' into 'main'
Clarify qname-minimization relaxed in the ARM

See merge request isc-projects/bind9!7646
2023-03-27 12:58:48 +00:00
Petr Špaček
02430a7263
Clarify qname-minimization relaxed in the ARM
Leading underscore in qname confused some users, and it was not
documented.
2023-03-27 14:54:12 +02:00
Arаm Sаrgsyаn
6a4e1d3787 Merge branch '3968-catz-data-race-in-dns__catz_update_cb' into 'main'
Fix a data race in dns__catz_update_cb()

Closes #3968

See merge request isc-projects/bind9!7726
2023-03-27 11:35:43 +00:00
Aram Sargsyan
95cb2affaa Add a CHANGES note for [GL #3968] 2023-03-27 11:09:13 +00:00
Aram Sargsyan
a2817541b3 Fix a data race in dns__catz_update_cb()
The dns__catz_update_cb() function was earlier updated (see
d2ecff3c4a0d961041b860515858d258d40462d7) to use a separate
'dns_db_t' object ('catz->updb' instead of 'catz->db') to
avoid a race between the 'dns__catz_update_cb()' and
'dns_catz_dbupdate_callback()' functions, but the 'REQUIRE'
check there still checks the validity of the 'catz->db' object.

Fix the omission.
2023-03-27 11:02:25 +00:00
Evan Hunt
2c3bbf31cf Merge branch 'each-replay-merge' into 'main'
revise branch format

See merge request isc-projects/bind9!7719
2023-03-24 20:46:46 +00:00
Tom Krizek
5fbbb46a60 Update tag name convention in release checklist 2023-03-24 20:46:34 +00:00
Evan Hunt
6e9fce7a02 revise branch format
backport branches are now called "bind-9.x" instead of "v9_x".
2023-03-24 20:46:34 +00:00
Ondřej Surý
44636fd812 Merge branch 'ondrej/use-isc_job-and-isc_async-in-netmgr' into 'main'
Convert netmgr netievent to isc_job/isc_async

Closes #3964

See merge request isc-projects/bind9!7714
2023-03-24 07:59:44 +00:00
Evan Hunt
5cefc52b2e
CHANGES for [GL #3964] 2023-03-24 07:58:53 +01:00
Ondřej Surý
a2e4a6883f
Remove the netievent remnants
After removing all functional netievents, remove what has been left from
the netievents.  This also includes leftovers from previous refactorings.
2023-03-24 07:58:53 +01:00
Ondřej Surý
6b107c3fbc
Convert stopping generic socket children to to isc_async callback
Simplify the stopping of the generic socket children by using the
isc_async API from the loopmgr instead of using the asychronous
netievent mechanism in the netmgr.
2023-03-24 07:58:53 +01:00
Ondřej Surý
744e93b70d
Convert setting of the TLS contexts to to isc_async callback
Simplify the setting of the TLS contexts by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:53 +01:00
Ondřej Surý
7ddc49d66a
Convert canceling StreamDNS socket to to isc_async callback
Simplify the canceling of the StreamDNS socket by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:53 +01:00
Ondřej Surý
2185dc75f0
Convert reading from StreamDNS socket to to isc_async callback
Simplify the reading from the StreamDNS socket by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:52 +01:00
Ondřej Surý
4a4bd68777
Convert setting of the DoH endpoints to to isc_async callback
Simplify the setting of the DoH endpoints by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:52 +01:00
Ondřej Surý
115160de73
Convert sending on the DoH socket to to isc_async callback
Simplify the sending on the DoH socket by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:52 +01:00
Ondřej Surý
a321d3f419
Convert closing the DoH socket to to isc_async callback
Simplify the closing the DoH socket by using the isc_async API
from the loopmgr instead of using the asychronous netievent mechanism in
the netmgr.
2023-03-24 07:58:52 +01:00