- 17 May, 2022 6 commits
-
-
Mark Andrews authored
Resolve "wrong path for geoip-directory" Closes #3356 See merge request !6316
-
Mark Andrews authored
-
Tony Finch authored
Teach dnssec-settime to read unset times that it writes Closes #3361 See merge request !6317
-
Tony Finch authored
When there is no time in a key file, `dnssec-settime` will print "UNSET", but to unset a time the user must specify "none" or "never". This change allows "unset" or "UNSET" as well as "none" or "never". The "UNSET" output remains the same to avoid compatibility problems with wrapper scripts. I have also re-synchronized the "Timing Options" sections of the man pages.
-
Ondřej Surý authored
Cleanup dns_message_gettemp*() functions - they cannot fail See merge request !6311
-
Ondřej Surý authored
The dns_message_gettempname(), dns_message_gettemprdata(), dns_message_gettemprdataset(), and dns_message_gettemprdatalist() always succeeds because the memory allocation cannot fail now. Change the API to return void and cleanup all the use of aforementioned functions.
-
- 16 May, 2022 2 commits
-
-
Matthijs Mekking authored
Fix "kasp test broken on freebsd" Closes #3352 See merge request !6310
-
Matthijs Mekking authored
7249bad7 introduced the -c option to stat(1) command, but BSD systems do not know about it. Replace the stat(1) command with a PERL script that achieves the same. Why PERL? For consistency purposes, there are more places in the system test where we use the same method.
-
- 14 May, 2022 8 commits
-
-
Evan Hunt authored
-
Evan Hunt authored
Check that the recursing client count is above a reasonable minimum, as well as below a maximum, so that we can detect bugs that cause recursion to fail too early or too often.
-
Evan Hunt authored
The ns_statscounter_recursclients counter was previously only incremented or decremented if client->recursionquota was non-NULL. This was harmless, because that value should always be non-NULL if recursion is enabled, but it made the code slightly confusing.
-
Evan Hunt authored
The fetchlimit test depends on a resolver continuing to try UDP and timing out while the client waits for resolution to succeed. but since commit bb990030 (flag day 2020), a fetch will always switch to TCP after two timeouts, unless EDNS was disabled for the query. This commit adds "edns no;" to server statements in the fetchlimit resolver, to restore the behavior expected by the test.
-
Evan Hunt authored
Since commit bad5a523, when the fetches-per-server quota was increased or decreased, instead of the value being set to the newly calculated quota, it was set to the *minimum* of the new quota or 1 - which effectively meant it was always set to 1. it should instead have been the maximum, to prevent the value from ever dropping to zero.
-
Evan Hunt authored
corrected code that could have allowed a buffer overfow while parsing named.conf.
- 13 May, 2022 19 commits
-
-
Evan Hunt authored
-
Evan Hunt authored
the ADB depends on the resolver, but previously only accessed it via the view. as view->resolver may now be detached before the ADB finishes, a shutdown race was possible. attaching to the resolver directly prevents this.
-
Evan Hunt authored
the request manager has no direct dependency on the view, so there's no need for a weak reference. remove the dns_requestmgr_whenshutdown() mechanism since it is no longer used.
-
Evan Hunt authored
weakly attaching and detaching when creating and destroying the resolver obviates the need to have a callback event to do the weak detach. remove the dns_resolver_whenshutdown() mechanism, as it is now unused.
-
Evan Hunt authored
weakly attaching and detaching the view when creating or destroying the ADB obviates the need for a whenshutdown callback event to do the detaching. remove the dns_adb_whenshutdown() mechanism, since it is no longer needed.
-
Evan Hunt authored
for better object separation, ADB and resolver statistics counters are now stored in the ADB and resolver objects themsevles, rather than in the associated view.
-
Evan Hunt authored
it's not necessary to use view attributes to determine whether the ADB, resolver and requestmgr need to be shut down; checking whether they're NULL is sufficient.
-
Evan Hunt authored
dns_view_weakattach() and _weakdetach() are used by objects that are created by the view and need it to persist until they are destroyed, but don't need to prevent it from being shut down. the validator can use normal view references instead of weak references.
-
Evan Hunt authored
If an error occurred while creating the resolver, the mctx could remain attached.
-
Evan Hunt authored
- eliminate dns_view_flushanddetach(), which was only called from one place; instead, we now call a function dns_view_flushonshutdown() which sets the view up to flush zones when it is detached normally with dns_view_detach(). - cleaned up code in dns_view_create().
-
Evan Hunt authored
there's no longer any need for a parameter to specify whether the function is called while holding the bucket lock, because all unlocked uses have been removed.
-
Matthijs Mekking authored
Fix "keymgr updates key files each run" Closes #3302 See merge request !6250
-
Matthijs Mekking authored
Add a comment to make danger happy.
-
Matthijs Mekking authored
Add a new parameter to the dst_key structure, mark a key modified if dst_key_(un)set[bool,num,state,time] is called. Only write out key files during a keymgr run if the metadata has changed.
-
Matthijs Mekking authored
Add a test case that triggers a keymgr run that will not trigger any metadata changes. Ensure that the last status change of the key files is unmodified.
-
Ondřej Surý authored
Lock the trampoline when attaching See merge request !6257
-
Ondřej Surý authored
When attaching to the trampoline, the isc__trampoline_max was access unlocked. This would not manifest under normal circumstances because we initialize 65 trampolines by default and that's enough for most commodity hardware, but there are ARM machines with 128+ cores where this would be reported by ThreadSanitizer. Add locking around the code in isc__trampoline_attach(). This also requires the lock to leak on exit (along with memory that we already) because a new thread might be attaching to the trampoline while we are running the library destructor at the same time.
-
Ondřej Surý authored
Remove isc_task_onshutdown() See merge request !6275
- 12 May, 2022 3 commits
-
-
Ondřej Surý authored
-
Ondřej Surý authored
After removing the isc_task_onshutdown(), the isc_task_shutdown() and isc_task_destroy() became obsolete. Remove calls to isc_task_shutdown() and replace the calls to isc_task_destroy() with isc_task_detach(). Simplify the internal logic to destroy the task when the last reference is removed.
-
Ondřej Surý authored
The isc_task_onshutdown() was used to post event that should be run when the task is being shutdown. This could happen explicitly in the isc_test_shutdown() call or implicitly when we detach the last reference to the task and there are no more events posted on the task. This whole task onshutdown mechanism just makes things more complicated, and it's easier to post the "shutdown" events when we are shutting down explicitly and the existing code already always knows when it should shutdown the task that's being used to execute the onshutdown events. Replace the isc_task_onshutdown() calls with explicit calls to execute the shutdown tasks.
-
- 11 May, 2022 2 commits
-
-
Michał Kępień authored
Drop post-merge pipelines See merge request !6292
-
Michał Kępień authored
Commit 24961f60 introduced the concept of post-merge pipelines. These were used to build documentation after each merge to any of the maintained branches, to allow up-to-date documentation to be subsequently published on the bind.isc.org microsite. As the latter no longer downloads documentation from GitLab, instead linking to Read the Docs for all currently maintained branches, post-merge pipelines have become redundant since running the "autoreconf" and "docs" jobs after each merge is not necessary any more. Drop the "release_branch_triggering_rules" YAML anchor and revert to default triggering rules for the "autoconf" and "docs" jobs, effectively preventing pipelines from being created after each merge to any of the maintained branches.
-