Commit Graph
29496 Commits
Author SHA1 Message Date
Michal Nowak 0e585e88d3 Update copyrights to 2022
(cherry picked from commit befd654e)
2022-01-03 12:16:45 +01:00
Michal Nowak 8d96225fd9 Merge branch 'mnowak/make-debian-11-bullseye-base-image-v9_11' into 'v9_11'
[v9_11] Make bullseye the base image

See merge request isc-projects/bind9!5671
2021-12-23 15:59:20 +00:00
Michal Nowak 4b96bed836 Use /dev/urandom as BIND 9.11 randomness source
This prevents resolver timeouts for the reference (BIND 9.11) servers
used in respdiff tests run on Debian 11 "bullseye".

--with-randomdev=/dev/urandom is part of the "configure" template.

(cherry picked from commit 4d7e343813)
2021-12-23 15:57:44 +01:00
Michal Nowak e984b39816 Make bullseye the base image
"buster" jobs are now only going to be run in scheduled pipelines.

"--without-gssapi" ./configure option of "bullseye" before it became the
base image is dropped from "bullseye"-the-base-image because it reduces
gcov coverage by 0.38 % (651 lines) and is used in Debian 9 "stretch".

"--enable-openssl-hash" is on purpose not being tested because it fails
linking when either of --with-ecdsa, --with-gost, --with-eddsa, or
--with-aes is used as well because it can't find f.e. HMAC_CTX_new() as
"-lcrypto" is missing:

    /usr/bin/ld: ../../lib/isc/libisc.a(hmacmd5.o): in function `isc_hmacmd5_init':
    /root/bind9/lib/isc/hmacmd5.c:49: undefined reference to `HMAC_CTX_new'
    /usr/bin/ld: /root/bind9/lib/isc/hmacmd5.c:51: undefined reference to `EVP_md5'
    /usr/bin/ld: /root/bind9/lib/isc/hmacmd5.c:51: undefined reference to `HMAC_Init_ex'

BIND 9.11 is in security-fixes-only-mode and configure.ac code should
not be fixed to include "-lcrypto" in this corner case; better eliminate
a pairwise hint.

(cherry picked from commit 910d595fbc)
2021-12-23 15:57:28 +01:00
Michal Nowak 1352db115d Merge branch 'mnowak/respdiff-job-dependency-fix-v9_11' into 'v9_11'
[v9_11] Execute respdiff jobs out-of-order

See merge request isc-projects/bind9!5667
2021-12-22 14:42:32 +00:00
Michal Nowak 06fd3662b4 Execute respdiff jobs out-of-order
Commit 9aa1c580 dropped dependency of "respdiff" and
"respdiff-third-party" jobs on "tarball-create" job because these jobs
don't need to depend on in (e.g., for its artifacts). This, however,
caused that respdiff jobs weren't started out-of-order and artifacts
from all the "Build" stage jobs plus "unit:gcc:buster:amd64" job were
downloaded to project directory and caused problems with compilation:

Originally, the dependency on "tarball-create" has been added in
45d59c50 to indicate that respdiff "is meant to operate on two different
BIND versions". It seems that the intent didn't work out, and we better
make it obvious that respdiff jobs don't depend on any other job and
should be run out-of-order.

(cherry picked from commit 87578efc71)
2021-12-22 15:32:52 +01:00
Michal Nowak 04b38f755e Merge branch 'mnowak/respdiff-add-third-party-server-support-v9_11' into 'v9_11'
[v9_11] Add respdiff job with third-party recursors

See merge request isc-projects/bind9!5663
2021-12-21 16:40:20 +00:00
Michal Nowak 9aa1c580b7 Add respdiff job with third-party recursors
The order of directories with reference and test BIND 9 are now reversed
for respdiff.sh.

The data.mdb file has more than 10 GB and makes artifact download take
an unnecessarily long time.

(cherry picked from commit 2ececf2c02)
2021-12-21 17:28:47 +01:00
Michal Nowak 68ff70afd9 Merge branch 'mnowak/alpine-suppress-openssl-deprecations' into 'v9_11'
Suppress OpenSSL 3.0 deprecated declarations warning

See merge request isc-projects/bind9!5550
2021-12-21 10:29:12 +00:00
Michal Nowak 64ac8d1b5d Suppress OpenSSL 3.0.0 deprecated declarations warning
Alpine Linux image has OpenSSL 3.0.0 from the "edge" repository to test
OpenSSL 3.0.0 support in the BIND 9 "main" branch. However, this breaks
compilation of branches without OpenSSL 3.0.0 support and therefore
OpenSSL deprecated declarations need to be suppressed with
-DOPENSSL_SUPPRESS_DEPRECATED.
2021-12-21 11:24:17 +01:00
Michal Nowak 10f9bdc9f7 Merge branch 'mnowak/freebsd-12.3-v9_11' into 'v9_11'
[v9_11] Add FreeBSD 12.3

See merge request isc-projects/bind9!5660
2021-12-20 17:26:51 +00:00
Michal Nowak 7d681f013b Add FreeBSD 12.3
(cherry picked from commit a4d8571fa2)
2021-12-20 17:36:29 +01:00
Michal Nowak 7a809ce012 Merge branch 'mnowak/add-fedora-35-v9_11' into 'v9_11'
[v9_11] Add Fedora 35

See merge request isc-projects/bind9!5658
2021-12-17 15:21:43 +00:00
Michal Nowak 3aa9746f02 Add Fedora 35
(cherry picked from commit 668be42965)
2021-12-17 15:54:46 +01:00
Michal Nowak f7aa935436 Merge branch 'mnowak/drop-freebsd-11-v9_11' into 'v9_11'
[v9_11] Drop FreeBSD 11

See merge request isc-projects/bind9!5655
2021-12-17 12:22:59 +00:00
Michal Nowak 93b49d99d5 Drop FreeBSD 11
Support for FreeBSD 11.4, the last FreeBSD 11.x release, ended on
September 30, 2021.

Link: https://www.freebsd.org/security/unsupported/

Also drop $WITH_READLINE_LIBEDIT from clang:freebsd13:amd64, it should
not have been added in the first place.

(cherry picked from commit 981579f379)
2021-12-17 13:16:12 +01:00
Michal Nowak aaed377dc8 Merge branch 'mnowak/alpine-3.15-v9_11' into 'v9_11'
[v9_11] Add Alpine Linux 3.15

See merge request isc-projects/bind9!5652
2021-12-16 16:07:42 +00:00
Michal Nowak 0be69e9778 Add Alpine Linux 3.15
(cherry picked from commit d43127a387)
2021-12-16 17:00:09 +01:00
Petr Špaček e75186aa16 Merge branch 'pspacek/ci-api-triggers-v9_11' into 'v9_11'
Enable regular pipeline jobs to be triggered from Gitlab API [v9_11]

See merge request isc-projects/bind9!5650
2021-12-16 15:24:38 +00:00
Petr Špaček 774a1b33da Enable regular pipeline jobs to be triggered from Gitlab API
(cherry picked from commit eb8c8753ad)
2021-12-16 16:22:55 +01:00
Michal Nowak 6f0df29fb0 Merge branch '2886-drop-cppcheck-v9_11' into 'v9_11'
[v9_11] Drop cppcheck CI job

See merge request isc-projects/bind9!5641
2021-12-14 14:40:47 +00:00
Michal Nowak 3681ed3576 Drop cppcheck CI job
Every cppcheck update brings the cost of addressing new false positives
in the BIND 9 source code while not reaping any benefits in case of
identified issues with the code.

(cherry picked from commit 654cc61bb9)
2021-12-14 15:23:51 +01:00
Michal Nowak c2e6a48415 Merge branch 'mnowak/switch-pkcs11-job-to-fedora' into 'v9_11'
Run gcc:pkcs11 CI jobs on Fedora image

See merge request isc-projects/bind9!5614
2021-12-14 11:32:33 +00:00
Michal Nowak 99e127ffc8 Configure gcc:pkcs11 CI job with "--disable-warn-error"
"--disable-warn-error" ./configure option disables compiler warnings.
This ensures that the job will not fail because of warnings (e.g., array
inconsistencies in lib/isc/sha2.c) we don't want to fix on BIND 9.11
because the version is in security-fixes-only mode.

    sha2.c:310:26: error: argument 1 of type 'uint8_t[]' {aka 'unsigned char[]'} with mismatched bound [-Werror=array-parameter=]
      310 | isc_sha224_final(uint8_t digest[], isc_sha224_t *context) {
          |                  ~~~~~~~~^~~~~~~~
    In file included from sha2.c:58:
    ./include/isc/sha2.h:132:24: note: previously declared as 'uint8_t[28]' {aka 'unsigned char[28]'}
      132 | void isc_sha224_final (uint8_t[ISC_SHA224_DIGESTLENGTH], isc_sha224_t *);
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sha2.c:376:26: error: argument 1 of type 'uint8_t[]' {aka 'unsigned char[]'} with mismatched bound [-Werror=array-parameter=]
      376 | isc_sha256_final(uint8_t digest[], isc_sha256_t *context) {
          |                  ~~~~~~~~^~~~~~~~
    In file included from sha2.c:58:
    ./include/isc/sha2.h:139:24: note: previously declared as 'uint8_t[32]' {aka 'unsigned char[32]'}
      139 | void isc_sha256_final (uint8_t[ISC_SHA256_DIGESTLENGTH], isc_sha256_t *);
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sha2.c:442:26: error: argument 1 of type 'uint8_t[]' {aka 'unsigned char[]'} with mismatched bound [-Werror=array-parameter=]
      442 | isc_sha512_final(uint8_t digest[], isc_sha512_t *context) {
          |                  ~~~~~~~~^~~~~~~~
    In file included from sha2.c:58:
    ./include/isc/sha2.h:153:24: note: previously declared as 'uint8_t[64]' {aka 'unsigned char[64]'}
      153 | void isc_sha512_final (uint8_t[ISC_SHA512_DIGESTLENGTH], isc_sha512_t *);
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sha2.c:508:26: error: argument 1 of type 'uint8_t[]' {aka 'unsigned char[]'} with mismatched bound [-Werror=array-parameter=]
      508 | isc_sha384_final(uint8_t digest[], isc_sha384_t *context) {
          |                  ~~~~~~~~^~~~~~~~
    In file included from sha2.c:58:
    ./include/isc/sha2.h:146:24: note: previously declared as 'uint8_t[48]' {aka 'unsigned char[48]'}
      146 | void isc_sha384_final (uint8_t[ISC_SHA384_DIGESTLENGTH], isc_sha384_t *);
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-12-14 12:12:40 +01:00
Michal Nowak fd9e100b42 Drop gcc:fedora34 CI jobs
With switching the gcc:pkcs11 CI jobs from Debian Buster to Fedora, we
don't need two Fedora CI jobs, which differ only by leveraging PKCS#11
or OpenSSL.
2021-12-14 12:11:39 +01:00
Michal Nowak 18da983970 Run gcc:pkcs11 CI jobs on Fedora image
SoftHSM v2.4 was dropped from the base image because it is being
upgraded to Debian Bullseye, which has SoftHSM v2.6, the same version we
already have in the Fedora image, and use it in the "main" branch for
PKCS#11 testing. However, on the "v9_11" branch, to sustain PKCS#11
testing, gcc:pkcs11 CI jobs need to be ported from the base image to the
Fedora image.
2021-12-14 12:10:07 +01:00
Ondřej Surý 04f641a173 Merge branch 'ondrej/update-flycheck-configuration-on-Linux-v9_11' into 'v9_11'
Add flycheck configuration for libxml2 and json-c on Linux

See merge request isc-projects/bind9!5572
2021-11-15 11:35:48 +00:00
Ondřej SurýandOndřej Surý c5e3b0646b Add flycheck configuration for libxml2 and json-c on Linux
(cherry picked from commit 41f86440c4)
2021-11-15 12:34:45 +01:00
Petr Špaček 73ff4280b7 Merge branch 'pspacek/ci-jobs-interruptible-v9_11' into 'v9_11'
Automatically cancel CI jobs on outdated branches [v9_11]

See merge request isc-projects/bind9!5565
2021-11-09 12:22:45 +00:00
Petr Špaček a01d9606bb Automatically cancel CI jobs on outdated branches
Gitlab feature
https://docs.gitlab.com/ee/ci/pipelines/settings.html#auto-cancel-redundant-pipelines
can automatically cancel jobs which operate on an outdated code, i.e. on
branches which received new commits while jobs with an older set of
commits are still running. For this feature to work jobs have to be
configured with boolean interruptible: true.

I think practically all of our current CI jobs can be cancelled,
so the option is now on by default for all jobs.
2021-11-09 13:19:40 +01:00
Michał Kępień 22aa9e7eda Merge branch 'michal/disable-pylint-warning-C0209-v9_11' into 'v9_11'
[v9_11] Disable PyLint warning C0209

See merge request isc-projects/bind9!5540
2021-10-28 13:45:54 +00:00
Michał Kępień c100ae1162 Disable PyLint warning C0209
PyLint 2.11 reports a new warning, C0209 (consider-using-f-string).
Since f-strings are only available in Python 3.6+, existing scripts
cannot be updated to use this feature just yet because they would stop
working with older Python versions.  Instead, disable PyLint warning
C0209 for the time being.

(cherry picked from commit 860ca4e0ef)
2021-10-28 15:43:24 +02:00
Michał Kępień f3235c0840 Merge branch 'v9_11_36-release' into 'v9_11'
Merge 9.11.36 release branch

See merge request isc-projects/bind9!5537
2021-10-28 10:47:16 +00:00
Michał Kępień 93b69fa3f9 Set up release notes for BIND 9.11.37 2021-10-28 12:44:12 +02:00
Michał Kępień ecb3f0e5c4 Bump BIND_BASELINE_VERSION for ABI checks 2021-10-28 12:44:12 +02:00
Tinderbox UserandMichał Kępień c71ded8ffc Merge branch 'prep-release' into security-v9_11 2021-10-28 12:44:12 +02:00
Michał Kępień f1237c5a79 Merge branch 'michal/prepare-documentation-for-bind-9.11.36' into 'security-v9_11'
Prepare documentation for BIND 9.11.36

See merge request isc-private/bind9!327
2021-10-28 12:44:12 +02:00
Tinderbox UserandMichał Kępień 4b99ff0143 prep 9.11.36 2021-10-28 12:44:12 +02:00
Michał Kępień 4866c50c44 Merge branch '2899-security-disable-lame-cache-v9_11' into 'security-v9_11'
[CVE-2021-25219] [v9_11] Disable "lame-ttl" cache

See merge request isc-private/bind9!324
2021-10-28 12:44:12 +02:00
Michał Kępień e306ef83c0 Prepare release notes for BIND 9.11.36 2021-10-28 12:44:12 +02:00
Ondřej SurýandMichał Kępień f0cfa038fd Add CHANGES and release note for [GL #2899] 2021-10-28 12:44:12 +02:00
Ondřej SurýandMichał Kępień b01862e8cd Enable lame response detection even with disabled lame cache
Previously, when lame cache would be disabled by setting lame-ttl to 0,
it would also disable lame answer detection.  In this commit, we enable
the lame response detection even when the lame cache is disabled.  This
enables stopping answer processing early rather than going through the
whole answer processing flow.
2021-10-28 12:44:12 +02:00
Ondřej SurýandMichał Kępień 1f85706711 Disable lame-ttl cache
The lame-ttl cache is implemented in ADB as per-server locked
linked-list "indexed" with <qname,qtype>.  This list has to be walked
every time there's a new query or new record added into the lame cache.
Determined attacker can use this to degrade performance of the resolver.

Resolver testing has shown that disabling the lame cache has little
impact on the resolver performance and it's a minimal viable defense
against this kind of attack.
2021-10-28 12:44:12 +02:00
Michal Nowak 3f9d7859d7 Merge branch 'mnowak/debian-11-bullseye-v9_11' into 'v9_11'
[v9_11] Add Debian 11 (bullseye)

See merge request isc-projects/bind9!5526
2021-10-22 09:28:41 +00:00
Michal Nowak 650ed92d39 Do not spawn Debian 9 CI jobs in merge requests
(cherry picked from commit 1b9a9c2829)
2021-10-22 11:09:25 +02:00
Michal Nowak 3e5cd6013e Add Debian 11 (bullseye)
(cherry picked from commit 2b5dfae5de)
2021-10-22 11:08:45 +02:00
Michal Nowak 590ac3ca1b Merge branch 'mnowak/openbsd-7.0-v9_11' into 'v9_11'
[v9_11] Add OpenBSD 7.0

See merge request isc-projects/bind9!5524
2021-10-22 07:51:28 +00:00
Michal Nowak 465c57a114 Add OpenBSD 7.0
(cherry picked from commit 75e873ed98)
2021-10-22 09:43:33 +02:00
Ondřej Surý 75fd6ee811 Merge branch '2933-bump-the-default-clang-version-to-13-v9_11' into 'v9_11'
Change the LLVM tools version to 13

See merge request isc-projects/bind9!5489
2021-10-12 10:14:09 +00:00
Ondřej Surý 7004dab7d4 Change the LLVM tools version to 13
LLVM 13.0.0 was released on 4. October 2021, change the default version
to the current stable.

(cherry picked from commit 16916ab3e3)
2021-10-12 11:32:19 +02:00