Commit Graph
34735 Commits
Author SHA1 Message Date
Aram Sargsyan f458f6496d Fix a logical bug in cfg_print_duration()
The cfg_print_duration() function prints a ISO 8601 duration value
converted from an array of integers, where the parts of the date and
time are stored.

durationlen[6], which holds the "seconds" part of the duration, has
a special case in cfg_print_duration() to ensure that when there are
no values in the duration, the result still can be printed as "PT0S",
instead of just "P", so it can be a valid ISO 8601 duration value.

There is a logical error in one of the two special case code paths,
when it checks that no value from the "date" part is defined, and no
"hour" or "minute" from the "time" part are defined.

Because of the error, durationlen[6] can be used uninitialized, in
which case the second parameter passed to snprintf() (which is the
maximum allowed length) can contain a garbage value.

This can not be exploited because the buffer is still big enough to
hold the maximum possible amount of characters generated by the "%u%c"
format string.

Fix the logical bug, and initialize the 'durationlen' array to zeros
to be a little safer from other similar errors.

(cherry picked from commit 9440910187)
2022-10-17 09:17:56 +00:00
Ondřej Surý cda3b93232 Merge branch 'mnowak/fix-grep-3.8-warnings-v9_16' into 'v9_16'
Fix GNU Grep 3.8 warnings [v9_16]

See merge request isc-projects/bind9!6919
2022-10-17 07:39:47 +00:00
Michal NowakandOndřej Surý e0625baf3f Add CI check for Grep warnings
(cherry picked from commit 759e8a6671)
2022-10-17 09:12:51 +02:00
Michal NowakandOndřej Surý 4be4deb740 Replace fgrep and egrep with grep -F/-E
GNU Grep 3.8 reports the following warnings:

    egrep: warning: egrep is obsolescent; using grep -E
    fgrep: warning: fgrep is obsolescent; using grep -F

(cherry picked from commit 212c4de043)
2022-10-17 09:12:02 +02:00
Michal NowakandOndřej Surý 52b86104ca Remove stray backslashes
GNU Grep 3.8 reports several instances of stray backslashes in matching
patterns:

    grep: warning: stray \ before /
    grep: warning: stray \ before :

(cherry picked from commit 65e91ef5e6)
2022-10-17 09:11:20 +02:00
Tom Krizek d3b8050793 Merge branch 'tkrizek/remove-system-test-delzone-v9_16' into 'v9_16'
Remove system test delzone [v9_16]

See merge request isc-projects/bind9!6912
2022-10-14 16:26:23 +00:00
Tom Krizek 2637043f01 Remove system test delzone
There are multiple reasons to remove this test as obsolete:

- The test may not possibly work for over 2.5 years, since
  98b3b93791 removed the rndc.py python
  tool on which this test relies.
- It isn't part of the test suite either in CI or locally unless it is
  explicitly enabled. As a result, there are many issues which prevent
  the test from being executed caused by various refactoring efforts
  accumulated over time.
- Even if the test could be executed, it has no clear failure condition.
  If the python script(s) fail, the test still passes.

(cherry picked from commit 05180154d9)
2022-10-14 16:48:38 +02:00
Michał Kępień 042c33a381 Merge branch '3592-fix-startup-detection-after-restart-in-start.pl-v9_16' into 'v9_16'
[v9_16] Fix startup detection after restart in start.pl

See merge request isc-projects/bind9!6891
2022-10-11 10:27:43 +00:00
Michał Kępień e535dc2b59 Fix startup detection after restart in start.pl
The bin/tests/system/start.pl script waits until a "running" message is
logged by a given name server instance before attempting to send a
version.bind/CH/TXT query to it.  The idea behind this was to make the
script wait until named loads all the zones it is configured to serve
before telling the system test framework that a given server is ready to
use; this prevents the need to add boilerplate code that waits for a
specific zone to be loaded to each test expecting that.

The problem is that when it looks for "running" messages, the
bin/tests/system/start.pl script assumes that the existence of any such
message in the named.run file indicates that a given named instance has
already finished loading all zones.  Meanwhile, some system tests
restart all the named instances they use throughout their lifetime (some
even do that a few times), for example to run Python-based tests.  The
bin/tests/system/start.pl script handles such a scenario incorrectly: as
soon as it finds any "running" message in the named.run file it inspects
and it gets a response to a version.bind/CH/TXT query, it tells the
system test framework that a given server is ready to use, which might
not be true - it is possible that only the "version.bind" zone is loaded
at that point and the "running" message found was logged by a
previously-shutdown named instance. This triggers intermittent failures
for Python-based tests.

Fix by improving the logic that the bin/tests/system/start.pl script
uses to detect server startup: check how many "running" lines are
present in a given named.run file before attempting to start a named
instance and only proceed with version.bind/CH/TXT queries when the
number of "running" lines found in that named.run file increases after
the server is started.

(cherry picked from commit 18e20f95f6)
2022-10-11 11:59:02 +02:00
Michał Kępień c11f286d34 Do not truncate ns2 logs in the "rrsetorder" test
In the "rrsetorder" system test, the ns2 named instance is restarted
without passing the --restart option to bin/tests/system/start.pl.  This
causes the log file for that named instance to be needlessly truncated.
Prevent this from happening by restarting the affected named instance
in the same way as all the other named instances used in system tests.

(cherry picked from commit 9146b956ae)
2022-10-11 11:59:02 +02:00
Michał Kępień 5e926b444d Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.16.35' into 'v9_16'
Set up version and release notes for BIND 9.16.35

See merge request isc-projects/bind9!6886
2022-10-10 21:36:43 +00:00
Michał Kępień aa85812c26 Set up release notes for BIND 9.16.35 2022-10-10 23:20:13 +02:00
Michał Kępień 6263e04544 Update BIND version to 9.16.35-dev 2022-10-10 23:20:13 +02:00
Petr Špaček 6e3ca66116 Merge branch '3554-improve-dnssec-policy-inline-signing-err-msg-v9_16' into 'v9_16'
Clarify new configuration incompabitility: dnssec-policy vs. inline-signing [v9_16]

See merge request isc-projects/bind9!6872
2022-10-06 08:55:44 +00:00
Petr Špaček 21c58497e2 Add Known Issue about config incompatibility
(cherry picked from commit 5589d0a49c)

Adapted for v9_16 branch: Removed hyperlinks, removed note about 9.18.
2022-10-06 10:32:52 +02:00
Petr Špaček d63bc6af08 Clarify error message about missing inline-signing & dnssec-policy
(cherry picked from commit 058c1744ba)
2022-10-06 10:31:15 +02:00
Mark Andrews 1920c3d073 Merge branch '3577-reloads-in-ixfr-system-test-happen-too-fast-v9_16' into 'v9_16'
Add sleeps to ixfr system test [v9_16]

See merge request isc-projects/bind9!6870
2022-10-05 22:04:04 +00:00
Mark Andrews 03d363d0ee Add sleeps to ixfr system test
ensure that at least a second has passed since a zone was last loaded
to prevent it accidentally being skipped as up to date.

(cherry picked from commit 491a8cfe96)
2022-10-06 08:36:38 +11:00
Michal Nowak 2227974961 Merge branch 'mnowak/drop-flake8-ignore-lists-v9_16' into 'v9_16'
[v9_16] Drop flake8 ignore lists

See merge request isc-projects/bind9!6868
2022-10-05 16:40:05 +00:00
Michal Nowak 9f27c3f95e Drop flake8 ignore lists
flake8 is not used in BIND 9 CI and inline ignore lists are not needed
anymore.

(cherry picked from commit f5d9fa6ea4)
2022-10-05 18:33:34 +02:00
Petr Špaček 4fab54454d Merge branch 'pspacek/tsan-ci-artifacts-fix-v9_16' into 'v9_16'
Fix TSAN artifact gathering in CI [v9_16]

See merge request isc-projects/bind9!6859
2022-10-05 08:20:31 +00:00
Petr Špaček 815f89dbf9 Fix TSAN artifact gathering in CI
Fixup for 2c3b2dabe9.

We forgot to update TSAN paths when moving all the unit tests to
/tests/.  Let's remove paths from find to make it less dependent on
exact location, and store all untracked files as we do in the normal
unit test template.

Related: !6243

(cherry picked from commit 9559eb3b21)
Adapted for v9_16 branch.
2022-10-05 09:50:54 +02:00
Evan Hunt 5770858152 Merge branch '3493-clear-httpd-buffer-v9_16' into 'v9_16'
compression buffer was not cleared properly

See merge request isc-projects/bind9!6854
2022-10-05 06:06:49 +00:00
Evan Hunt 7b6140e756 compression buffer was not cleared properly
clear the compression buffer before use. this eliminates the
possibility of a latent bug that, when combined with other changes,
allowed an overread in a later version of BIND.
2022-10-04 10:12:24 -07:00
Mark Andrews 59230bb58f Merge branch '3544-add-dohpath-parsing-to-svbc-v9_16' into 'v9_16'
Add support for 'dohpath' to SVCB (and HTTPS) [v9_16]

See merge request isc-projects/bind9!6850
2022-10-04 06:24:57 +00:00
Mark Andrews 9bb5157adf Use strnstr implementation from FreeBSD if not provided by OS
(cherry picked from commit 5f07fe8cbb)
2022-10-04 17:05:18 +11:00
Mark Andrews 5568aca5a5 Add release note for [GL #3544]
(cherry picked from commit 2f3441b40a)
2022-10-04 15:34:10 +11:00
Mark Andrews 14f4dadfe5 Add CHANGES note for [GL #3544]
(cherry picked from commit 335b397e15)
2022-10-04 15:34:08 +11:00
Mark Andrews e396d5d72d Add support for 'dohpath' to SVCB (and HTTPS)
dohpath is specfied in draft-ietf-add-svcb-dns and has a value
of 7.  It must be a relative path (start with a /), be encoded
as UTF8 and contain the variable dns ({?dns}).

(cherry picked from commit 6d561d3886)
2022-10-04 15:33:49 +11:00
Michal Nowak 120077bcc2 Merge branch 'mnowak/add-oracle-linux-9-v9_16' into 'v9_16'
[v9_16] Add Oracle Linux 9

See merge request isc-projects/bind9!6808
2022-10-03 13:17:57 +00:00
Michal Nowak 7ae22392da Add Oracle Linux 9
(cherry picked from commit be08cf41d9)
2022-10-03 13:28:26 +02:00
Mark AndrewsandMichal Nowak 47e8a98240 keymgr: use DEFAULT_ALGORITHM instead of {nsec3}rsasha1 2022-10-03 13:28:26 +02:00
Michal Nowak f822943473 coverage: use $DEFAULT_ALGORITHM 2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak 21cd56b42b Fix mkeys to work with DEFAULT_ALGORITHM properly
Stop using a RSASHA1 fixed key in ns3's named.conf as the
trusted key and instead compute a broken digest from the
real digest to use in trusted-keys.

(cherry picked from commit be4cbe2b80)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak 42727aab9a kasp: stop using RSASHA1 unless necessary for the test
Moves tests from being RSASHA1 based to RSASHA256 based where possible
and split out the remaining RSASHA1 based tests so that they are not
run on OS's that don't support RSASHA1.

(cherry picked from commit db028684e5)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak 4daa3d6dae keymgr2kasp: use FIPS compliant algorithms and key sizes
migrate-nomatch-alglen: switched to RSASHA256 instead of RSASHA1
and the key size now changes from 2048 bits to 3072 bits instead
of 1024 bits to 2048 bits.

migrate-nomatch-algnum: switched to RSASHA256 instead of RSASHA1
as initial algorithm and adjusted mininum key size to 2048 bits.

rsasha256: adjusted minimum key size to 2048 bits.

(cherry picked from commit 048b015166)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak 3d642f46f2 dnssec/signer/general: Replace RSASHA1 keys with RSASHA512 keys
RSASHA1 is verify only in FIPS mode. Use RSASHA256 instead.

(cherry picked from commit 9c6de6d12d)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak c6abcefee1 Check if RSASHA1 is supported by the OS
(cherry picked from commit 1690cb7bb4)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak 77e0878444 autosign: use FIPS compatible algorithms and key sizes
The nsec-only.example zone was not converted as we use it to
test nsec-only DNSSEC algorithms to nsec3 conversion failure.
The subtest is skipped in fips mode.

Update "checking revoked key with duplicate key ID" test
to use FIPS compatible algorithm.

(cherry picked from commit 99ad09975e)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak e6d1117891 rsabigexponent: convert the test from RSASHA1 to RSASHA256
RSASHA1 is not supported on some platforms.

(cherry picked from commit 8c3c011860)
2022-10-03 13:28:25 +02:00
Mark AndrewsandMichal Nowak fe4d8ca7c7 mkeys: use $() instead of back quotes
(cherry picked from commit 0e45a2b02c)
2022-10-03 13:19:35 +02:00
Mark AndrewsandMichal Nowak 4950ab72e8 Upgrade uses of hmac-sha1 to DEFAULT_HMAC
where the test is not hmac-sha1 specific

(cherry picked from commit c533e8bc5b)
2022-10-03 13:19:35 +02:00
Mark AndrewsandMichal Nowak aafc3f8cf3 Add CHANGES not for [GL #3440]
(cherry picked from commit be88c583bd)
2022-10-03 13:19:35 +02:00
Mark AndrewsandMichal Nowak e8545ad255 zonechecks: use $DEFAULT_ALGORITHM
(cherry picked from commit 459e6980e5)
2022-10-03 13:19:35 +02:00
Mark AndrewsandMichal Nowak 864a2b127a wildcard: use $DEFAULT_ALGORITHM
(cherry picked from commit 3f65c9cf85)
2022-10-03 13:19:34 +02:00
Mark AndrewsandMichal Nowak 76a154d8b1 views: use $DEFAULT_ALGORITHM
(cherry picked from commit 86b29606c3)
2022-10-03 13:19:34 +02:00
Mark AndrewsandMichal Nowak 16c6557aa2 verify: use $DEFAULT_ALGORITHM
(cherry picked from commit 93f7c7cdcd)
2022-10-03 13:19:34 +02:00
Mark AndrewsandMichal Nowak 150ace9801 upforwd: use $DEFAULT_ALGORITHM
(cherry picked from commit 5585909904)
2022-10-03 13:19:34 +02:00
Mark AndrewsandMichal Nowak 516694cd8c unknown: use $DEFAULT_ALGORITHM
(cherry picked from commit 9970d4317d)
2022-10-03 13:19:34 +02:00
Mark AndrewsandMichal Nowak b8645af516 synthfromdnssec: use $DEFAULT_ALGORITHM
(cherry picked from commit 73fd49f8bb)
2022-10-03 13:19:34 +02:00