Commit Graph
33883 Commits
Author SHA1 Message Date
Petr MensikandMichał Kępień 6ea7005d0e Change all internal functions to dlz_ldap prefix
To prevent any conflict in the future, avoid ldap_ prefix in any
internal functions. Keep it reserved for openldap only.

(cherry picked from commit 7bce3e7791)
2021-12-22 22:15:40 +01:00
Petr MensikandMichał Kępień 8408656489 Avoid conflict with ldap_connect function of openldap
ldap_connect is defined by OpenLDAP 2.6. Compiler complains there are
conflicting declarations. Use dlz_ldap prefix instead of ldap to avoid
conflict.

(cherry picked from commit 49e523e56f)
2021-12-22 22:15:40 +01:00
Michal Nowak 7baec16188 Merge branch 'mnowak/respdiff-job-dependency-fix-v9_16' into 'v9_16'
[v9_16] Execute respdiff jobs out-of-order

See merge request isc-projects/bind9!5666
2021-12-22 14:31:57 +00:00
Michal Nowak a68f482e14 Execute respdiff jobs out-of-order
Commit e8d8b43e 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
704eeb32 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:19:56 +01:00
Michal Nowak ac61902dfa Merge branch 'mnowak/respdiff-add-third-party-server-support-v9_16' into 'v9_16'
[v9_16] Add respdiff job with third-party recursors

See merge request isc-projects/bind9!5662
2021-12-21 16:39:59 +00:00
Michal Nowak e8d8b43e67 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:22 +01:00
Michal Nowak c17cf36e53 Merge branch 'mnowak/freebsd-12.3-v9_16' into 'v9_16'
[v9_16] Add FreeBSD 12.3

See merge request isc-projects/bind9!5659
2021-12-20 16:34:58 +00:00
Michal Nowak 4741135328 Add FreeBSD 12.3
(cherry picked from commit a4d8571fa2)
2021-12-20 17:00:10 +01:00
Michal Nowak c60d6b5029 Merge branch 'mnowak/add-fedora-35-v9_16' into 'v9_16'
[v9_16] Add Fedora 35

See merge request isc-projects/bind9!5657
2021-12-17 15:09:38 +00:00
Michal Nowak 344b95d8fc Add Fedora 35
(cherry picked from commit 668be42965)
2021-12-17 15:41:38 +01:00
Michal Nowak 905d51fe79 Merge branch 'mnowak/drop-freebsd-11-v9_16' into 'v9_16'
[v9_16] Drop FreeBSD 11

See merge request isc-projects/bind9!5654
2021-12-17 12:02:16 +00:00
Michal Nowak 937dcbaac8 Drop FreeBSD 11
Support for FreeBSD 11.4, the last FreeBSD 11.x release, ended on
September 30, 2021.

The "--with-readline" ./configure option has been added to gcc:sid:amd64
CI job; otherwise, it would be lost with the FreeBSD 11 removal.

Link: https://www.freebsd.org/security/unsupported/
(cherry picked from commit 981579f379)
2021-12-17 12:53:21 +01:00
Michal Nowak 765750bc39 Merge branch 'mnowak/alpine-3.15-v9_16' into 'v9_16'
[v9_16] Add Alpine Linux 3.15

See merge request isc-projects/bind9!5651
2021-12-16 16:02:46 +00:00
Michal Nowak e0a80d64c9 Add Alpine Linux 3.15
(cherry picked from commit d43127a387)
2021-12-16 16:54:37 +01:00
Petr Špaček 39fca4f220 Merge branch 'pspacek/ci-api-triggers-v9_16' into 'v9_16'
Enable regular pipeline jobs to be triggered from Gitlab API [v9_16]

See merge request isc-projects/bind9!5649
2021-12-16 15:22:05 +00:00
Petr Špaček d6fd1d7172 Enable regular pipeline jobs to be triggered from Gitlab API
(cherry picked from commit eb8c8753ad)
2021-12-16 16:20:23 +01:00
Petr Špaček b3fb70cf67 Merge branch 'v9_16_24-release' into 'v9_16'
Merge 9.16.24 release branch

See merge request isc-projects/bind9!5645
2021-12-16 12:36:10 +00:00
Petr Špaček d9d6c0ba66 Set up release notes for BIND 9.16.25 2021-12-16 13:29:31 +01:00
Petr Špaček bd3201c799 Merge branch 'prep-release' into 'v9_16_24-release'
prep 9.16.24

See merge request isc-private/bind9!340
2021-12-16 13:29:06 +01:00
Petr Špaček 8ef5147598 Merge branch 'michal/prepare-documentation-for-bind-9.16.24' into 'v9_16_24-release'
Prepare documentation for BIND 9.16.24

See merge request isc-private/bind9!339
2021-12-16 13:29:06 +01:00
Petr Špaček 0eb9e59610 prep 9.16.24 2021-12-16 13:29:06 +01:00
Michał KępieńandPetr Špaček 7a88254d2c Prepare release notes for BIND 9.16.24 2021-12-16 13:29:04 +01:00
Michał KępieńandPetr Špaček 8cbdef4591 Add release note for GL #853 2021-12-16 13:28:39 +01:00
Michał KępieńandPetr Špaček d30ad03361 Tweak and reword release notes 2021-12-16 13:27:30 +01:00
Ondřej Surý 885df6ff32 Merge branch '2398-reduce-memory-used-by-mempools-v9_16' into 'v9_16'
Replace locked mempools with memory contexts

See merge request isc-projects/bind9!5637
2021-12-15 20:42:50 +00:00
Ondřej Surý 16aabacc80 Add CHANGES and release notes for [GL #2398] 2021-12-15 21:23:25 +01:00
Ondřej Surý 1f7d2d53f0 Disable the internal memory allocator by default
For small sized allocations, the internal allocator gets the memory in
bigger blobs that gets splits into right-sized chunks.  This increases
speed of small allocations and reduced the fragmentation, but such
memory is never released back to the operating system.

Disable the internal allocator by default, and add new `-M internal`
command line option to `named`.
2021-12-15 13:29:19 +01:00
Ondřej Surý c96b6eb5ec Don't use mem freelists for isc_mempools
Previously, with BIND 9 internal allocator, when isc_mempool_put() would
return memory to the allocator, it would not be freed, but it would be
returned to the "freelists" and the memory would not be released to the
operating system.

Change the isc_mempool_get() and isc_mempool_put() to avoid the internal
allocator (mem_getunlocked() and mem_putunlocked()).
2021-12-15 13:29:19 +01:00
Ondřej Surý c5b703d1c6 Adjust the fillcount and freemax for dns_message mempools
According to the measurements (recorded on GL!5085), the fillcount of 2
for namepool and fillcount of 4 for rdspool can fit 99.99% of request
for tested scenarios.

This was discovered by perf recording the single second recursive test
using flamethrower where the initial malloc lit up like a flare.
2021-12-15 13:29:19 +01:00
Ondřej Surý 6abebaaad9 Remove locking mechanism from the isc_mempool
Now, that all the locked mempools have been replaced with simple isc_mem
context, remove unused optional locking from isc_mempool API.
2021-12-15 13:29:19 +01:00
Ondřej Surý 974f2f6ace Replace locked mempools with memory contexts
Current mempools are kind of hybrid structures - they serve two
purposes:

 1. mempool with a lock is basically static sized allocator with
    pre-allocated free items

 2. mempool without a lock is a doubly-linked list of preallocated items

The first kind of usage could be easily replaced with jemalloc small
sized arena objects and thread-local caches.

The second usage not-so-much and we need to keep this (in
libdns:message.c) for performance reasons.
2021-12-15 13:29:19 +01:00
Michal Nowak 8decad467c Merge branch '2886-drop-cppcheck-v9_16' into 'v9_16'
[v9_16] Drop cppcheck CI job

See merge request isc-projects/bind9!5640
2021-12-14 14:39:21 +00:00
Michal Nowak 4f5d0ea1a2 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:10:30 +01:00
Michal Nowak aa1f5885ab Merge branch 'mnowak/drop-debian-softhsm-ci-jobs' into 'v9_16'
Drop Debian SoftHSM v2.4 CI jobs

See merge request isc-projects/bind9!5610
2021-12-14 11:58:53 +00:00
Michal Nowak a278145a48 Drop Debian SoftHSM v2.4 CI jobs
The base image is in the process of being upgraded from Debian Buster to
Debian Bullseye, which has SoftHSM v2.6, the same SoftHSM version we
already test PKCS#11 with on Fedora. We don't need to test with two
SoftHSM 2.6 versions, drop CI jobs running on the base image.
2021-12-14 12:33:52 +01:00
Ondřej Surý a1389327aa Merge branch 'matthijs-regen-configure-after-mr-5625' into 'v9_16'
Regenerate configure file

See merge request isc-projects/bind9!5630
2021-12-09 16:51:52 +00:00
Matthijs Mekking 8dd2038f13 Regenerate configure file
Commit 3c77a51f added a configure check for OPENSSL_cleanup. The
regenerated configure file should have been added to that commit.
2021-12-09 17:03:31 +01:00
Matthijs Mekking 5928f2a5e7 Merge branch 'matthijs-fix-openssl-init-ssl-leak-v9_16' into 'v9_16'
Add OPENSSL_cleanup to tls_shutdown function (9.16)

See merge request isc-projects/bind9!5625
2021-12-09 10:07:19 +00:00
Matthijs Mekking 3c77a51f6b Add OPENSSL_cleanup to tls_shutdown function
This prevents a direct leak in OPENSSL_init_crypto (called from
OPENSSL_init_ssl).

Add shim version of OPENSSL_cleanup because it is missing in LibreSSL on
OpenBSD.

(cherry picked from commit 89f4f8f0c8)
2021-12-09 10:47:56 +01:00
Ondřej Surý 95432e0865 Merge branch '3051-missing-destroy-for-pthread-primitives-v9_16' into 'v9_16'
Stop leaking mutex in nmworker and cond in nm socket

See merge request isc-projects/bind9!5626
2021-12-08 17:39:12 +00:00
Ondřej Surý 1804a0332a Add CHANGES and release not for [GL #3051]
(cherry picked from commit dff5888d9b)
2021-12-08 18:20:16 +01:00
Ondřej SurýandOndřej Surý d5cdcf924a Stop leaking mutex in nmworker and cond in nm socket
On FreeBSD, the pthread primitives are not solely allocated on stack,
but part of the object lives on the heap.  Missing pthread_*_destroy
causes the heap memory to grow and in case of fast lived object it's
possible to run out-of-memory.

Properly destroy the leaking mutex (worker->lock) and
the leaking condition (sock->cond).

(cherry picked from commit 57d0fabadd)
2021-12-08 18:19:37 +01:00
Ondřej Surý 4ea50a810c Merge branch '2700-improve-failed-tcp-accept-logging-v9_16' into 'v9_16'
Improve the logging on failed TCP accept

See merge request isc-projects/bind9!5613
2021-12-02 13:40:39 +00:00
Ondřej Surý 597cb80c3e Add CHANGES and release note for [GL #2700]
(cherry picked from commit 9d53471890)
2021-12-02 14:20:16 +01:00
Ondřej Surý 75c484e36d Improve the logging on failed TCP accept
Previously, when TCP accept failed, we have logged a message with
ISC_LOG_ERROR level.  One common case, how this could happen is that the
client hits TCP client quota and is put on hold and when resumed, the
client has already given up and closed the TCP connection.  In such
case, the named would log:

    TCP connection failed: socket is not connected

This message was quite confusing because it actually doesn't say that
it's related to the accepting the TCP connection and also it logs
everything on the ISC_LOG_ERROR level.

Change the log message to "Accepting TCP connection failed" and for
specific error states lower the severity of the log message to
ISC_LOG_INFO.

(cherry picked from commit 20ac73eb22)
2021-12-02 14:19:46 +01:00
Arаm Sаrgsyаn dd243656be Merge branch '1608-catz-reconfig-crash-fix-v9_16' into 'v9_16'
[v9_16] Fix catalog zone reconfiguration crash

See merge request isc-projects/bind9!5608
2021-12-01 10:31:02 +00:00
Evan HuntandAram Sargsyan c243daf839 Add a regression test
Reconfigure the server without catalog-zone configuration, and then
put it back and reconfigure again, to confirm that there's no crash.

(cherry picked from commit bb411af31d)
2021-12-01 09:56:59 +00:00
Aram Sargsyan a6572062b1 Add CHANGES and release notes for [GL #1608]
(cherry picked from commit e644738310)
2021-12-01 09:56:59 +00:00
Aram Sargsyan 4b362a82eb Fix catalog zone reconfiguration crash
The following scenario triggers a "named" crash:

1. Configure a catalog zone.
2. Start "named".
3. Comment out the "catalog-zone" clause.
4. Run `rndc reconfig`.
5. Uncomment the "catalog-zone" clause.
6. Run `rndc reconfig` again.

Implement the required cleanup of the in-memory catalog zone during
the first `rndc reconfig`, so that the second `rndc reconfig` could
find it in an expected state.

(cherry picked from commit 43ac2cd229)
2021-12-01 09:56:59 +00:00
Mark Andrews f70a43d8d3 Merge branch '2850-the-list-of-fetches-at-the-end-of-rndc-recursing-output-is-very-poorly-explained-in-the-arm-v9_16' into 'v9_16'
Update the description of fetches-per-zone counters

See merge request isc-projects/bind9!5604
2021-11-30 13:04:03 +00:00