]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
4 years agoReorder release notes
Michał Kępień [Fri, 5 Nov 2021 07:04:15 +0000 (08:04 +0100)] 
Reorder release notes

4 years agoTweak and reword release notes
Michał Kępień [Fri, 5 Nov 2021 07:04:15 +0000 (08:04 +0100)] 
Tweak and reword release notes

4 years agoMerge branch '2374-mdig-ephemeral' into 'main'
Evan Hunt [Wed, 17 Nov 2021 22:38:50 +0000 (22:38 +0000)] 
Merge branch '2374-mdig-ephemeral' into 'main'

Make mdig use the OS-supplied ephemeral port range

Closes #2374

See merge request isc-projects/bind9!5552

4 years agoMake mdig use the OS-supplied ephemeral port range
Evan Hunt [Tue, 2 Nov 2021 09:37:20 +0000 (02:37 -0700)] 
Make mdig use the OS-supplied ephemeral port range

mdig was always using the default 1024-65535 range for outgoing
messages, instead of using the system's configured ephemeral ports.

4 years agoMerge branch 'each-fix-warnings' into 'main'
Evan Hunt [Wed, 17 Nov 2021 22:11:36 +0000 (22:11 +0000)] 
Merge branch 'each-fix-warnings' into 'main'

address '--disable-doh' failures

See merge request isc-projects/bind9!5561

4 years agoaddress '--disable-doh' failures
Evan Hunt [Mon, 8 Nov 2021 20:44:55 +0000 (12:44 -0800)] 
address '--disable-doh' failures

Change 5756 (GL #2854) introduced build errors when using
'configure --disable-doh'.  To fix this, isc_nm_is_http_handle() is
now defined in all builds, not just builds that have DoH enabled.

Missing code comments were added both for that function and for
isc_nm_is_tlsdns_handle().

4 years agoMerge branch '3012-begin-end-dnssec-managed-keys-in-bin-named-config-c-are-mismatched...
Mark Andrews [Tue, 16 Nov 2021 21:44:21 +0000 (21:44 +0000)] 
Merge branch '3012-begin-end-dnssec-managed-keys-in-bin-named-config-c-are-mismatched' into 'main'

Resolve "BEGIN/END DNSSEC/MANAGED KEYS in bin/named/config.c are mismatched."

Closes #3012

See merge request isc-projects/bind9!5575

4 years agoEmbed NAMED_SYSCONFDIR contents in the bind.keys comment
Mark Andrews [Tue, 16 Nov 2021 03:39:05 +0000 (14:39 +1100)] 
Embed NAMED_SYSCONFDIR contents in the bind.keys comment

4 years agoUpdate comments around built in trust anchors
Mark Andrews [Tue, 16 Nov 2021 03:36:10 +0000 (14:36 +1100)] 
Update comments around built in trust anchors

The comments now say "# BEGIN TRUST ANCHORS" and "# END TRUST ANCHORS".

4 years agoMerge branch 'ondrej/update-flycheck-configuration-on-Linux' into 'main'
Ondřej Surý [Mon, 15 Nov 2021 11:33:37 +0000 (11:33 +0000)] 
Merge branch 'ondrej/update-flycheck-configuration-on-Linux' into 'main'

Add flycheck configuration for libxml2 and json-c on Linux

See merge request isc-projects/bind9!5570

4 years agoAdd flycheck configuration for libxml2 and json-c on Linux
Ondřej Surý [Mon, 15 Nov 2021 11:18:44 +0000 (12:18 +0100)] 
Add flycheck configuration for libxml2 and json-c on Linux

4 years agoMerge branch '3003-greedy-regular-expression-causes-intermittent-nsupdate-system...
Mark Andrews [Wed, 10 Nov 2021 01:49:43 +0000 (01:49 +0000)] 
Merge branch '3003-greedy-regular-expression-causes-intermittent-nsupdate-system-test-failures' into 'main'

Resolve "Greedy regular expression causes intermittent "nsupdate" system test failures"

Closes #3003

See merge request isc-projects/bind9!5559

4 years agoAdd CHANGES note for [GL #3003]
Mark Andrews [Mon, 8 Nov 2021 03:10:19 +0000 (14:10 +1100)] 
Add CHANGES note for [GL #3003]

4 years agoReplace incorrect sed expersion with awk
Mark Andrews [Mon, 8 Nov 2021 03:05:42 +0000 (14:05 +1100)] 
Replace incorrect sed expersion with awk

The sed expression could find the wrong instance of 10.
Use awk to replace the TTL field and also to specify the
server and issue the send command.

4 years agoMerge branch 'pspacek/ci-jobs-interruptible' into 'main'
Petr Špaček [Tue, 9 Nov 2021 10:54:39 +0000 (10:54 +0000)] 
Merge branch 'pspacek/ci-jobs-interruptible' into 'main'

Automatically cancel CI jobs on outdated branches

See merge request isc-projects/bind9!5558

4 years agoAutomatically cancel CI jobs on outdated branches
Petr Špaček [Fri, 5 Nov 2021 10:39:07 +0000 (11:39 +0100)] 
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.

4 years agoMerge branch 'pspacek/gitlab-ci-cleanup' into 'main'
Petr Špaček [Tue, 9 Nov 2021 09:54:51 +0000 (09:54 +0000)] 
Merge branch 'pspacek/gitlab-ci-cleanup' into 'main'

Remove obsolete PYTHONPATH setting from .gitlab-ci.yaml

See merge request isc-projects/bind9!5563

4 years agoRemove obsolete PYTHONPATH setting from .gitlab-ci.yaml
Petr Špaček [Tue, 9 Nov 2021 09:23:51 +0000 (10:23 +0100)] 
Remove obsolete PYTHONPATH setting from .gitlab-ci.yaml

It was leftover after removing Python tools in commit
98b3b93791777218c04a67ddaef22619162249f7.

4 years agoMerge branch '2779-wildcard_test_property_based' into 'main'
Petr Špaček [Mon, 8 Nov 2021 13:20:50 +0000 (13:20 +0000)] 
Merge branch '2779-wildcard_test_property_based' into 'main'

Add property based test for wildcard expansion

See merge request isc-projects/bind9!5203

4 years agoFix system test .status file cleanup
Petr Špaček [Wed, 27 Oct 2021 12:56:58 +0000 (14:56 +0200)] 
Fix system test .status file cleanup

4 years agoAdd new system test for wildcard expansion
Petr Špaček [Mon, 21 Jun 2021 12:51:43 +0000 (14:51 +0200)] 
Add new system test for wildcard expansion

This is almost minimal prototype to show how to use python-hypothesis
library in a system test. It does not fully replace existing shell-based
system test for wildcards.

4 years agoUse more liberal pylint for tests
Petr Špaček [Mon, 28 Jun 2021 14:17:01 +0000 (16:17 +0200)] 
Use more liberal pylint for tests

Ignore wrong-import-position to enable use of pytest.importorskip.

4 years agoUse more liberal flake8 for tests
Petr Špaček [Wed, 23 Jun 2021 08:57:14 +0000 (10:57 +0200)] 
Use more liberal flake8 for tests

Ignore rule W402 (wrong import order) to enable use of
pytest.importorskip.

4 years agoAllow py.test system test to skip itself
Petr Špaček [Tue, 22 Jun 2021 14:11:26 +0000 (16:11 +0200)] 
Allow py.test system test to skip itself

Enable use of shortcuts like pytest.importorskip and other tricks
which can cause test to skip itself.

4 years agoMerge branch '2854-cache-control-max-age' into 'main'
Artem Boldariev [Fri, 5 Nov 2021 13:02:52 +0000 (13:02 +0000)] 
Merge branch '2854-cache-control-max-age' into 'main'

Resolve #2854: DoH:  Assign HTTP responses freshness lifetime according to the smallest TTL found in the Answer section

Closes #2854

See merge request isc-projects/bind9!5493

4 years agoModify the CHANGES file [GL #2854]
Artem Boldariev [Wed, 13 Oct 2021 12:26:14 +0000 (15:26 +0300)] 
Modify the CHANGES file [GL #2854]

Mentions that we now assign HTTP freshness lifetime to responses sent
over DNS-over-HTTPS.

4 years agoadd a max-age test to doth system test
Evan Hunt [Wed, 3 Nov 2021 23:57:26 +0000 (16:57 -0700)] 
add a max-age test to doth system test

use curl, when available, to query for names that do and do not
exist; dump the response headers and check for the expected
max-age value.

4 years agoDoH: Set the "max-age" "Cache-Control" HTTP header value
Artem Boldariev [Tue, 12 Oct 2021 13:58:45 +0000 (16:58 +0300)] 
DoH: Set the "max-age" "Cache-Control" HTTP header value

This commit makes BIND set the "max-age" value of the "Cache-Control"
HTTP header to the minimal TTL from the Answer section for positive
answers, as RFC 8484 advises in section 5.1.

We calculate the minimal TTL as a side effect of rendering the
response DNS message, so it does not change the code flow much, nor
should it have any measurable negative impact on the performance.

For negative answers, the "max-age" value is set using the TTL and
SOA-minimum values from an SOA record in the Authority section.

4 years agoDoH: Add isc_nm_set_min_answer_ttl()
Artem Boldariev [Wed, 6 Oct 2021 11:09:53 +0000 (14:09 +0300)] 
DoH: Add isc_nm_set_min_answer_ttl()

This commit adds an isc_nm_set_min_answer_ttl() function which is
intended to to be used to give a hint to the underlying transport
regarding the answer TTL.

The interface is intentionally kept generic because over time more
transports might benefit from this functionality, but currently it is
intended for DoH to set "max-age" value within "Cache-Control" HTTP
header (as recommended in the RFC8484, section 5.1 "Cache
Interaction").

It is no-op for other DNS transports for the time being.

4 years agoMerge branch 'pspacek/stats_version_fix' into 'main'
Michał Kępień [Fri, 5 Nov 2021 06:42:33 +0000 (06:42 +0000)] 
Merge branch 'pspacek/stats_version_fix' into 'main'

Fix incorrect version bump in statistics channels

See merge request isc-projects/bind9!5557

4 years agoFix incorrect version bump in statistics channels
Petr Špaček [Wed, 3 Nov 2021 13:50:08 +0000 (14:50 +0100)] 
Fix incorrect version bump in statistics channels

The version number for the XML statistics channel was not incremented
correctly after removal of isc_socket code in
a55589f881bc4e4c1099e50b6d4ce84ffc7b5ba3, and the JSON version number
was not incremented at all.

4 years agoMerge branch '2973-http-buffer-fix' into 'main'
Evan Hunt [Fri, 5 Nov 2021 01:09:44 +0000 (01:09 +0000)] 
Merge branch '2973-http-buffer-fix' into 'main'

statschannel doesn't handle multiple reads correctly

Closes #2973

See merge request isc-projects/bind9!5530

4 years agoCHANGES for [GL #2973]
Evan Hunt [Sat, 23 Oct 2021 05:22:38 +0000 (22:22 -0700)] 
CHANGES for [GL #2973]

4 years agoHandle truncating the request stream in isc_httpd
Mark Andrews [Thu, 4 Nov 2021 03:36:33 +0000 (14:36 +1100)] 
Handle truncating the request stream in isc_httpd

If we have had to truncate the request stream, don't resume
reading from it.

4 years agoHandle HTTP/1.1 pipelined requests
Mark Andrews [Tue, 26 Oct 2021 04:28:36 +0000 (15:28 +1100)] 
Handle HTTP/1.1 pipelined requests

Check to see whether there are outstanding requests in the
httpd receive buffer after sending the response, and if so,
process them.

Test that pipelined requests are handled by sending multiple
minimal HTTP/1.1 using netcat (nc) and checking that we get
back the same number of responses.

4 years agoConsume the HTTP headers after processing a request
Mark Andrews [Tue, 26 Oct 2021 00:54:31 +0000 (11:54 +1100)] 
Consume the HTTP headers after processing a request

Remember the amount of space consumed by the HTTP headers, then
move any trailing data to the start of the httpd->recvbuf once
we have finished processing the request.

4 years agostatschannel doesn't handle multiple reads correctly
Evan Hunt [Fri, 22 Oct 2021 22:58:46 +0000 (15:58 -0700)] 
statschannel doesn't handle multiple reads correctly

if an incoming HTTP request is incomplete, but nothing else is clearly
wrong with it, the stats channel continues reading to see if there's
more coming.  the buffer length was not being processed correctly in
this case.  also, the server state was not reset correctly when the
request was complete, so that subsequent requests could be appended to
the first buffer instead of being treated as new.

in addition fixing the above problems, this commit also increases the
size of the httpd request buffer from 1024 to 4096, because some
browsers send a lot of headers.

4 years agoMerge branch '2998-cid-340918-uninitialized-variables-uninit' into 'main'
Mark Andrews [Wed, 3 Nov 2021 09:50:53 +0000 (09:50 +0000)] 
Merge branch '2998-cid-340918-uninitialized-variables-uninit' into 'main'

Resolve "CID 340918: Uninitialized variables (UNINIT)"

Closes #2998

See merge request isc-projects/bind9!5556

4 years agoSilence Coverity false positive
Mark Andrews [Wed, 3 Nov 2021 09:10:34 +0000 (20:10 +1100)] 
Silence Coverity false positive

Coverity if failing to determine that 'priv.elements[i].length' is
actually valid when 'buf[i]' is non-NULL.  Initialise 'priv' to
zeros.

4 years agoMerge branch 'mnowak/fix-typo-in-dns_name_copy-with-result.spatch' into 'main'
Michal Nowak [Tue, 2 Nov 2021 18:27:34 +0000 (18:27 +0000)] 
Merge branch 'mnowak/fix-typo-in-dns_name_copy-with-result.spatch' into 'main'

Fix typo in dns_name_copy-with-result.spatch

See merge request isc-projects/bind9!5549

4 years agoFix typo in dns_name_copy-with-result.spatch
Michal Nowak [Mon, 1 Nov 2021 14:40:08 +0000 (15:40 +0100)] 
Fix typo in dns_name_copy-with-result.spatch

A typo introduced in f3f1cab05e05c9bdd5da91f3ab159ec6658ec7f4 prevents
execution of the dns_name_copy-with-result.spatch. The replacement
should end with semicolon not a colon:

    plus: parse error:
      File "cocci/dns_name_copy-with-result.spatch", line 28, column 23, charpos = 421
      around = ':',
      whole content = + dns_name_copy(E1, E2):

4 years agoMerge branch '2970-bind9-xsl-is-not-properly-transmitted-over-stats-channel' into...
Mark Andrews [Tue, 2 Nov 2021 11:44:44 +0000 (11:44 +0000)] 
Merge branch '2970-bind9-xsl-is-not-properly-transmitted-over-stats-channel' into 'main'

Resolve "bind9.xsl is not properly transmitted over stats channel"

Closes #2970

See merge request isc-projects/bind9!5522

4 years agoCheck that bind9.xsl is properly transmitted
Mark Andrews [Sun, 24 Oct 2021 23:06:55 +0000 (10:06 +1100)] 
Check that bind9.xsl is properly transmitted

4 years agoAdd '\n' to the end of each line when generating xsl.c
Mark Andrews [Fri, 22 Oct 2021 06:00:39 +0000 (17:00 +1100)] 
Add '\n' to the end of each line when generating xsl.c

This makes the bind9.xml more readable in a browser when debugging
and also ensures that the file is properly terminated in the HTTP
transaction.

4 years agoMerge branch '2993-replace-instances-of-arraysize-with-array_size' into 'main'
Mark Andrews [Tue, 2 Nov 2021 10:57:45 +0000 (10:57 +0000)] 
Merge branch '2993-replace-instances-of-arraysize-with-array_size' into 'main'

Resolve "Replace instances of ARRAYSIZE with ARRAY_SIZE"

Closes #2993

See merge request isc-projects/bind9!5551

4 years agoReplace ARRAYSIZE with ARRAY_SIZE
Mark Andrews [Tue, 2 Nov 2021 05:14:40 +0000 (16:14 +1100)] 
Replace ARRAYSIZE with ARRAY_SIZE

4 years agoMerge branch '2991-address-reported-by-coverity-in-updated-openssl-code' into 'main'
Mark Andrews [Mon, 1 Nov 2021 22:37:43 +0000 (22:37 +0000)] 
Merge branch '2991-address-reported-by-coverity-in-updated-openssl-code' into 'main'

Resolve "Address reports by Coverity in updated OpenSSL code"

Closes #2991

See merge request isc-projects/bind9!5547

4 years agoAddress bugs in opensslrsa_tofile
Mark Andrews [Mon, 1 Nov 2021 00:40:26 +0000 (11:40 +1100)] 
Address bugs in opensslrsa_tofile

1) if 'key->external' is set we just need to call
   dst__privstruct_writefile
2) the cleanup of 'bufs' was incorrect as 'i' doesn't reflect the
   the current index into 'bufs'.  Use a simple for loop.

This review was triggered by Coverity reporting a buffer overrun
on 'bufs'.

4 years agoAddress potential memory leak in openssldh_parse()
Mark Andrews [Mon, 1 Nov 2021 00:13:43 +0000 (11:13 +1100)] 
Address potential memory leak in openssldh_parse()

'dh' was being assigned to key->keydata.dh too soon which could
result in a memory leak on error.  Moved the assignement of
key->keydata.dh until after dh was correct.

Coverity was reporting dead code on the error path cleaning up 'dh'
which triggered this review.

4 years agoMerge branch 'mnowak/dst-fix-unavailable-comparekeys' into 'main'
Michal Nowak [Mon, 1 Nov 2021 17:48:12 +0000 (17:48 +0000)] 
Merge branch 'mnowak/dst-fix-unavailable-comparekeys' into 'main'

Add comparekeys to release tarball

See merge request isc-projects/bind9!5548

4 years agoAdd comparekeys to release tarball
Michal Nowak [Mon, 1 Nov 2021 13:40:00 +0000 (14:40 +0100)] 
Add comparekeys to release tarball

'make dist' omits lib/dns/tests/comparekeys/ (added in
7101afa23cfc7cd005aeeb00802481094a0b9cf5) from release tarball it
creates which makes the unit:gcc:tarball CI job permanently fail in the
dst unit test.

4 years agoMerge branch 'artem/tls-do-not-strictly-require-key-and-cert' into 'main'
Artem Boldariev [Sat, 30 Oct 2021 09:13:59 +0000 (09:13 +0000)] 
Merge branch 'artem/tls-do-not-strictly-require-key-and-cert' into 'main'

Be less strict regarding "tls" statements in the configuration file by allowing both "key-file" and "cert-file" be omitted

See merge request isc-projects/bind9!5546

4 years agoBe less strict regarding "tls" statements in the configuration file
Artem Boldariev [Fri, 29 Oct 2021 15:43:40 +0000 (18:43 +0300)] 
Be less strict regarding "tls" statements in the configuration file

In the 9.17.19 release "tls" statements verification code was
added. The code was too strict and assumed that every such a statement
should have both "cert-file" and "key-file" specified. This turned out
to be a regression, as in some cases we plan to use the "tls"
statement to specify TLS connection parameters.

This commit fixes this behaviour; now a "tls" statement should either
have both "cert-file" and "key-file" specified, or both should be
omitted.

4 years agoMerge branch 'pspacek/reentrant-cleanup' into 'main'
Petr Špaček [Fri, 29 Oct 2021 07:09:20 +0000 (07:09 +0000)] 
Merge branch 'pspacek/reentrant-cleanup' into 'main'

remove last remaining reference to _REENTRANT macro and fix DLZ example

See merge request isc-projects/bind9!5544

4 years agoremove last remaining reference to _REENTRANT macro and fix DLZ example
Petr Špaček [Thu, 28 Oct 2021 12:26:09 +0000 (14:26 +0200)] 
remove last remaining reference to _REENTRANT macro and fix DLZ example

It was used only as guard against unused variable declaration, but the
surrounding code depends on strtok_r being defined unconditionally, so
there is no point in guarding a variable.
Glibc documentation suggests it is obsolete anyway and e.g. Meson build
system decided to ignore it. It seems to be required only by old
Solaris compiler and OpenIndiana uses gcc.

4 years agoMerge branch 'pspacek/clang-format-gen-patch' into 'main'
Petr Špaček [Fri, 29 Oct 2021 07:07:09 +0000 (07:07 +0000)] 
Merge branch 'pspacek/clang-format-gen-patch' into 'main'

retain diff output if clang-format changes something

See merge request isc-projects/bind9!5543

4 years agoretain diff output if clang-format changes something
Petr Špaček [Thu, 28 Oct 2021 14:39:20 +0000 (16:39 +0200)] 
retain diff output if clang-format changes something

It's major PITA trying to guess what exactly clang-format has changed,
so how CI stores patch file with changes which can be applied locally if
needed.

4 years agoMerge branch 'pspacek/placeholder' into 'main'
Petr Špaček [Thu, 28 Oct 2021 14:12:01 +0000 (14:12 +0000)] 
Merge branch 'pspacek/placeholder' into 'main'

Add placeholder for [GL !332P]

See merge request isc-projects/bind9!5542

4 years agoAdd placeholder for [GL !332P]
Petr Špaček [Thu, 28 Oct 2021 13:58:38 +0000 (15:58 +0200)] 
Add placeholder for [GL !332P]

4 years agoMerge branch 'michal/disable-pylint-warning-C0209' into 'main'
Michał Kępień [Thu, 28 Oct 2021 13:37:37 +0000 (13:37 +0000)] 
Merge branch 'michal/disable-pylint-warning-C0209' into 'main'

Disable PyLint warning C0209

See merge request isc-projects/bind9!5538

4 years agoDisable PyLint warning C0209
Michał Kępień [Thu, 28 Oct 2021 12:03:04 +0000 (14:03 +0200)] 
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.  Sort all disabled warnings in .pylintrc.

4 years agoMerge branch 'v9_17_19-release' into 'main'
Michał Kępień [Thu, 28 Oct 2021 10:10:20 +0000 (10:10 +0000)] 
Merge branch 'v9_17_19-release' into 'main'

Merge 9.17.19 release branch

See merge request isc-projects/bind9!5535

4 years agoMove CHANGES entry for GL #2308
Michał Kępień [Thu, 28 Oct 2021 10:05:58 +0000 (12:05 +0200)] 
Move CHANGES entry for GL #2308

GL #2308 was originally referenced by CHANGES entry 5727.  However, the
corresponding code change turned out to be flawed and had to be reverted
in BIND 9.17.19, causing CHANGES entry 5727 to be turned into a
placeholder on the release branch.

Commit 63145fb1d328eb66f9c786d2273bc2e3f6a3ecf5 subsequently addressed
the flaw, so the fix for GL #2308 will be included in BIND 9.17.20.
Move the relevant CHANGES entry to reflect that.

4 years agoSet up release notes for BIND 9.17.20
Michał Kępień [Thu, 28 Oct 2021 10:05:58 +0000 (12:05 +0200)] 
Set up release notes for BIND 9.17.20

4 years agoUpdate BIND version to 9.17.19
Michał Kępień [Mon, 11 Oct 2021 13:27:49 +0000 (15:27 +0200)] 
Update BIND version to 9.17.19

4 years agoAdd a CHANGES marker
Michał Kępień [Mon, 11 Oct 2021 13:27:49 +0000 (15:27 +0200)] 
Add a CHANGES marker

4 years agoMerge branch 'michal/prepare-documentation-for-bind-9.17.19' into 'security-main'
Michał Kępień [Mon, 11 Oct 2021 13:26:44 +0000 (13:26 +0000)] 
Merge branch 'michal/prepare-documentation-for-bind-9.17.19' into 'security-main'

Prepare documentation for BIND 9.17.19

See merge request isc-private/bind9!325

4 years agoMerge branch '2899-security-disable-lame-cache' into 'security-main'
Michał Kępień [Mon, 11 Oct 2021 12:07:41 +0000 (12:07 +0000)] 
Merge branch '2899-security-disable-lame-cache' into 'security-main'

[CVE-2021-25219] Disable "lame-ttl" cache

See merge request isc-private/bind9!322

4 years agoPrepare release notes for BIND 9.17.19
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Prepare release notes for BIND 9.17.19

4 years agoAdd CHANGES and release note for [GL #2899]
Ondřej Surý [Fri, 24 Sep 2021 07:58:47 +0000 (09:58 +0200)] 
Add CHANGES and release note for [GL #2899]

4 years agoAdd release note for GL #2911
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Add release note for GL #2911

4 years agoEnable lame response detection even with disabled lame cache
Ondřej Surý [Fri, 24 Sep 2021 07:48:50 +0000 (09:48 +0200)] 
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.

4 years agoReorder release notes
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Reorder release notes

4 years agoDisable lame-ttl cache
Ondřej Surý [Fri, 24 Sep 2021 07:35:11 +0000 (09:35 +0200)] 
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.

4 years agoTweak and reword release notes
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Tweak and reword release notes

4 years agoTweak and reword recent CHANGES entries
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Tweak and reword recent CHANGES entries

4 years agoMinor tweaks to PKCS#11 docs and ARM formatting
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Minor tweaks to PKCS#11 docs and ARM formatting

Explain more clearly what engine_pkcs11 is.  Fix improperly rendered
pre-formatted text.

4 years agoUpdate release checklist
Michał Kępień [Mon, 11 Oct 2021 12:39:06 +0000 (14:39 +0200)] 
Update release checklist

4 years agoMerge branch '2843-openssl-3-deprecations' into 'main'
Arаm Sаrgsyаn [Thu, 28 Oct 2021 09:42:42 +0000 (09:42 +0000)] 
Merge branch '2843-openssl-3-deprecations' into 'main'

Refactoring for OpenSSL 3.0.0 support

Closes #2843

See merge request isc-projects/bind9!5385

4 years agoAdd release note for [GL #2843]
Mark Andrews [Mon, 11 Oct 2021 01:52:46 +0000 (12:52 +1100)] 
Add release note for [GL #2843]

4 years agoAdd CHANGES note for [GL #2843]
Mark Andrews [Fri, 8 Oct 2021 06:43:57 +0000 (17:43 +1100)] 
Add CHANGES note for [GL #2843]

4 years agoThe OpenSSL engine API is deprecated in OpenSSL 3.0.0
Mark Andrews [Fri, 8 Oct 2021 01:10:56 +0000 (12:10 +1100)] 
The OpenSSL engine API is deprecated in OpenSSL 3.0.0

don't use the engine API unless the OpenSSL API is less
than 3.0.0 (OPENSSL_API_LEVEL < 30000)

4 years agoUse OpenSSL version macro instead of function check
Aram Sargsyan [Wed, 6 Oct 2021 14:18:49 +0000 (14:18 +0000)] 
Use OpenSSL version macro instead of function check

Unless being configured with the `no-deprecated` option, OpenSSL 3.0.0
still has the deprecated APIs present and will throw warnings during
compilation, when using them.

Make sure that the old APIs are being used only with the older versions
of OpenSSL.

4 years agoRefactor the OpenSSL DH usage to use newer APIs
Aram Sargsyan [Tue, 5 Oct 2021 09:11:33 +0000 (09:11 +0000)] 
Refactor the OpenSSL DH usage to use newer APIs

OpenSSL 3 deprecates most of the DH* family and associated APIs.

Reimplement the existing functionality using a newer set of APIs
which will be used when compiling/linking with OpenSSL 3.0.0 or newer
versions.

4 years agoUse the special shims file for DH shims
Aram Sargsyan [Mon, 4 Oct 2021 16:51:02 +0000 (16:51 +0000)] 
Use the special shims file for DH shims

Since we now have a separate `openssl_shim.{c,h}` files in the `dns`
library, we can place the exisintg shims there.

4 years agoRefactor the OpenSSL RSA usage to use newer APIs
Aram Sargsyan [Tue, 28 Sep 2021 08:09:39 +0000 (08:09 +0000)] 
Refactor the OpenSSL RSA usage to use newer APIs

OpenSSL 3 deprecates most of the RSA* family and associated APIs.

Reimplement the existing functionality using a newer set of APIs
which will be used when compiling/linking with OpenSSL 3.0.0 or newer
versions.

4 years agoUse the special shims file for RSA shims
Aram Sargsyan [Sun, 26 Sep 2021 18:53:38 +0000 (18:53 +0000)] 
Use the special shims file for RSA shims

Since we now have a separate `openssl_shim.{c,h}` files in the `dns`
library, we can place the exisintg shims there.

4 years agoRefactor the OpenSSL ECDSA usage to use newer APIs
Aram Sargsyan [Mon, 20 Sep 2021 15:15:14 +0000 (15:15 +0000)] 
Refactor the OpenSSL ECDSA usage to use newer APIs

OpenSSL 3 deprecates most of the EC* family and associated APIs.

Reimplement the existing functionality using a newer set of APIs
which will be used when compiling/linking with OpenSSL 3.0.0 or newer
versions.

4 years agoUse the special shims file for ECDSA shims
Aram Sargsyan [Tue, 14 Sep 2021 14:59:18 +0000 (14:59 +0000)] 
Use the special shims file for ECDSA shims

Since we now have a separate `openssl_shim.{c,h}` files in the `dns`
library, we can place the exisintg shims there.

4 years agoUse EVP_PKEY_eq() instead of deprected EVP_PKEY_cmp()
Mark Andrews [Wed, 8 Sep 2021 06:31:56 +0000 (16:31 +1000)] 
Use EVP_PKEY_eq() instead of deprected EVP_PKEY_cmp()

EVP_PKEY_eq() is the replacement with a smaller result range (0, 1)
instead of (-1, 0, 1).  EVP_PKEY_cmp() is mapped to EVP_PKEY_eq() when
building with older versions of OpenSSL.

4 years agoUse EVP_RSA_gen() if available
Mark Andrews [Tue, 7 Sep 2021 03:25:45 +0000 (13:25 +1000)] 
Use EVP_RSA_gen() if available

BN and other low level functions are deprecated in OpenSSL 3.0.0
the is one of the replacement methods for generating RSA keys.

4 years agoRefactor the OpenSSL HMAC usage to use newer APIs
Aram Sargsyan [Wed, 1 Sep 2021 19:07:58 +0000 (19:07 +0000)] 
Refactor the OpenSSL HMAC usage to use newer APIs

OpenSSL 3 deprecates the HMAC* family and associated APIs.

Rewrite portions of OpenSSL library usage code to use a newer
set of HMAC APIs.

4 years agoUse thinner shims for OpenSSL's EVP_MD_CTX_new() and EVP_MD_CTX_free()
Aram Sargsyan [Sat, 4 Sep 2021 18:33:25 +0000 (18:33 +0000)] 
Use thinner shims for OpenSSL's EVP_MD_CTX_new() and EVP_MD_CTX_free()

The EVP_MD_CTX_new() and EVP_MD_CTX_free() functions are renamed APIs
which were previously available as EVP_MD_CTX_create() and
EVP_MD_CTX_destroy() respectively, which means that we can use them
instead of providing our own shim functions.

4 years agoUse ERR_get_error_all() instead of deprecated ERR_get_error_line_data()
Aram Sargsyan [Sun, 5 Sep 2021 09:41:00 +0000 (09:41 +0000)] 
Use ERR_get_error_all() instead of deprecated ERR_get_error_line_data()

OpenSSL 3.0.0 deprecates the ERR_get_error_line_data() function.

Use ERR_get_error_all() instead of ERR_get_error_line_data() and create
a shim to use the old variant for the older OpenSSL versions which don't
have the newer ERR_get_error_all().

4 years agoUse EVP_MD_CTX_get0_md() instead of deprecated EVP_MD_CTX_md()
Aram Sargsyan [Wed, 1 Sep 2021 18:50:46 +0000 (18:50 +0000)] 
Use EVP_MD_CTX_get0_md() instead of deprecated EVP_MD_CTX_md()

OpenSSL 3.0.0 deprecates the EVP_MD_CTX_md() function.

Use EVP_MD_CTX_md() instead of EVP_MD_CTX_get0_md() and create a shim
to use the old variant for the older OpenSSL versions which don't have
the newer EVP_MD_CTX_get0_md().

4 years agoMake the configure.ac script compatible with OpenSSL 3.0.0
Aram Sargsyan [Wed, 1 Sep 2021 13:13:24 +0000 (13:13 +0000)] 
Make the configure.ac script compatible with OpenSSL 3.0.0

OpenSSL 3.0.0 deprecates many low level API functions.

In preparation for the future support of linking BIND with OpenSSL 3.0.0
without the deprecated API functions, change the configure.ac script to
use functions which are available on all supported versions of OpenSSL
and LibreSSL.

4 years agoMerge branch '2972-rsa-keys-compare-typo-bug' into 'main'
Arаm Sаrgsyаn [Thu, 28 Oct 2021 07:31:13 +0000 (07:31 +0000)] 
Merge branch '2972-rsa-keys-compare-typo-bug' into 'main'

Fix a bug when comparing two RSA keys

Closes #2972

See merge request isc-projects/bind9!5529

4 years agoAdd dst_key_pubcompare and dst_key_compare unit test
Aram Sargsyan [Wed, 27 Oct 2021 19:52:05 +0000 (19:52 +0000)] 
Add dst_key_pubcompare and dst_key_compare unit test

The dst_key_pubcompare() and dst_key_compare() didn't have a unit test,
add the unit tests which test comparing the same keys, different keys,
and, where possible, similar keys with a manually altered parameter.

dst_key_pubcompare() internally uses the *_todns() functions of the
lib/dns/openssl*_link.c modules.

dst_key_compare() internally uses the *_compare() functions of the
lib/dns/openssl*_link.c modules.

4 years agoAdd CHANGES note for [GL #2972]
Aram Sargsyan [Fri, 22 Oct 2021 13:38:45 +0000 (13:38 +0000)] 
Add CHANGES note for [GL #2972]

4 years agoFix a bug when comparing two RSA keys
Aram Sargsyan [Sat, 25 Sep 2021 14:03:27 +0000 (14:03 +0000)] 
Fix a bug when comparing two RSA keys

When comparing different parameters of two RSA keys there is a typo
which causes the "p" prime factors to not being compared.

Fix the typo.