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

31771 Commits

Author SHA1 Message Date
Michał Kępień
e3c217296d Do not install Python packages in GitLab CI jobs
As Python QA tools, BIND system test prerequisites, and documentation
building utilities are now all included in operating system images used
in GitLab CI, do not use pip for installing them in each CI job any
more.
2020-05-21 11:33:11 +02:00
Michał Kępień
622ec2b240 Merge branch 'michal/update-release-checklist' into 'master'
Update release checklist

See merge request isc-projects/bind9!3566
2020-05-21 07:15:10 +00:00
Michał Kępień
da6a4bec21 Update release checklist
- First merge release branches to maintenance branches, then push
    tags.  If tags are pushed first and a given set of releases contains
    security fixes, the push will be rejected by a server-side Git hook.

  - Update ABI check job name.

  - Add an item for updating QA tools used in GitLab CI after each
    public release.
2020-05-21 09:14:27 +02:00
Mark Andrews
0a87413c2a Merge branch '1854-extend-loop-limit-by-1' into 'master'
Resolve "Extend loop limit by 1."

Closes #1854

See merge request isc-projects/bind9!3548
2020-05-21 00:28:45 +00:00
Mark Andrews
3012e1ad9b Extend loop count by 1 to account for non-exact timing in usleep(). 2020-05-21 10:00:13 +10:00
Witold Krecicki
d003949cdb Merge branch '1859-deadlock-in-socket-c' into 'master'
Fix possible deadlock in unix/socket.c

Closes #1859

See merge request isc-projects/bind9!3561
2020-05-20 08:32:02 +00:00
Witold Kręcicki
0eec2594b9 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-05-20 09:57:25 +02:00
Michał Kępień
25b4280161 Merge branch 'may-2020-cve-fixes' into 'master'
[CVE-2020-8616] [CVE-2020-8617] May 2020 CVE fixes

Closes #1703 and #1388

See merge request isc-projects/bind9!3562
2020-05-19 11:53:08 +00:00
Mark Andrews
f533a73d99 Merge branch '1388-confidential-issue' into 'security-master'
1388 confidential issue

See merge request isc-private/bind9!135
2020-05-19 12:32:32 +02:00
Mark Andrews
7ea45838a9 Add release notes entry 2020-05-19 12:32:31 +02:00
Mark Andrews
83965f70df Add CHANGES entry 2020-05-19 12:31:29 +02:00
Mark Andrews
9b90a01d75 Update the ARM to reflect that TLD and root servers are no longer exempt
from max-recursion-queries limits.
2020-05-19 12:31:28 +02:00
Mark Andrews
e7abb07030 Merge branch '1703-tsig-verify-failure' into security-master 2020-05-19 12:30:29 +02:00
Mark Andrews
266faa3399 Count queries to the root and TLD servers as well 2020-05-19 12:30:29 +02:00
Stephen Morris
19eda751b4 Add test for reduction in number of fetches
Add a system test that counts how many address fetches are made
for different numbers of NS records and checks that the number
are successfully limited.
2020-05-19 12:30:29 +02:00
Mark Andrews
3ee5ea2fdb Reduce the number of fetches we make when looking up addresses
If there are more that 5 NS record for a zone only perform a
maximum of 4 address lookups for all the name servers.  This
limits the amount of remote lookup performed for server
addresses at each level for a given query.
2020-05-19 12:30:29 +02:00
Mark Andrews
2a020ea970 Add release note entry 2020-05-19 12:30:28 +02:00
Mark Andrews
52b4395a0c Add CHANGES entry 2020-05-19 12:29:21 +02:00
Mark Andrews
2d95c81452 Only look at tsig.error in responses 2020-05-19 12:29:21 +02:00
Mark Andrews
cb61e1dd1d Check that a 'BADTIME' response with 'QR=0' is handled as a request 2020-05-19 12:29:21 +02:00
Mark Andrews
a53bc0b28b Merge branch '1856-race-in-clear-signing-records-in-dnssec-system-test' into 'master'
Resolve "Race in 'clear signing records' in dnssec system test."

Closes #1856

See merge request isc-projects/bind9!3557
2020-05-19 03:33:53 +00:00
Mark Andrews
3405ee9eb2 Add CHANGES 2020-05-19 13:33:09 +10:00
Mark Andrews
353018c0e5 Address race in dnssec system test. 'clear signing records' can fail
as the update triggers by the rndc command to clear the signing records
may not have completed by the time the subsequent rndc command to test
that the records have been removed is commenced.  Loop several times to
prevent false negative.
2020-05-19 10:09:51 +10:00
Mark Andrews
bd0ac6ef75 Merge branch '1855-check-max-journal-size-limits-failed-as-not-enough-time-allowed' into 'master'
Resolve ""check max-journal-size limits" failed as not enough time allowed"

Closes #1855

See merge request isc-projects/bind9!3551
2020-05-18 14:10:56 +00:00
Mark Andrews
aaacf3ef45 Add CHANGES 2020-05-18 23:34:13 +10:00
Mark Andrews
0c2f0e02f2 Wait longer (up to 20 secs) for journal to be truncated 2020-05-18 23:34:13 +10:00
Michał Kępień
cda220fff3 Merge branch 'michal/misc-cppcheck-tweaks' into 'master'
Miscellaneous cppcheck tweaks

See merge request isc-projects/bind9!3541
2020-05-18 08:28:26 +00:00
Michał Kępień
481fa34e50 Work around cppcheck 2.0 uninitvar false positives
cppcheck 2.0 reports false positives about uninitialized variables in a
lot of places throughout BIND source code, e.g.:

    bin/dnssec/dnssec-cds.c:283:6: error: Uninitialized variable: length [uninitvar]
     if (isc_buffer_availablelength(&buf) <= len) {
         ^

Apparently cppcheck 2.0 has issues with processing (&var)->field syntax,
which is what the macros from lib/isc/include/isc/buffer.h are evaluated
to.  This issue was reported upstream [1] and will hopefully be
addressed in a future cppcheck release.

In the meantime, to avoid modifying BIND source code in multiple places
just because of a static checker false positive, work around the issue
by adding intermediate variables to buffer macro definitions using a sed
invocation in the cppcheck job script.

[1] https://sourceforge.net/p/cppcheck/discussion/general/thread/122153e3c1/
2020-05-18 10:23:06 +02:00
Michał Kępień
3b48eec79f Make GCC version extraction work with GCC 10
Add whitespace to the regular expression used for extracting the GCC
version from "gcc --version" output so that it works properly with
multi-digit major version numbers.
2020-05-18 10:23:06 +02:00
Michał Kępień
cb2037ee9d Ensure cppcheck creates a HTML report upon failure
Commit ec72d1100d broke the cppcheck job
in GitLab CI: when cppcheck fails, the script is immediately
interrupted, preventing cppcheck-htmlreport from being run.  To ensure
the HTML report is generated when cppcheck fails, revert to invoking
cppcheck-htmlreport in the "after_script" part of the job.
2020-05-18 10:23:06 +02:00
Mark Andrews
f07a714565 Merge branch '1852-race-in-autosign-system-test' into 'master'
Resolve "race in autosign system test."

Closes #1852

See merge request isc-projects/bind9!3546
2020-05-18 05:56:33 +00:00
Mark Andrews
07e335138b Add CHANGES 2020-05-18 15:17:42 +10:00
Mark Andrews
46c4e5d96f Retry checks that records are present and signed
There a race between when the delta is logged and when the
server returns signed record.  Retry the queries if the
lookups fail to meet expectations.
2020-05-18 12:19:16 +10:00
Evan Hunt
d298aa3bd4 Merge branch 'each-move-wiretest' into 'master'
move wire_test

See merge request isc-projects/bind9!3544
2020-05-18 00:30:17 +00:00
Evan Hunt
93d63cd923 incidental fix: reduce a long timeout in dnstap test
the dnstap test was pausing for 20 seconds to search for a string in
named.run, which only appears if named is built with --enable-developer or
--enable-querytrace.
2020-05-15 13:19:33 -07:00
Evan Hunt
e45be9d134 move wire_test back to bin/tests, no longer dependent on dnstap
wire_test is not only used by the dnstap system test, but also in
fuzz testing. it doesn't need to be installed, but it's useful to have it
built when BIND is.  this commit moves it back from bin/tests/system to
bin/tests, as a noinst_PROGRAM so that it's built by "make all" but
not installed.
2020-05-15 13:19:28 -07:00
Michal Nowak
89d7d9aff7 Merge branch 'mnowak/abi-check-artifacts' into 'master'
Collect TXT and HTML reports produced by ABI checker

See merge request isc-projects/bind9!3501
2020-05-15 09:28:42 +00:00
Michal Nowak
b5ccf95b0a Collect TXT and HTML reports produced by ABI checker
Although in util/api-checker.sh we create textual reports, we don't
preserve them in job artifacts, but we should.

We don't want to keep all HTML pages present in the project root, but
just those produced by ABI checker.
2020-05-15 11:26:27 +02:00
Mark Andrews
582b931032 Merge branch '1714-provide-ixfr-no-should-still-send-up-to-date-responses' into 'master'
Resolve "'provide-ixfr no;' should still send up-to-date responses."

Closes #1714

See merge request isc-projects/bind9!3307
2020-05-15 03:48:21 +00:00
Mark Andrews
11b1cbecb0 Add CHANGES entry 2020-05-14 16:38:11 +10:00
Mark Andrews
c7cdc47cc5 move provide-ixfr testing after the serial has been checked 2020-05-14 16:37:34 +10:00
Witold Krecicki
ee72c3f0d5 Merge branch 'wpk/fix-isc-assertions-c-error' into 'master'
Fix 'error: ‘%s’ directive argument is null [-Werror=format-overflow=]' in assertions.c

See merge request isc-projects/bind9!3504
2020-05-13 10:19:57 +00:00
Witold Kręcicki
f4260dc0c5 Fix 'error: ‘%s’ directive argument is null [-Werror=format-overflow=]' in assertions.c 2020-05-13 11:02:23 +02:00
Witold Krecicki
9427028b78 Merge branch 'wpk/tcp-accept-refactoring' into 'master'
TCP accept refactoring

See merge request isc-projects/bind9!3320
2020-05-13 07:19:49 +00:00
Witold Kręcicki
813ff015a4 CHANGES note 2020-05-13 08:46:04 +02:00
Witold Kręcicki
2f252a1068 Clean quota callback after calling it 2020-05-13 08:45:27 +02:00
Witold Kręcicki
60629e5b0b 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.
2020-05-13 08:45:27 +02:00
Mark Andrews
6ace801ddf Merge branch 'marka-update-per-type-record-limits' into 'master'
allow per type record counts to be specified in update-policy

Closes #1657

See merge request isc-projects/bind9!2124
2020-05-13 06:06:11 +00:00
Mark Andrews
8f9dc72e63 Add release note entry 2020-05-13 15:42:24 +10:00
Mark Andrews
d4f37dd18d Add CHANGES note 2020-05-13 15:37:20 +10:00