Commit Graph
29334 Commits
Author SHA1 Message Date
Mark Andrews e4e4ff0e10 Update ZONEMD to match RFC 8976
* The location of the digest type field has changed to where the
  reserved field was.
* The reserved field is now called scheme and is where the digest
  type field was.
* Digest type 2 has been defined (SHA256).

(cherry picked from commit 8510ccaa54)
2021-04-30 11:31:05 +10:00
Mark Andrews 4aaddec8d9 Merge branch '2642-reduce-the-maximum-nsec3-iterations-that-can-be-configured-v9_11' into 'v9_11'
Reduce nsec3 max iterations to 150 (9.11)

See merge request isc-projects/bind9!4967
2021-04-30 01:14:38 +00:00
Mark Andrews 00a5a54978 Add Release Note for [GL #2642]
(manually picked from commit ca07b8e414)
2021-04-30 10:49:00 +10:00
Mark Andrews d749ccc41a Add CHANGES for [GL #2642]
5625.   [func]          Reduce the supported maximum number of iterations
                        that can be configured in an NSEC3 zones to 150.
                        [GL #2642]

(cherry picked from commit e04f06873f)
2021-04-30 10:49:00 +10:00
Mark Andrews e0fbb10017 Check that excessive iterations in logged by named when
loading an existing zone or transfering from the primary.

(manually picked from commit 46eb21c546)
2021-04-30 10:49:00 +10:00
Mark Andrews aa6a2d3902 Check NSEC3 iterations with dnssec-signzone
(cherry picked from commit 8ec16c378d)
2021-04-30 10:49:00 +10:00
Mark Andrews 80e8f72500 Check that named rejects excessive iterations via UPDATE
(cherry picked from commit 4ce8437a6e)
2021-04-30 10:49:00 +10:00
Mark Andrews f5625719a0 nsupdate: reject attempts to add NSEC3PARAM with excessive iterations
(manually picked from commit 3fe75d9809)
2021-04-30 10:49:00 +10:00
Mark Andrews 6e729ce890 Warn if there is excessive NSEC3 iterations
(cherry picked from commit c9f5f8a059)
2021-04-30 10:49:00 +10:00
Mark Andrews 91a7f94a66 Reduce nsec3 max iterations to 150
(manually picked from commit 29126500d2)
2021-04-30 10:49:00 +10:00
Michal Nowak f727ba383f Merge branch 'mnowak/configure-with-enable-dnstap-by-default-v9_11' into 'v9_11'
[v9_11] Configure with --enable-dnstap by default

See merge request isc-projects/bind9!4966
2021-04-29 14:53:41 +00:00
Michal Nowak da97afefca Suppress TSAN errors from libfstrm.so
dnstap_test produces TSAN errors which originate in libfstrm.so. Unless
libfstrm is TSAN clean or a workaround is placed in libfstrm sources,
suppressing TSAN coming from libfstrm is necessary to test DNSTAP under
TSAN.

(cherry picked from commit c97c6fbfea)
2021-04-29 16:19:16 +02:00
Michal Nowak b6695749c3 Configure with --enable-dnstap by default
All platforms but OpenBSD have dnstap dependencies readily in their
respective repositories, and dnstap thus can be tested there. Given that
majority of images have dnstap dependencies available, it seems fitting
to make dnstap enabled by default.

Also dnstap is disabled for TSAN jobs configured with --disable-atomic
as it's known to produce TSAN errors (#2664) and for the gcc:noatomics
job because it has threads disabled, which is a requirement for dnstap.

(cherry picked from commit deff0ae317)
2021-04-29 16:12:13 +02:00
Michał Kępień 52e752f25d Merge branch 'v9_11_31-release' into 'v9_11'
Merge 9.11.31 release branch

See merge request isc-projects/bind9!4956
2021-04-29 10:08:00 +00:00
Michał Kępień 06a3b1858c Set up release notes for BIND 9.11.32 2021-04-29 11:56:03 +02:00
Michał Kępień c0d7b3bb1d Bump BIND_BASELINE_VERSION for ABI checks 2021-04-29 11:56:03 +02:00
Tinderbox UserandMichał Kępień c3c68c6451 Merge branch 'prep-release' into v9_11_31-release 2021-04-29 11:56:03 +02:00
Michał Kępień a35cf8bc65 Merge branch 'michal/prepare-documentation-for-bind-9.11.31' into 'v9_11_31-release'
Prepare documentation for BIND 9.11.31

See merge request isc-private/bind9!289
2021-04-29 11:56:03 +02:00
Tinderbox UserandMichał Kępień fa3ef955fe prep 9.11.31 2021-04-29 11:56:03 +02:00
Tinderbox UserandMichał Kępień 763e28ef90 Merge branch 'prep-release' into v9_11_30-release 2021-04-29 11:56:03 +02:00
Michał Kępień 83694be221 Prepare release notes for BIND 9.11.31 2021-04-29 11:56:03 +02:00
Michał Kępień 008a7ef2fb Merge branch 'michal/prepare-documentation-for-bind-9.11.30' into 'security-v9_11'
Prepare documentation for BIND 9.11.30

See merge request isc-private/bind9!286
2021-04-29 11:56:03 +02:00
Tinderbox UserandMichał Kępień ab7ca7759c prep 9.11.30 2021-04-29 11:56:03 +02:00
Michał Kępień 8736b29be8 Merge branch '2604-confidential-issue-spnego-v9_11' into 'security-v9_11'
[CVE-2021-25216] [v9_11] Documentation for ZDI-CAN-13347: ISC BIND TKEY Query Integer Overflow Remote Code Execution Vulnerability

See merge request isc-private/bind9!284
2021-04-29 11:56:03 +02:00
Michał Kępień 72995fb678 Prepare release notes for BIND 9.11.30 2021-04-29 11:56:03 +02:00
Michał Kępień 3c5c4bc2b4 Merge branch '2540-confidential-issue-existing-dname-v9_11' into 'security-v9_11'
[CVE-2021-25215] [v9_11] Properly answer queries for DNAME records that require the DNAME to be processed to resolve itself

See merge request isc-private/bind9!282
2021-04-29 11:56:03 +02:00
Michał Kępień 891db84e90 Add release note for [GL #2604] 2021-04-29 11:56:03 +02:00
Michał Kępień 614fc0e9d0 Tweak and reword release notes 2021-04-29 11:56:03 +02:00
Michał Kępień 44a7cc73b5 Merge branch '2467-confidential-issue-ixfr-checks-v9_11' into 'security-v9_11'
[CVE-2021-25214] [v9_11] Prevent malformed incoming zone transfers from producing a zone without an SOA record

See merge request isc-private/bind9!263
2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień 14f5703516 Add Release Notes entry for [GL #2540] 2021-04-29 11:56:03 +02:00
Michał Kępień 948285ef15 Add CHANGES entry for [GL #2604] 2021-04-29 11:56:03 +02:00
Michał Kępień 1fd570e4a9 Tweak and reword recent CHANGES entries 2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień abad891076 Add release note for [GL #2467] 2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień df056d0b33 Add CHANGES entry for [GL #2540] 2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień 4b307852eb Add CHANGES entry for [GL #2467] 2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień dacfd3fb87 Handle DNAME lookup via itself
When answering a query, named should never attempt to add the same RRset
to the ANSWER section more than once.  However, such a situation may
arise when chasing DNAME records: one of the DNAME records placed in the
ANSWER section may turn out to be the final answer to a client query,
but there is no way to know that in advance.  Tweak the relevant INSIST
assertion in query_find() so that it handles this case properly.  The
rdataset is freed later anyway, so there is no need to clean it up
immediately.
2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień d7011a55d3 Unload a zone if a transfer breaks its SOA record
If a zone transfer results in a zone not having any NS records, named
stops serving it because such a zone is broken.  Do the same if an
incoming zone transfer results in a zone lacking an SOA record at the
apex or containing more than one SOA record.
2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień 0313ede6e1 Address inconsistencies in checking added RRsets
loading_addrdataset() rejects SOA RRsets which are not at top of zone.
addrdataset() should similarly reject such RRsets.
2021-04-29 11:56:03 +02:00
Mark AndrewsandMichał Kępień 4eff09c6b1 Check SOA owner names in zone transfers
An IXFR containing SOA records with owner names different than the
transferred zone's origin can result in named serving a version of that
zone without an SOA record at the apex.  This causes a RUNTIME_CHECK
assertion failure the next time such a zone is refreshed.  Fix by
immediately rejecting a zone transfer (either an incremental or
non-incremental one) upon detecting an SOA record not placed at the apex
of the transferred zone.
2021-04-29 11:56:03 +02:00
Michał Kępień 0def38f7b4 Merge branch '2634-test-tkey-gssapi-credential-conditionally-v9_11' into 'v9_11'
[v9_11] Test "tkey-gssapi-credential" conditionally

See merge request isc-projects/bind9!4941
2021-04-26 08:23:52 +00:00
Michał Kępień 796df91217 Test "--without-gssapi" in GitLab CI
GitLab CI pipelines do not currently include a Linux job that would have
GSSAPI support disabled.  Add the "--without-gssapi" option to the
./configure invocation on Debian 9 to address that deficiency and also
to continuously test that build-time switch.

(cherry picked from commit a3957af864)
2021-04-26 09:46:23 +02:00
Michał Kępień 7a06b8aefe Test "tkey-gssapi-credential" conditionally
If "tkey-gssapi-credential" is set in the configuration and GSSAPI
support is not available, named will refuse to start.  As the test
system framework does not support starting named instances
conditionally, ensure that "tkey-gssapi-credential" is only present in
named.conf if GSSAPI support is available.

(cherry picked from commit 6feac68b50)
2021-04-26 09:46:23 +02:00
Petr Špaček 19f0f0aa1a Merge branch '2634-test-tkey-gssapi-credential-v9_11' into 'v9_11'
Add tests for the "tkey-gssapi-credential" option

See merge request isc-projects/bind9!4934
2021-04-23 10:33:08 +00:00
Petr Špaček d0a16000dd Add tests for the "tkey-gssapi-credential" option
Four named instances in the "nsupdate" system test have GSS-TSIG support
enabled.  All of them currently use "tkey-gssapi-keytab".  Configure two
of them with "tkey-gssapi-credential" to test that option.

As "tkey-gssapi-keytab" and "tkey-gssapi-credential" both provide the
same functionality, no test modifications are required.  The difference
between the two options is that the value of "tkey-gssapi-keytab" is an
explicit path to the keytab file to acquire credentials from, while the
value of "tkey-gssapi-credential" is the name of the principal whose
credentials should be used; those credentials are looked up in the
keytab file expected by the Kerberos library, i.e. /etc/krb5.keytab by
default.  The path to the default keytab file can be overridden using by
setting the KRB5_KTNAME environment variable.  Utilize that variable to
use existing keytab files with the "tkey-gssapi-credential" option.

The KRB5_KTNAME environment variable should not interfere with the
"tkey-gssapi-keytab" option.  Nevertheless, rename one of the keytab
files used with "tkey-gssapi-keytab" to something else than the contents
of the KRB5_KTNAME environment variable in order to make sure that both
"tkey-gssapi-keytab" and "tkey-gssapi-credential" are actually tested.

(cherry picked from commit 1746d2e84a)
2021-04-23 10:24:00 +02:00
Michał Kępień c92b2d4b30 Merge branch '2634-fix-handling-undefined-GSS_SPNEGO_MECHANISM-macro-v9_11' into 'v9_11'
[v9_11] Fix handling undefined GSS_SPNEGO_MECHANISM macro

See merge request isc-projects/bind9!4903
2021-04-16 13:00:08 +00:00
Michał Kępień 86a3b8e269 Add CHANGES entry
(cherry picked from commit 381202629e)
2021-04-16 14:54:31 +02:00
Michał Kępień 870701c336 Fix handling undefined GSS_SPNEGO_MECHANISM macro
BIND 9 attempts to look up GSSAPI OIDs for the Kerberos 5 and SPNEGO
mechanisms in the relevant header files provided by the Kerberos/GSSAPI
library used.  Due to the differences between various Kerberos/GSSAPI
implementations, if any of the expected preprocessor macros
(GSS_KRB5_MECHANISM, GSS_SPNEGO_MECHANISM) is not defined in the header
files provided by the library used, the code in lib/dns/gssapictx.c
defines its own version of each missing macro, so that BIND 9 can
attempt to use the relevant security mechanisms anyway.

Commit 7f08c756aa, which contains a
partial backport of the changes introduced in commit
978c7b2e89, left a block of code in the
lib/dns/include/dst/gssapi.h header which defines the
GSS_SPNEGO_MECHANISM preprocessor macro to NULL if it is not defined by
any header file provided by the Kerberos/GSSAPI library used.  This
causes the gss_add_oid_set_member() call in the mech_oid_set_create()
helper function to always return an error.  This in turn causes the
dst_gssapi_acquirecred() function to also always return an error, which
ultimately prevents any named instance whose configuration includes the
"tkey-gssapi-credential" option from starting.

Remove the offending conditional definition of the GSS_SPNEGO_MECHANISM
preprocessor macro from lib/dns/include/dst/gssapi.h, so that a proper
GSSAPI OID is assigned to that macro in lib/dns/gssapictx.c when the
Kerberos/GSSAPI library used does not define it.

(cherry picked from commit 648ef3a2b4)
2021-04-16 14:54:31 +02:00
Michał Kępień ca42d0c93f Roll back unnecessary libtool updates
Commit 7f08c756aa inadvertently included
libtool updates which were unrelated to the removal of custom SPNEGO
code.  Roll these updates back to avoid confusion.

(cherry picked from commit 87f1db2ce4)
2021-04-16 14:54:31 +02:00
Mark Andrews e4c36e78ac Merge branch '2597-make-calling-generic-rdata-methods-consistent-v9_11' into 'v9_11'
Make calling generic rdata methods consistent

See merge request isc-projects/bind9!4844
2021-04-13 02:11:05 +00:00
Mark Andrews 25ba866b62 Make calling generic rdata methods consistent
add matching macros to pass arguments from called methods
to generic methods.  This will reduce the amount of work
required when extending methods.

Also cleanup unnecessary UNUSED declarations.

(cherry picked from commit a88d3963e2)
2021-04-13 01:53:26 +00:00