Commit Graph

36026 Commits

Author SHA1 Message Date
Ondřej Surý
b4521486ed Use C2x [[fallthrough]] when supported by LLVM/clang
Clang added support for the gcc-style fallthrough
attribute (i.e. __attribute__((fallthrough))) in version 10.  However,
__has_attribute(fallthrough) will return 1 in C mode in older versions,
even though they only support the C++11 fallthrough attribute. At best,
the unsupported attribute is simply ignored; at worst, it causes errors.

The C2x fallthrough attribute has the advantages of being supported in
the broadest range of clang versions (added in version 9) and being easy
to check for support. Use C2x [[fallthrough]] attribute if possible, and
fall back to not using an attribute for clang versions that don't have
it.

Courtesy of Joshua Root

(cherry picked from commit 14c8d43863)
2022-05-19 22:01:59 +02:00
Michal Nowak
4dde80f655 Merge tag 'v9_18_3' into v9_18
BIND 9.18.3
2022-05-19 12:07:45 +02:00
Evan Hunt
c00545a168 Merge branch '3350-rndc-dnssec-checkds-doc-v9_18' into 'v9_18'
specify time format in the documentation for 'rdnc dnssec -checkds'

See merge request isc-projects/bind9!6331
2022-05-18 22:37:35 +00:00
Evan Hunt
dfe196844c specify time format in the documentation for 'rdnc dnssec -checkds'
also clarified the writing in the surrounding paragraph.

(cherry picked from commit 83f9466d61)
2022-05-18 15:30:18 -07:00
Ondřej Surý
98e13fbc09 Merge branch '3366-configure-fails-to-find-uv-h-on-bsd-v9_18' into 'v9_18'
Use libuv CFLAGS and LIBS when checking for features [v9.18]

See merge request isc-projects/bind9!6329
2022-05-18 20:01:50 +00:00
Ondřej Surý
a50231adc1 Use libuv CFLAGS and LIBS when checking for features
When autoconf was checking for libuv features, the LIBUV_CFLAGS was not
added to CFLAGS and LIBUV_LIBS to LIBS which resulted in false
negatives.

Use AX_SAVE_FLAGS and AX_RESTORE_FLAGS to temporarily add LIBUV_CFLAGS
and LIBUV_LIBS to their respective variables.

(cherry picked from commit f063ee276e)
2022-05-18 21:22:03 +02:00
Michal Nowak
48012449de Merge branch 'mnowak/fix-typo-in-ednscompliance-test-v9_18' into 'v9_18'
[v9_18] Fix typo in ednscompliance test

See merge request isc-projects/bind9!6327
2022-05-18 17:19:23 +00:00
Michal Nowak
9c8fdec57b Fix typo in ednscompliance test
Caused by ba0313e649, an incomplete fix of
spelling errors.

(cherry picked from commit 9de2c06a21)
2022-05-18 19:16:43 +02:00
Mark Andrews
d7fd8faa57 Merge branch '3356-wrong-path-for-geoip-directory-v9_18' into 'v9_18'
Remove extraneous '$' in AS_VAR_COPY([MAXMINDDB_PREFIX], [with_maxminddb])

See merge request isc-projects/bind9!6318
2022-05-17 19:34:40 +00:00
Mark Andrews
d6b07d2787 Remove extraneous '$' in AS_VAR_COPY([MAXMINDDB_PREFIX], [with_maxminddb])
(cherry picked from commit 686d691fa9)
2022-05-18 05:03:05 +10:00
Matthijs Mekking
d4d516ca89 Merge branch '3352-kasp-test-broken-on-freebsd-v9_18' into 'v9_18'
[v9_18] Fix "kasp test broken on freebsd"

See merge request isc-projects/bind9!6312
2022-05-16 16:38:55 +00:00
Matthijs Mekking
646e00fbb2 Replace stat with PERL stat in kasp system test
7249bad7 introduced the -c option to stat(1) command, but BSD systems
do not know about it. Replace the stat(1) command with a PERL script
that achieves the same.

Why PERL? For consistency purposes, there are more places in the
system test where we use the same method.

(cherry picked from commit fe601c5915)
2022-05-16 18:02:38 +02:00
Matthijs Mekking
b777649fda Merge branch '3302-keymgr-updates-key-files-each-run-v9_18' into 'v9_18'
[v9_18] Fix "keymgr updates key files each run"

See merge request isc-projects/bind9!6300
2022-05-16 15:36:50 +00:00
Matthijs Mekking
7cfc5e51ed Add changes and release notes for #3302
Add a comment to make danger happy.

(cherry picked from commit 0f89f0b134)
2022-05-16 10:37:39 +02:00
Matthijs Mekking
9b6a20b42e Check if key metadata is modified before writing
Add a new parameter to the dst_key structure, mark a key modified if
dst_key_(un)set[bool,num,state,time] is called. Only write out key
files during a keymgr run if the metadata has changed.

(cherry picked from commit 1da91b3ab4)
2022-05-16 10:37:23 +02:00
Matthijs Mekking
90ceb24b1c Add kasp test for #3302
Add a test case that triggers a keymgr run that will not trigger any
metadata changes. Ensure that the last status change of the key files
is unmodified.

(cherry picked from commit 7249bad706)
2022-05-16 10:37:23 +02:00
Evan Hunt
c77fcc61eb Merge branch '3327-fetches-per-server-quota-v9_18' into 'v9_18'
fix the fetches-per-server quota calculation

See merge request isc-projects/bind9!6307
2022-05-14 08:29:03 +00:00
Evan Hunt
ef963cf5e4 Add CHANGES note for [GL #3327]
(cherry picked from commit 3f478a3bed)
2022-05-14 00:59:12 -07:00
Evan Hunt
37bd035d39 Add lower bound checks to fetchlimit test
Check that the recursing client count is above a reasonable
minimum, as well as below a maximum, so that we can detect
bugs that cause recursion to fail too early or too often.

(cherry picked from commit 8834c44683)
2022-05-14 00:59:12 -07:00
Evan Hunt
60e25826c6 Cleanup: always count ns_statscounter_recursclients
The ns_statscounter_recursclients counter was previously only
incremented or decremented if client->recursionquota was non-NULL.
This was harmless, because that value should always be non-NULL if
recursion is enabled, but it made the code slightly confusing.

(cherry picked from commit 0201eab655)
2022-05-14 00:59:09 -07:00
Evan Hunt
fa8b33ce56 Disable EDNS for the fetchlimit test server
The fetchlimit test depends on a resolver continuing to try UDP
and timing out while the client waits for resolution to succeed.
but since commit bb990030 (flag day 2020), a fetch will always
switch to TCP after two timeouts, unless EDNS was disabled for
the query.

This commit adds "edns no;" to server statements in the fetchlimit
resolver, to restore the behavior expected by the test.

(cherry picked from commit 81deb24deb)
2022-05-14 00:43:17 -07:00
Evan Hunt
bca7f19541 Fix the fetches-per-server quota calculation
Since commit bad5a523c2, when the fetches-per-server quota
was increased or decreased, instead of the value being set to
the newly calculated quota, it was set to the *minimum* of
the new quota or 1 - which effectively meant it was always set to 1.
it should instead have been the maximum, to prevent the value from
ever dropping to zero.

(cherry picked from commit 694bc50273)
2022-05-14 00:43:17 -07:00
Evan Hunt
eaf5745554 Merge branch '3351-checkconf-overflow-v9_18' into 'v9_18'
prevent a possible buffer overflow in configuration check

See merge request isc-projects/bind9!6304
2022-05-14 03:49:45 +00:00
Evan Hunt
e117244850 prevent a possible buffer overflow in configuration check
corrected code that could have allowed a buffer overfow while
parsing named.conf.

(cherry picked from commit 921043b541)
2022-05-13 20:29:36 -07:00
Ondřej Surý
57f50fcd13 Merge branch 'ondrej-fix-trampoline-locking-v9_18' into 'v9_18'
Lock the trampoline when attaching [v9.18]

See merge request isc-projects/bind9!6298
2022-05-13 12:05:47 +00:00
Ondřej Surý
71b0e9e5b7 Lock the trampoline when attaching
When attaching to the trampoline, the isc__trampoline_max was access
unlocked.  This would not manifest under normal circumstances because we
initialize 65 trampolines by default and that's enough for most
commodity hardware, but there are ARM machines with 128+ cores where
this would be reported by ThreadSanitizer.

Add locking around the code in isc__trampoline_attach().  This also
requires the lock to leak on exit (along with memory that we already)
because a new thread might be attaching to the trampoline while we are
running the library destructor at the same time.

(cherry picked from commit 933162ae14)
2022-05-13 13:21:49 +02:00
Matthijs Mekking
9eb02cc50a Merge branch '3335-confusing-parental-source-documentation-v9_18' into 'v9_18'
[v9_18] Remove confusing parental-source line

See merge request isc-projects/bind9!6286
2022-05-11 15:06:50 +00:00
Matthijs Mekking
4dbfa40e95 Remove confusing parental-source line
Remove the line "This address must appear in the secondary server’s
parental-agents zone clause". This line is a copy paste error from
notify-source.

Rewrap.

(cherry picked from commit 313f606692)
2022-05-11 15:02:58 +00:00
Michał Kępień
8d42fda54b Merge branch 'michal/drop-post-merge-pipelines-v9_18' into 'v9_18'
[v9_18] Drop post-merge pipelines

See merge request isc-projects/bind9!6293
2022-05-11 13:06:02 +00:00
Michał Kępień
3d59d61291 Drop post-merge pipelines
Commit 24961f6068 introduced the concept
of post-merge pipelines.  These were used to build documentation after
each merge to any of the maintained branches, to allow up-to-date
documentation to be subsequently published on the bind.isc.org
microsite.  As the latter no longer downloads documentation from GitLab,
instead linking to Read the Docs for all currently maintained branches,
post-merge pipelines have become redundant since running the
"autoreconf" and "docs" jobs after each merge is not necessary any more.
Drop the "release_branch_triggering_rules" YAML anchor and revert to
default triggering rules for the "autoconf" and "docs" jobs, effectively
preventing pipelines from being created after each merge to any of the
maintained branches.

(cherry picked from commit 7b8c9e04fc)
2022-05-11 15:03:55 +02:00
Michał Kępień
ecaf773652 Merge branch '565-do-not-trigger-gitlab-pages-pipelines-any-more-v9_18' into 'v9_18'
Do not trigger GitLab Pages pipelines any more

See merge request isc-projects/bind9!6290
2022-05-11 12:17:33 +00:00
Michał Kępień
6d1d244f17 Do not set up ccache in CI jobs building docs
Building documentation for Automake-based BIND 9 versions does not
require running "make all" beforehand.  Drop ccache setup code from the
definitions of GitLab CI jobs building documentation as it is redundant.

(cherry picked from commit 59c8321ac9)
2022-05-11 14:11:47 +02:00
Michał Kępień
6c2827eac6 Do not trigger GitLab Pages pipelines any more
The bind.isc.org microsite no longer downloads documentation from
GitLab, instead linking to Read the Docs for all currently maintained
branches.  This makes it redundant to trigger GitLab Pages pipelines
after each merge to any of the maintained branches.  Revert changes
introduced by commit 31bde118db: remove
the "push:docs" job along with the "push" stage it is associated with
and revert artifact expiry time for the "docs" job to the default value.

(cherry picked from commit a7fccaee82)
2022-05-11 14:11:47 +02:00
Petr Špaček
5bd62835dd Merge branch 'pspacek/arm-remove-solaris251-v9_18' into 'v9_18'
Remove ARM notes about Solaris 2.5.1 [v9_18]

See merge request isc-projects/bind9!6288
2022-05-11 10:53:41 +00:00
Petr Špaček
be7ee4137c Remove ARM notes about Solaris 2.5.1
It was released in May 1996 and hopefully is not used to run BIND
anymore.

(cherry picked from commit 4388656f60)
2022-05-11 12:53:05 +02:00
Petr Špaček
767b36b9c5 Merge branch '3169-arm-restructuring-v9_18' into 'v9_18'
Restructure ARM [v9_18]

See merge request isc-projects/bind9!6284
2022-05-11 09:12:50 +00:00
Suzanne Goldlust
1369885c2b Add RPZ section to the ARM
Closes: #1223

(cherry picked from commit 8a3c4cbcdd)
2022-05-11 11:08:18 +02:00
Ron Aitchison
3f816768cc Rewrite Configurations and Zone Files section in the ARM
(cherry picked from commit 5d432d40a1)
2022-05-11 11:07:32 +02:00
Ron Aitchison
55d325e420 Tweak zones.inc.rst now separated from Reference section
(cherry picked from commit 178fc50b42)
2022-05-11 11:07:32 +02:00
Ron Aitchison
98143a2b93 Move zone file material from Reference to new subsection of chapter 3
(cherry picked from commit d505090965)
2022-05-11 11:07:32 +02:00
Ron Aitchison
f43ff3f9c8 Minor DNSSEC guide tweaks
(cherry picked from commit 4ac383e9ae)
2022-05-11 11:07:32 +02:00
Ron Aitchison
0040b99c6f Restructure includes for chapter 9 Troubleshooting
(cherry picked from commit 7842a0ca8f)
2022-05-11 11:07:32 +02:00
Ron Aitchison
820cdffbc6 Split chapter Advanced DNS Features in the ARM into chapters 5, 6, 7
(cherry picked from commit 25eb91d23c)
2022-05-11 11:07:32 +02:00
Ron Aitchison
8e49e918db Split Configuration chapter in the ARM into chapters 3 and 4
(cherry picked from commit cd1c230ff6)
2022-05-11 11:07:32 +02:00
Ron Aitchison
4f95b81888 Add new ARM section Installing BIND 9
(cherry picked from commit 63e12b511f)
2022-05-11 11:07:29 +02:00
Ron Aitchison
7a57b24289 Rewrite Introduction chapters of the ARM
(cherry picked from commit 0951922028)
2022-05-11 11:05:43 +02:00
Petr Špaček
d012689eee License PNG and DIA images in the ARM under MPL-2.0 as usual
(cherry picked from commit 647318c9b7)
2022-05-11 11:05:43 +02:00
Petr Špaček
f82a42559e Remove build from chapter 2 and move it to the end of ARM
(cherry picked from commit 9d15decc41)
2022-05-11 11:05:43 +02:00
Ron Aitchison
2f53384e84 Change title and add extra link to Resource Requirements in the ARM
(cherry picked from commit 0c3b75f80b)
2022-05-11 11:05:43 +02:00
Ron Aitchison
daaab5fc52 Add link anchors into Configuration Reference section of the ARM
(cherry picked from commit dc7efb8e60)
2022-05-11 11:05:43 +02:00