mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-19 17:17:04 -04:00
Merge branch '4340-fix-max-cache-size' into 'main'
restore isc_mem_setwater() call in the cache Closes #4340 See merge request isc-projects/bind9!8445
This commit is contained in:
commit
a4aa93f46d
3 changed files with 23 additions and 0 deletions
4
CHANGES
4
CHANGES
|
|
@ -1,3 +1,7 @@
|
|||
6278. [bug] The call to isc_mem_setwater() was incorrectly
|
||||
removed from dns_cache_setcachesize(), causing
|
||||
cache overmem conditions not to be detected. [GL #4340]
|
||||
|
||||
6277. [bug] Take into account local authoritative zones when
|
||||
falling back to serve-stale. [GL #4355]
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,10 @@ Feature Changes
|
|||
Bug Fixes
|
||||
~~~~~~~~~
|
||||
|
||||
- :any:`max-cache-size` accidentally became ineffective in BIND 9.19.16.
|
||||
This has been fixed and the option now behaves as documented again.
|
||||
:gl:`#4340`
|
||||
|
||||
- For inline-signing zones, if the unsigned version of the zone contains
|
||||
DNSSEC records, it was scheduled to be resigning. This unwanted behavior
|
||||
has been fixed. :gl:`#4350`
|
||||
|
|
|
|||
|
|
@ -239,6 +239,13 @@ dns_cache_getname(dns_cache_t *cache) {
|
|||
return (cache->name);
|
||||
}
|
||||
|
||||
/* This is a no-op, but has to exist for isc_mem_setwater(). */
|
||||
static void
|
||||
water(void *arg, int mark) {
|
||||
UNUSED(arg);
|
||||
UNUSED(mark);
|
||||
}
|
||||
|
||||
void
|
||||
dns_cache_setcachesize(dns_cache_t *cache, size_t size) {
|
||||
REQUIRE(VALID_CACHE(cache));
|
||||
|
|
@ -254,6 +261,14 @@ dns_cache_setcachesize(dns_cache_t *cache, size_t size) {
|
|||
LOCK(&cache->lock);
|
||||
cache->size = size;
|
||||
UNLOCK(&cache->lock);
|
||||
|
||||
size_t hi = size - (size >> 3); /* Approximately 7/8ths. */
|
||||
size_t lo = size - (size >> 2); /* Approximately 3/4ths. */
|
||||
if (size == 0U || hi == 0U || lo == 0U) {
|
||||
isc_mem_clearwater(cache->mctx);
|
||||
} else {
|
||||
isc_mem_setwater(cache->mctx, water, cache, hi, lo);
|
||||
}
|
||||
}
|
||||
|
||||
size_t
|
||||
|
|
|
|||
Loading…
Reference in a new issue