]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
2 years agoMerge branch '4708-uv-tcp-close-reset-issue' into 'main'
Matthijs Mekking [Mon, 3 Jun 2024 08:15:35 +0000 (08:15 +0000)] 
Merge branch '4708-uv-tcp-close-reset-issue' into 'main'

Deal with uv_tcp_close_reset more gracefully

Closes #4708

See merge request isc-projects/bind9!9022

2 years agoAdd CHANGES entry for [GL #4708]
Matthijs Mekking [Wed, 8 May 2024 07:51:31 +0000 (09:51 +0200)] 
Add CHANGES entry for [GL #4708]

2 years agoCall reset_shutdown if uv_tcp_close_reset failed
Matthijs Mekking [Wed, 8 May 2024 07:48:08 +0000 (09:48 +0200)] 
Call reset_shutdown if uv_tcp_close_reset failed

If uv_tcp_close_reset() returns an error code, this means the
reset_shutdown callback has not been issued, so do it now.

2 years agoDo not runtime check uv_tcp_close_reset
Matthijs Mekking [Wed, 8 May 2024 07:27:53 +0000 (09:27 +0200)] 
Do not runtime check uv_tcp_close_reset

When we reset a TCP connection by sending a RST packet, do not bother
requiring the result is a success code.

2 years agoMerge branch 'marka-placeholder' into 'main'
Mark Andrews [Mon, 3 Jun 2024 07:46:04 +0000 (07:46 +0000)] 
Merge branch 'marka-placeholder' into 'main'

add placeholder

See merge request isc-projects/bind9!9083

2 years agoadd placeholder
Mark Andrews [Mon, 3 Jun 2024 07:18:24 +0000 (17:18 +1000)] 
add placeholder

2 years agoMerge branch '2744-warning-checkhints-unable-to-get-root-ns-rrset-from-cache-not...
Mark Andrews [Fri, 31 May 2024 06:16:24 +0000 (06:16 +0000)] 
Merge branch '2744-warning-checkhints-unable-to-get-root-ns-rrset-from-cache-not-found' into 'main'

Resolve "warning: checkhints: unable to get root NS rrset from cache: not found"

Closes #2744

See merge request isc-projects/bind9!8745

2 years agoAdd CHANGES entry for [GL #2744]
Mark Andrews [Fri, 16 Feb 2024 00:53:23 +0000 (11:53 +1100)] 
Add CHANGES entry for [GL #2744]

2 years agoPass a memory context in to dns_cache_create
Mark Andrews [Wed, 27 Mar 2024 00:32:25 +0000 (11:32 +1100)] 
Pass a memory context in to dns_cache_create

2 years agoUse a new memory context when flushing the cache
Mark Andrews [Fri, 16 Feb 2024 00:40:26 +0000 (11:40 +1100)] 
Use a new memory context when flushing the cache

When the cache's memory context was in over memory state when the
cache was flushed it resulted in LRU cleaning removing newly entered
data in the new cache straight away until the old cache had been
destroyed enough to take it out of over memory state.  When flushing
the cache create a new memory context for the new db to prevent this.

2 years agoMerge branch '4750-set-loop-on-incoming-transfer' into 'main'
Ondřej Surý [Wed, 29 May 2024 06:31:28 +0000 (06:31 +0000)] 
Merge branch '4750-set-loop-on-incoming-transfer' into 'main'

Create the new database for AXFR from the dns_zone API

Closes #4750

See merge request isc-projects/bind9!9073

2 years agoCreate the new database for AXFR from the dns_zone API
Ondřej Surý [Tue, 28 May 2024 14:13:31 +0000 (16:13 +0200)] 
Create the new database for AXFR from the dns_zone API

The `axfr_makedb()` didn't set the loop on the newly created database,
effectively killing delayed cleaning on such database.  Move the
database creation into dns_zone API that knows all the gory details of
creating new database suitable for the zone.

2 years agoMerge branch 'stepan/hypothesis' into 'main'
Petr Špaček [Tue, 28 May 2024 13:17:32 +0000 (13:17 +0000)] 
Merge branch 'stepan/hypothesis' into 'main'

Expand the wildcard system test with wider use of hypothesis

See merge request isc-projects/bind9!8461

2 years agoAdd a helper for uncompressed length of dnspython's dns.name.Name
Štěpán Balážik [Tue, 14 May 2024 14:26:44 +0000 (16:26 +0200)] 
Add a helper for uncompressed length of dnspython's dns.name.Name

This is useful for generating using hypothesis but also for other
cases.

2 years agoMove hypothesis strategies to isctest for later reuse
Štěpán Balážik [Tue, 23 Apr 2024 14:45:45 +0000 (16:45 +0200)] 
Move hypothesis strategies to isctest for later reuse

`isctest.hypothesis` seems to be a nice place to have these.

2 years agoDisable deadlines for hypothesis tests when running in CI
Štěpán Balážik [Tue, 23 Apr 2024 13:48:18 +0000 (15:48 +0200)] 
Disable deadlines for hypothesis tests when running in CI

The times it takes to run tests CI vary significantly enough
that it makes hypothesis test reach their deadlines and fail randomly
marking the tests as flaky.

This commit disables the deadlines when running in CI.

2 years agoTest nested wildcard special case in the respective system test
Štěpán Balážik [Mon, 29 Jan 2024 17:56:32 +0000 (18:56 +0100)] 
Test nested wildcard special case in the respective system test

See final remark of RFC 4592 2.2.1. for details.

2 years agoExpand the wildcard system test with wider use of hypothesis
Štěpán Balážik [Thu, 2 Nov 2023 15:03:54 +0000 (16:03 +0100)] 
Expand the wildcard system test with wider use of hypothesis

The queries are now generated more generally (i. e. they have
multiple labels, etc.).

2 years agoAdd hypothesis strategies for generating DNS names and company
Štěpán Balážik [Thu, 2 Nov 2023 15:00:46 +0000 (16:00 +0100)] 
Add hypothesis strategies for generating DNS names and company

The most important being `dns_names` that generates dns.name.Name
objects based on given paramaters.

No guarantees are given when it comes the uniformity of generated
samples, however it plays nicely with the hypothesis' shrinking
algorithm.

Once we use hypothesis more widely (in at least one more test) this file
should be moved for it to be reused easily.

2 years agoExtend isctest package with more utility functions
Štěpán Balážik [Thu, 21 Dec 2023 19:25:20 +0000 (20:25 +0100)] 
Extend isctest package with more utility functions

Check for more rcodes and various properties needed in the wildcard
test. Add a `name` module for various dns.name.Name operations (with
`prepend_label` function only now).

Expose `timeout` as a parameter of `query.tcp`/`query.udp`.

2 years agoSilent pylint's line-too-long warning as it's handled better by black
Štěpán Balážik [Thu, 2 Nov 2023 15:29:46 +0000 (16:29 +0100)] 
Silent pylint's line-too-long warning as it's handled better by black

Black allows the lines with string literals to be longer, which is
convenient for descriptive error messages.

2 years agoMerge branch 'nicki/use-bind-team-gitlab-tokens' into 'main'
Nicki Křížek [Mon, 27 May 2024 11:13:34 +0000 (11:13 +0000)] 
Merge branch 'nicki/use-bind-team-gitlab-tokens' into 'main'

Use bind-team tokens for CI gitlab access

See merge request isc-projects/bind9!9067

2 years agoUse BIND_TEAM_WRITE_TOKEN for autobackport bot
Nicki Křížek [Fri, 24 May 2024 13:51:40 +0000 (15:51 +0200)] 
Use BIND_TEAM_WRITE_TOKEN for autobackport bot

This is done to unify the token usage across our repositories to
simplify token maintenance.

2 years agoUse BIND_TEAM_API_TOKEN for danger bot
Nicki Křížek [Fri, 24 May 2024 13:50:31 +0000 (15:50 +0200)] 
Use BIND_TEAM_API_TOKEN for danger bot

This is done to unify the token usage across our repositories to
simplify token maintenance.

2 years agoMerge branch 'ondrej/cleanup-dns_db' into 'main'
Ondřej Surý [Sat, 25 May 2024 09:48:34 +0000 (09:48 +0000)] 
Merge branch 'ondrej/cleanup-dns_db' into 'main'

Cleanup the dns_cache unit

See merge request isc-projects/bind9!9064

2 years agofixup! Merge branch 'ondrej/light-cleanup-of-rdataslab' into 'main'
Aram Sargsyan [Fri, 24 May 2024 15:42:41 +0000 (15:42 +0000)] 
fixup! Merge branch 'ondrej/light-cleanup-of-rdataslab' into 'main'

2 years agoCleanup the dns_cache unit
Ondřej Surý [Fri, 24 May 2024 09:35:40 +0000 (11:35 +0200)] 
Cleanup the dns_cache unit

Remove duplicate code and use ISC_REFCOUNT_{DECL,IMPL} macros.

2 years agoMerge branch 'mnowak/cross-version-config-tests-drop-allow_failure-true' into 'main'
Michal Nowak [Fri, 24 May 2024 11:44:39 +0000 (11:44 +0000)] 
Merge branch 'mnowak/cross-version-config-tests-drop-allow_failure-true' into 'main'

Drop "allow_failure: true" in cross-version-config-tests job

See merge request isc-projects/bind9!9044

2 years agoWorkaround temporary cross-version-config-tests limitation
Michal Nowak [Thu, 16 May 2024 10:36:34 +0000 (12:36 +0200)] 
Workaround temporary cross-version-config-tests limitation

The system test from the BIND 9.19.24 release does not include the
isctest/vars/autoconf.py file from 9.19.25-dev, and therefore the job
will fail before the 9.19.25 release is published. In the meantime,
consider using the conf.sh file.

2 years agoFix oversight in cross-version-config test
Nicki Křížek [Fri, 24 May 2024 09:00:09 +0000 (11:00 +0200)] 
Fix oversight in cross-version-config test

This is a followup for 5e7b3d9ef36b199e2d24d385593a8e2f7d541b65. The
change slipped by during refactoring and this line wasn't updated.

2 years agoRevert "Allow failure of cross-version-config test"
Michal Nowak [Thu, 16 May 2024 10:29:49 +0000 (12:29 +0200)] 
Revert "Allow failure of cross-version-config test"

This reverts commit b99cdfab9d012bce63dff8463eae87772034138a.

2 years agoMerge branch 'ondrej/light-cleanup-of-rdataslab' into 'main'
Ondřej Surý [Fri, 24 May 2024 08:29:54 +0000 (08:29 +0000)] 
Merge branch 'ondrej/light-cleanup-of-rdataslab' into 'main'

Refactor the common buffer manipulation in rdataslab.c in macros

See merge request isc-projects/bind9!9063

2 years agoRefactor the common buffer manipulation in rdataslab.c in macros
Ondřej Surý [Thu, 29 Feb 2024 21:26:29 +0000 (22:26 +0100)] 
Refactor the common buffer manipulation in rdataslab.c in macros

The rdataslab.c was full of code like this:

        length = raw[0] * 256 + raw[1];

and

        count2 = *current2++ * 256;
        count2 += *current2++;

Refactor code like this into peek_uint16() and get_uint16 macros
to prevent code repetition and possible mistakes when copy and
pasting the same code over and over.

As a side note for an entertainment of a careful reader of the commit
messages: The byte manipulation was changed from multiplication and
addition to shift with or.

The difference in the assembly looks like this:

MUL and ADD:

movzx   eax, BYTE PTR [rdi]
        movzx   edi, BYTE PTR [rdi+1]
        sal     eax, 8
        or      edi, eax

SHIFT and OR:

        movzx   edi, WORD PTR [rdi]
        rol     di, 8
        movzx   edi, di

If the result and/or buffer is then being used after the macro call,
there's more differences in favor of the SHIFT+OR solution.

2 years agoMerge branch 'mnowak/alpine-3.20' into 'main'
Michal Nowak [Thu, 23 May 2024 11:19:26 +0000 (11:19 +0000)] 
Merge branch 'mnowak/alpine-3.20' into 'main'

Add Alpine Linux 3.20

See merge request isc-projects/bind9!9059

2 years agoAdd Alpine Linux 3.20
Michal Nowak [Thu, 23 May 2024 08:58:25 +0000 (10:58 +0200)] 
Add Alpine Linux 3.20

2 years agoMerge branch 'mnowak/short-stress-tests-should-keep-artifacts' into 'main'
Michal Nowak [Wed, 22 May 2024 10:55:18 +0000 (10:55 +0000)] 
Merge branch 'mnowak/short-stress-tests-should-keep-artifacts' into 'main'

Short stress tests should keep artifacts

See merge request isc-projects/bind9!9056

2 years agoShort stress tests should keep artifacts
Michal Nowak [Thu, 16 May 2024 14:44:38 +0000 (16:44 +0200)] 
Short stress tests should keep artifacts

2 years agoMerge branch 'aydin/fix-trace' into 'main'
Aydın Mercan [Mon, 20 May 2024 11:45:22 +0000 (11:45 +0000)] 
Merge branch 'aydin/fix-trace' into 'main'

Fix typing mistakes in trace macros

See merge request isc-projects/bind9!9050

2 years agoreinsert accidentally removed + in db trace
Aydın Mercan [Fri, 17 May 2024 13:52:42 +0000 (16:52 +0300)] 
reinsert accidentally removed + in db trace

It only affects development when using `DNS_DB_TRACE`.

2 years agofix typing mistakes in trace macros
Aydın Mercan [Fri, 17 May 2024 13:45:10 +0000 (16:45 +0300)] 
fix typing mistakes in trace macros

The detach function declaration in `ISC__REFCOUNT_TRACE_DECL` had an
returned an accidental implicit int. While not allowed since C99, it
became an error by default in GCC 14.

`ISC_REFCOUNT_TRACE_IMPL` and `ISC_REFCOUNT_STATIC_TRACE_IMPL` expanded
into the wrong macros, trying to declare it again with the wrong number
of parameters.

2 years agoMerge branch '4730-clang-format-header-file-changes' into 'main'
Evan Hunt [Fri, 17 May 2024 23:18:47 +0000 (23:18 +0000)] 
Merge branch '4730-clang-format-header-file-changes' into 'main'

Resolve "Clang format header file changes"

Closes #4730

See merge request isc-projects/bind9!9047

2 years agoIgnore reformat sources with up-to-date clang-format-18
Mark Andrews [Fri, 17 May 2024 03:32:10 +0000 (13:32 +1000)] 
Ignore reformat sources with up-to-date clang-format-18

2 years agoClang-format header file changes
Mark Andrews [Fri, 17 May 2024 02:29:59 +0000 (12:29 +1000)] 
Clang-format header file changes

2 years agoMerge branch 'aram/mr8937-changes-placeholder' into 'main'
Arаm Sаrgsyаn [Fri, 17 May 2024 10:48:23 +0000 (10:48 +0000)] 
Merge branch 'aram/mr8937-changes-placeholder' into 'main'

Add a CHANGES placeholder for [GL !8937]

See merge request isc-projects/bind9!9049

2 years agoAdd a CHANGES placeholder for [GL !8937]
Aram Sargsyan [Fri, 17 May 2024 10:20:48 +0000 (10:20 +0000)] 
Add a CHANGES placeholder for [GL !8937]

2 years agoMerge branch '4726-increase-formerr-coverage-in-message-parsing' into 'main'
Mark Andrews [Fri, 17 May 2024 05:16:48 +0000 (05:16 +0000)] 
Merge branch '4726-increase-formerr-coverage-in-message-parsing' into 'main'

Resolve "Increase FORMERR coverage in message parsing"

Closes #4726

See merge request isc-projects/bind9!9034

2 years agoadd test cases for several FORMERR code paths:
Mark Andrews [Mon, 29 Jan 2024 18:21:37 +0000 (10:21 -0800)] 
add test cases for several FORMERR code paths:

  - duplicated question
  - duplicated answer
  - qtype as an answer
  - two question types
  - question names
  - nsec3 bad owner name
  - short record
  - short question
  - mismatching question class
  - bad record owner name
  - mismatched class in record
  - mismatched KEY class
  - OPT wrong owner name
  - invalid RRSIG "covers" type
  - UPDATE malformed delete type
  - TSIG wrong class
  - TSIG not the last record

2 years agoMerge branch '4683-qpzone-tsan-fix' into 'main'
Evan Hunt [Fri, 17 May 2024 00:33:48 +0000 (00:33 +0000)] 
Merge branch '4683-qpzone-tsan-fix' into 'main'

replace qpzone node attributes with atomics

Closes #4683

See merge request isc-projects/bind9!9033

2 years agoreplace qpzone node attriutes with atomics
Evan Hunt [Tue, 14 May 2024 19:36:58 +0000 (12:36 -0700)] 
replace qpzone node attriutes with atomics

there were TSAN error reports because of conflicting uses of
node->dirty and node->nsec, which were in the same qword.

this could be resolved by separating them, but we could also
make them into atomic values and remove some node locking.

2 years agoMerge branch 'matthijs-qp-set-iterator' into 'main'
Matthijs Mekking [Thu, 16 May 2024 09:50:08 +0000 (09:50 +0000)] 
Merge branch 'matthijs-qp-set-iterator' into 'main'

Rewrite fix_iterator()

See merge request isc-projects/bind9!9038

2 years agoTwo more qp test cases
Matthijs Mekking [Wed, 15 May 2024 10:25:34 +0000 (12:25 +0200)] 
Two more qp test cases

Add two more cases that should select different predecessors from
different twigs.

2 years agoRewrite qp fix_iterator()
Matthijs Mekking [Wed, 15 May 2024 09:35:31 +0000 (11:35 +0200)] 
Rewrite qp fix_iterator()

The fix_iterator() function had a lot of bugs in it and while fixing
them, the number of corner cases and the complexity of the function
got out of hand. Rewrite the function with the following modifications:

The function now requires that the iterator is pointing to a leaf node.
This removes the cases we have to deal when the iterator was left on a
dead branch.

From the leaf node, pop up the iterator stack until we encounter the
branch where the offset point is before the point where the search key
differs. This will bring us to the right branch, or at the first
unmatched node, in which case we pop up to the parent branch. From
there it is easier to retrieve the predecessor.

Once we are at the right branch, all we have to do is find the right
twig (which is either the twig for the character at the position where
the search key differs, or the previous twig) and walk down from there
to the greatest leaf or, in case there is no good twig, get the
previous twig from the successor and get the greatest leaf from there.

If there is no previous twig to select in this branch, because every
leaf from this branch node is greater than the one we wanted, we need
to pop up the stack again and resume at the parent branch. This is
achieved by calling prevleaf().

2 years agoGet anyleaf when qp lookup is on a dead end branch
Matthijs Mekking [Wed, 15 May 2024 08:59:07 +0000 (10:59 +0200)] 
Get anyleaf when qp lookup is on a dead end branch

Move the fix_iterator out of the loop and only call it when we found
a leaf node. This leaf node may be the wrong leaf node, but fix_iterator
should correct that.

Also, when we don't need to set the iterator, just get any leaf. We
only need to have a leaf for the qpkey_compare and the end result does
not matter if compare was against an ancestor leaf or any leaf below
that point.

2 years agoMerge tag 'v9.19.24'
Michal Nowak [Thu, 16 May 2024 09:37:12 +0000 (11:37 +0200)] 
Merge tag 'v9.19.24'

2 years agoMerge branch '4517-dnssec-verify-reports-errors-in-nsec3-chain' into 'main'
Mark Andrews [Thu, 16 May 2024 01:52:55 +0000 (01:52 +0000)] 
Merge branch '4517-dnssec-verify-reports-errors-in-nsec3-chain' into 'main'

Resolve "dnssec-verify reports errors in NSEC3 chain"

Closes #4517

See merge request isc-projects/bind9!8631

2 years agoAdd CHANGES note for [GL #4517]
Mark Andrews [Tue, 9 Jan 2024 01:28:28 +0000 (12:28 +1100)] 
Add CHANGES note for [GL #4517]

2 years agoDon't sign non-apex DNSKEY records
Mark Andrews [Tue, 9 Jan 2024 04:20:09 +0000 (15:20 +1100)] 
Don't sign non-apex DNSKEY records

DNSKEY can only be validated if it is signed by itself.  Stop
attempting to sign non apex DNSKEY RRsets.

2 years agoRemove invalid DNSKEY RRset from zone
Mark Andrews [Tue, 9 Jan 2024 03:58:37 +0000 (14:58 +1100)] 
Remove invalid DNSKEY RRset from zone

2 years agoAdd regression test data for [GL #4517]
Mark Andrews [Tue, 9 Jan 2024 01:22:21 +0000 (12:22 +1100)] 
Add regression test data for [GL #4517]

An obscured DNSKEY RRset at a delegation was incorrectly added to
the NSEC/NSEC3 type bit map leading to zone verification failures.
This adds such a RRset to the test zone.

2 years agoFail if there are non apex DNSKEYs
Mark Andrews [Tue, 9 Jan 2024 06:01:07 +0000 (17:01 +1100)] 
Fail if there are non apex DNSKEYs

DNSSEC only works when DNSKEYs are self signed.  This only occurs
when the DNSKEY RRset is at the apex.  Cause dnssec-signzone to
fail if it attempts to sign an non-apex DNSKEY RRset.

2 years agoProperly build the NSEC/NSEC3 type bit map
Mark Andrews [Tue, 9 Jan 2024 01:12:33 +0000 (12:12 +1100)] 
Properly build the NSEC/NSEC3 type bit map

DNSKEY was incorrectly being added to the NESC/NSEC3 type bit map
when it was obscured by the delegation.  This lead to zone verification
failures.

2 years agoProperly update 'maxtype'
Mark Andrews [Tue, 9 Jan 2024 01:09:03 +0000 (12:09 +1100)] 
Properly update 'maxtype'

'maxtype' should be checked to see if it should be updated whenever
a type is added to the type map.

2 years agoMerge branch 'ondrej/isc_httpd-reference-counting' into 'main'
Ondřej Surý [Wed, 15 May 2024 12:32:15 +0000 (12:32 +0000)] 
Merge branch 'ondrej/isc_httpd-reference-counting' into 'main'

Properly attach/detach isc_httpd in case read ends earlier than send

See merge request isc-projects/bind9!9037

2 years agoProperly attach/detach isc_httpd in case read ends earlier than send
Ondřej Surý [Fri, 19 Jan 2024 09:27:41 +0000 (10:27 +0100)] 
Properly attach/detach isc_httpd in case read ends earlier than send

An assertion failure would be triggered when sending the TCP data ends
after the TCP reading gets closed.  Implement proper reference counting
for the isc_httpd object.

2 years agoMerge branch '4719-placeholder' into 'main'
Michał Kępień [Wed, 15 May 2024 08:21:55 +0000 (08:21 +0000)] 
Merge branch '4719-placeholder' into 'main'

Add placeholder for GL #4719

See merge request isc-projects/bind9!9036

2 years agoAdd placeholder for GL #4719
Michał Kępień [Wed, 15 May 2024 08:20:19 +0000 (10:20 +0200)] 
Add placeholder for GL #4719

2 years agoMerge branch '4717-qp-lookup-creates-incorrect-chain' into 'main'
Evan Hunt [Tue, 14 May 2024 20:36:11 +0000 (20:36 +0000)] 
Merge branch '4717-qp-lookup-creates-incorrect-chain' into 'main'

Fix dns_qp_lookup() chain inconsistency after fix_iterator()

Closes #4717

See merge request isc-projects/bind9!9028

2 years agoTest check_predecessors with chain
Matthijs Mekking [Tue, 14 May 2024 06:55:42 +0000 (08:55 +0200)] 
Test check_predecessors with chain

In addition to testing check_qpchain in combination with qpiter,
test check_predecessors in combination with a qpchain.

2 years agoFix QP chain on partial match
Evan Hunt [Mon, 13 May 2024 22:56:15 +0000 (15:56 -0700)] 
Fix QP chain on partial match

When searching for a requested name in dns_qp_lookup(), we may add
a leaf node to the QP chain, then subsequently determine that the
branch we were on was a dead end. When that happens, the chain can be
left holding a pointer to a node that is *not* an ancestor of the
requested name.

We correct for this by unwinding any chain links with an offset
value greater or equal to that of the node we found.

2 years agoUnit test to demonstrate issue #4717
Petr Špaček [Fri, 10 May 2024 11:34:10 +0000 (13:34 +0200)] 
Unit test to demonstrate issue #4717

Iterator in lookup() call must be non-NULL to trigger the issue.
Run chain tests twice, once without iterator and second time with
iterator.

2 years agoRefactor fix_iterator
Matthijs Mekking [Fri, 10 May 2024 15:19:15 +0000 (17:19 +0200)] 
Refactor fix_iterator

The code below the if/else construction could only be run if the 'if'
code path was taken. Move the code into the 'if' code block so that
it is more easier to read.

2 years agoMerge branch 'nicki/add-mailmap' into 'main'
Nicki Křížek [Tue, 14 May 2024 11:28:00 +0000 (11:28 +0000)] 
Merge branch 'nicki/add-mailmap' into 'main'

Add .mailmap to the git repo

See merge request isc-projects/bind9!9025

2 years agoAdd .mailmap to the git repo
Nicki Křížek [Fri, 10 May 2024 11:51:58 +0000 (13:51 +0200)] 
Add .mailmap to the git repo

Mailmap can be used to unify the display name in standard git tools.

2 years agoMerge branch 'mnowak/pytest_rewrite_include-multiplecfg' into 'main'
Michal Nowak [Tue, 14 May 2024 10:46:10 +0000 (10:46 +0000)] 
Merge branch 'mnowak/pytest_rewrite_include-multiplecfg' into 'main'

Rewrite include-multiplecfg system test to pytest

See merge request isc-projects/bind9!8806

2 years agoRewrite include-multiplecfg system test to pytest
Michal Nowak [Thu, 29 Feb 2024 17:25:38 +0000 (18:25 +0100)] 
Rewrite include-multiplecfg system test to pytest

2 years agoUse isctest.run.cmd() helper function in tests
Michal Nowak [Wed, 20 Mar 2024 12:59:34 +0000 (13:59 +0100)] 
Use isctest.run.cmd() helper function in tests

2 years agoAdd isctest.run.cmd() helper function
Tom Krizek [Wed, 20 Mar 2024 11:49:08 +0000 (12:49 +0100)] 
Add isctest.run.cmd() helper function

2 years agoMerge branch 'aydin/author-expand' into 'main'
Aydın Mercan [Mon, 13 May 2024 09:57:25 +0000 (09:57 +0000)] 
Merge branch 'aydin/author-expand' into 'main'

Expand list in chaos authors response

See merge request isc-projects/bind9!9026

2 years agoExpand list in chaos authors response
Aydın Mercan [Fri, 10 May 2024 20:37:52 +0000 (23:37 +0300)] 
Expand list in chaos authors response

The list isn't exactly maintained but it helped with some BIND history
tracking and is basically harmless so it might be worth holding onto it.
I have adapted the name to ASCII so IDN support won't be necessary.

2 years agoMerge branch '4668-request-to-add-a-new-statistic-recursive-client-high-water-in...
Aydın Mercan [Fri, 10 May 2024 10:52:51 +0000 (10:52 +0000)] 
Merge branch '4668-request-to-add-a-new-statistic-recursive-client-high-water-in-rndc-status-and-stats-channel' into 'main'

Add new statistics variable for recursive client high-water

Closes #4668

See merge request isc-projects/bind9!9023

2 years agoAdded CHANGES and release note for [GL #4668]
Aydın Mercan [Wed, 8 May 2024 11:58:57 +0000 (14:58 +0300)] 
Added CHANGES and release note for [GL #4668]

2 years agoKeep track of the recursive clients highwater
Aydın Mercan [Mon, 22 Apr 2024 14:01:16 +0000 (17:01 +0300)] 
Keep track of the recursive clients highwater

The high-water allows administrators to better tune the recursive
clients limit without having to to poll the statistics channel in high
rates to get this number.

2 years agoReturn the old counter value in `isc_stats_increment`
Aydın Mercan [Tue, 30 Apr 2024 11:37:26 +0000 (14:37 +0300)] 
Return the old counter value in `isc_stats_increment`

Returning the value allows for better high-water tracking without
running into edge cases like the following:

0. The counter is at value X
1. Increment the value (X+1)
2. The value is decreased multiple times in another threads (X+1-Y)
3. Get the value (X+1-Y)
4. Update-if-greater misses the X+1 value which should have been the
   high-water

2 years agoMerge branch 'tkrizek/pytest-conf-cleanup' into 'main'
Nicki Křížek [Thu, 9 May 2024 16:26:26 +0000 (16:26 +0000)] 
Merge branch 'tkrizek/pytest-conf-cleanup' into 'main'

Define environment variables in pytest instead of conf.sh

See merge request isc-projects/bind9!8800

2 years agoEnsure OPENSSL_CONF is a file if it exists
Nicki Křížek [Mon, 6 May 2024 16:04:46 +0000 (18:04 +0200)] 
Ensure OPENSSL_CONF is a file if it exists

Prevent unexpected behavior in cases where the OPENSSL_CONF path would
exist, but it wouldn't point to a file.

2 years agoMove isctest.var initialization to conftest.py
Nicki Křížek [Mon, 6 May 2024 14:55:42 +0000 (16:55 +0200)] 
Move isctest.var initialization to conftest.py

The environment variable initialization requires logging to be set up
first. Ensure the initialization is delayed until loggers have been set
up.

2 years agoUse a dedicated file for each autoconf variable
Tom Krizek [Mon, 25 Mar 2024 13:56:08 +0000 (14:56 +0100)] 
Use a dedicated file for each autoconf variable

To avoid any escaping issues or messing with a language-specific format
when the variable has to be parsed, create a dedicated file for each
variable that is obtained from autoconf.

2 years agoAllow failure of cross-version-config test
Tom Krizek [Thu, 29 Feb 2024 09:53:41 +0000 (10:53 +0100)] 
Allow failure of cross-version-config test

The test is bound to fail until it is executed against a new release
which will include the pytest env var refactoring.

2 years agoMove env var initialization to isctest.vars
Tom Krizek [Wed, 28 Feb 2024 16:04:40 +0000 (17:04 +0100)] 
Move env var initialization to isctest.vars

Make sure all initialization takes place in isctest.vars.__init__ and
export the initial env vars there. Remove the no longer needed env
fixture and use os.environ instead.

2 years agoMove dir env var handling to isctest.vars.dirs
Tom Krizek [Wed, 28 Feb 2024 15:49:22 +0000 (16:49 +0100)] 
Move dir env var handling to isctest.vars.dirs

2 years agoMove port env vars into isctest.vars.ports module
Tom Krizek [Wed, 28 Feb 2024 15:29:13 +0000 (16:29 +0100)] 
Move port env vars into isctest.vars.ports module

The fixture for port assignment isn't needed, replace it with the common
way of handling environment variables.

2 years agoDon't export openssl-related env vars unless set
Tom Krizek [Wed, 28 Feb 2024 09:44:58 +0000 (10:44 +0100)] 
Don't export openssl-related env vars unless set

If OPENSSL_CONF is exported as an empty string, it will cause issues on
rhel9fips. Allow the environment variables to be set and exported, but
make sure to only export them if they have been set by the user.

2 years agoParse openssl-related vars in pytest
Tom Krizek [Mon, 26 Feb 2024 12:52:55 +0000 (13:52 +0100)] 
Parse openssl-related vars in pytest

The openssl config needs to be parsed for some tests that use SoftHSM2.
Rewrite the parsing to python and ensure the required variables are
properly set test-wide.

2 years agoAdjust .gitlab-ci env var detection with sed
Tom Krizek [Wed, 3 Jan 2024 13:08:58 +0000 (14:08 +0100)] 
Adjust .gitlab-ci env var detection with sed

The environment variables set by autoconf were moved to autoconf.py.

2 years agoCoalesce system test variables
Tom Krizek [Thu, 4 Jan 2024 13:48:04 +0000 (14:48 +0100)] 
Coalesce system test variables

Provide a single point of access to all the variables used by tests. Use
a custom dict-like structure to access the underlying data without
making a copy. This allows the individual modules to update the contents
at runtime, which is used for some variables.

2 years agoFormat conf.sh with shfmt
Tom Krizek [Wed, 10 Jan 2024 15:06:54 +0000 (16:06 +0100)] 
Format conf.sh with shfmt

No manual changes in this commit - simply running shfmt for proper shell
code formatting.

2 years agoLoad env vars in shell-only processing of conf.sh
Tom Krizek [Thu, 29 Feb 2024 13:49:38 +0000 (14:49 +0100)] 
Load env vars in shell-only processing of conf.sh

While this isn't required for pytest operation and execution of the
system test suite, it can be handy to allow test script development and
debugging. Especially setup scripts often source conf.sh and expect
environment variables to be loaded. If these scripts are executed
stand-alone, the environment variables need to be loaded from the python
package.

2 years agoMove environment variables from conf.sh to pytest
Tom Krizek [Thu, 29 Feb 2024 13:51:54 +0000 (14:51 +0100)] 
Move environment variables from conf.sh to pytest

Remove conf.sh.in and move the environment variables into isctest/vars
python package. This enabled the removal of an ugly pytest hack which
loaded and parsed these variables from the environment.

2 years agoRemove terminal color support from conf.sh.common
Tom Krizek [Tue, 2 Jan 2024 15:17:43 +0000 (16:17 +0100)] 
Remove terminal color support from conf.sh.common

Pytest processes all the output, so the terminal colors are no longer
interpreted. Remove the obsolete code.

2 years agoMerge branch '4635-add-rbt-ci-job' into 'main'
Michal Nowak [Thu, 9 May 2024 13:50:42 +0000 (13:50 +0000)] 
Merge branch '4635-add-rbt-ci-job' into 'main'

Add jobs for RBT zone- & cache-enabled GCC builds

Closes #4635

See merge request isc-projects/bind9!8997