Commit Graph
39782 Commits
Author SHA1 Message Date
Evan Hunt e83ac0ce65 use dns_nametree in place of RBTs
replace the use of RBTs for deny-answer-aliases, the exclude
lists for deny-answer-aliases and deny-answer-addresses, and
dnssec-must-be-secure, with name trees.
2023-09-01 10:46:53 -07:00
Evan Hunt 56114aaa0d add dns_nametree structure for policy match lookups
this is a QP trie of boolean values to indicate whether a name is
included in or excluded from some policy. this can be used for
synth-from-dnssec, deny-answer-aliases, etc.
2023-09-01 10:46:48 -07:00
Evan Hunt 9067b637d8 replace RBTs with hashmaps in dns_transport
as dns_transport_find() is only concerned with finding an exact
match on the specified name it doesn't need to use a tree data
structure internally, we can replace the RBTs with hash tables.
2023-09-01 10:39:39 -07:00
Mark Andrews 5969a7c1ac Merge branch '4159-openssl-error-queue-not-cleaned' into 'main'
Resolve "OpenSSL error queue not cleaned"

Closes #4159

See merge request isc-projects/bind9!8233
2023-09-01 03:08:20 +00:00
Mark Andrews 6a1a73759a Add release note for [GL #4159] 2023-09-01 12:01:51 +10:00
Mark Andrews 6c3d4d7aa2 Add CHANGES note for [GL #4159] 2023-09-01 12:01:50 +10:00
Mark Andrews 14727bb4b9 Detect uncleared libcrypto errors in rdata processing
If libcrypto errors are not cleared slow memory leaks occur which
are not detected at shutdown.
2023-09-01 12:01:20 +10:00
Mark Andrews b6e1650455 Style fix 2023-09-01 12:01:20 +10:00
Mark Andrews 299f519b09 Check that buf is large enough 2023-09-01 12:01:20 +10:00
Mark Andrews 9e2288208d Take ownership of pointer before freeing 2023-09-01 12:01:20 +10:00
Mark Andrews 4c4ecbc83c Address potential memory leak in dst__openssl_fromlabel 2023-09-01 12:01:20 +10:00
Mark Andrews b442ae8d3e Add missing "Design by Contract" REQUIREs 2023-09-01 12:01:20 +10:00
Mark Andrews 936b73cb57 Free evp_md_ctx and pkey at exit 2023-09-01 12:01:20 +10:00
Mark Andrews eaedba6621 Clear OpenSSL error stack when exiting 2023-09-01 12:01:20 +10:00
Mark Andrews 4f790b6c58 Clear OpenSSL errors on TSL error paths 2023-09-01 12:01:20 +10:00
Mark Andrews 96db614d69 Clear OpenSSL errors on context creation failures 2023-09-01 12:01:20 +10:00
Mark Andrews 247422c69f Clear OpenSSL errors on SHA failures 2023-09-01 12:01:20 +10:00
Mark Andrews 279973363e Clear OpenSSL errors on OSSL_PROVIDER_load failures 2023-09-01 12:01:20 +10:00
Mark Andrews 2ba62aebce Clear OpenSSL errors on engine errors 2023-09-01 12:01:19 +10:00
Mark Andrews 4ea926934a Clear OpenSSL errors on EVP failures 2023-09-01 12:01:19 +10:00
Mark Andrews 6df53cdb87 Clear OpenSSL errors on EVP_PKEY_new failures 2023-09-01 12:01:19 +10:00
Mark Andrews 86b04368b0 Clear OpenSSL errors on EC_KEY_get0_private_key failures 2023-09-01 12:01:19 +10:00
Mark Andrews abd8c03592 Clear OpenSSL errors on EVP_PKEY_get0_EC_KEY failures 2023-09-01 12:01:19 +10:00
Mark Andrews d8a9adc821 Clear OpenSSL errors on EVP_PKEY_get_bn_param failures 2023-09-01 12:01:19 +10:00
Mark Andrews 8529be30bb Clear OpenSSL errors on EVP_MD_CTX_create failures 2023-09-01 12:01:19 +10:00
Mark Andrews eafcd41120 Clear OpenSSL errors on ECDSA_SIG_new failures 2023-09-01 12:01:19 +10:00
Mark Andrews 5e09d959b0 Clear OpenSSL errors on d2i_ASN1_OBJECT failures
When d2i_ASN1_OBJECT() fails an error is pushed onto the thread's
error stack.  This is now cleared by calling ERR_clear_error().
2023-09-01 12:01:19 +10:00
Ondřej Surý 4e1630eeba Merge branch 'ondrej-isc_mem_cget' into 'main'
Checked array allocation arithmetic with isc_mem_get and friends

See merge request isc-projects/bind9!8237
2023-08-31 20:18:26 +00:00
Ondřej Surý 166cb53741 Add CHANGES note for [GL !8237] 2023-08-31 22:08:35 +02:00
Ondřej Surý d9048b3db1 Remove ISC_MEM_ZERO and isc_mem_*x() API
Use the new isc_mem_c*() calloc-like API for allocations that are
zeroed.

In turn, this also fixes couple of incorrect usage of the ISC_MEM_ZERO
for structures that need to be zeroed explicitly.

There are few places where isc_mem_cput() is used on structures with a
flexible member (or similar).
2023-08-31 22:08:35 +02:00
Ondřej Surý 8ac679a980 Remove ISC_MEM_ALIGN() memory flag
The ISC_MEM_ALIGN() was not used anywhere (except mem.c itself), so just
remove the unused flag.
2023-08-31 22:08:35 +02:00
Ondřej Surý 55c29b8d83 Do extra manual isc_mem_cget() conversions
Some of the cases weren't caught by the coccinelle and there were some
places where cget+memmove() could get converted to simple creget().
2023-08-31 22:08:35 +02:00
Ondřej Surý 89fcb6f897 Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
Tony FinchandOndřej Surý a742fde51a A semantic patch to refactor isc_mem_cget and friends
The aim is to match unsafe patterns of allocation size arithmetic
and turn them into safe calls to the new `isc_mem_cget()`,
`isc_mem_creget()`, and `isc_mem_cput()`.
2023-08-31 22:08:35 +02:00
Ondřej Surý 6272482113 Checked array allocation arithmetic with isc_mem_get and friends
Add new isc_mem_cget(), isc_mem_creget(), and isc_mem_cput() macros to
complement the isc_mem_callocate() (which works like calloc()).

The overflow checks are implemented as macros in the <isc/mem.h>, so
that the compiler can see that the element size is constant: it should
always be `sizeof(something)`.
2023-08-31 22:08:35 +02:00
Ondřej Surý 8ff4895628 Merge branch 'each-cleanup-function-names' into 'main'
remove extra function names

See merge request isc-projects/bind9!8204
2023-08-31 20:08:13 +00:00
Evan Hunt 8bda38e7d4 remove dns_name_totext2() and dns_name_toprincipal()
we can pass option flags to dns_name_totext() to get the same
results, and eliminate the extra function names.
2023-08-31 12:53:32 -07:00
Evan Hunt 62d70966f2 remove dns_name_towire2()
we don't need two versions of dns_name_towire(), we can just add NULL
to the calls that don't need to specify a compression offset.
2023-08-31 10:29:16 -07:00
Evan Hunt a290ed5bd0 remove dns_name_fromstring2()
we don't need two versions of dns_name_fromstring() any longer; we
can just specify an origin value of dns_rootname for absolute names.
2023-08-31 10:29:16 -07:00
Evan Hunt 6909897adf remove cfg_acl_fromconfig2()
the extra option to limit ACL configuration to only one address family
was no longer in use, and has been removed.
2023-08-31 10:29:16 -07:00
Matthijs Mekking ac2b9280f2 Merge branch '4266-document-dnssec-policy-lifetime' into 'main'
Clarify BIND 9 time formats

Closes #4266

See merge request isc-projects/bind9!8228
2023-08-31 16:30:26 +00:00
Matthijs Mekking fd3d58d512 Add CHANGES entry for #4266 2023-08-31 17:43:15 +02:00
Matthijs Mekking b5a757c452 Explain lifetime format
Add the text "TTL-style unit suffixes or ISO 8601 duration formats",
just like we do at other places that are duration option types.

Also, in the dnssec-policy "keys" example, use a TTL-style unit too.
2023-08-31 17:42:52 +02:00
Matthijs Mekking cc122d22b4 Add a glossary definition for duration
We don't yet explain the syntax of TTL-style suffixes or ISO 8601
duration formats.
2023-08-31 17:42:52 +02:00
Matthijs Mekking 07c70ea2bd Fix keys reference link in ARM
There's a statement that says: "Here is an example (for illustration
purposes only) of some possible entries in a [keys] list:", and that
links to the wrong "keys" statement (it links to the TSIG keys section).

Remove the reference, as we are already in the right section.
2023-08-31 17:42:52 +02:00
Matthijs Mekking 509b911a50 Merge branch 'tt-arm-pkcs11-update' into 'main'
Update PKCS#11 section in the ARM

See merge request isc-projects/bind9!8258
2023-08-31 15:42:07 +00:00
Timo TeräsandMatthijs Mekking 38df202cdb Update PKCS#11 section in the ARM
Add instructions for pkcs11-provider and generalize common sections.
2023-08-31 15:41:39 +00:00
Michal Nowak 6f53d34201 Merge branch 'mnowak/unify-doc-tools-versions' into 'main'
Install Sphinx tools versions from BIND 9 repository

See merge request isc-projects/bind9!8251
2023-08-31 12:50:04 +00:00
Michal Nowak 520e97e2fc Install Sphinx tools versions from BIND 9 repository
The doc/arm/requirements.txt file is the single source of truth when it
comes to Sphinx tools versions used to build documentation via
util/release-tarball-comparison.sh.
2023-08-31 14:31:57 +02:00
Arаm Sаrgsyаn 3e5ccc3089 Merge branch 'aram/zone.c-got_transfer_quota-bugfix' into 'main'
Reset the 'result' before using it again in zone.c:got_transfer_quota()

See merge request isc-projects/bind9!8241
2023-08-31 09:41:34 +00:00