bind9/bin/named
Ondřej Surý 6c54337f52 avoid a race in the qpzone getsigningtime() implementation
the previous commit introduced a possible race in getsigningtime()
where the rdataset header could change between being found on the
heap and being bound.

getsigningtime() now looks at the first element of the heap, gathers the
locknum, locks the respective lock, and retrieves the header from the
heap again.  If the locknum has changed, it will rinse and repeat.
Theoretically, this could spin forever, but practically, it almost never
will as the heap changes on the zone are very rare.

we simplify matters further by changing the dns_db_getsigningtime()
API call. instead of passing back a bound rdataset, we pass back the
information the caller actually needed: the resigning time, owner name
and type of the rdataset that was first on the heap.
2024-04-25 15:48:43 -07:00
..
include Refactor findmatchingkeys and keylistfromrdataset 2024-01-25 14:41:25 +01:00
.gitignore Complete rewrite the BIND 9 build system 2020-04-21 14:19:48 +02:00
bind9.xsl Expose 'first refresh' zone flag in stats channel 2024-02-05 17:41:14 +00:00
builtin.c Give the rdataset->privateN fields more helpful names 2023-07-17 14:50:25 +02:00
config.c Add signatures-jitter option 2024-04-18 09:50:10 +02:00
control.c Make sure we shutdown the controlconf listeners and connections once 2023-11-16 16:58:12 +01:00
controlconf.c Refactor the normal vs error path in control_senddone() 2024-02-08 17:16:41 +01:00
dlz_dlopen_driver.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
fuzz.c Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00
geoip.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
log.c Properly name ADB hashmap and named log memory contexts 2023-01-30 12:54:57 +01:00
logconf.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
main.c Add CHANGES and release note for [GL #1879] 2024-04-24 22:49:26 +02:00
Makefile.am Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
named.conf.rst remove {root-}delegation-only 2023-03-23 12:57:01 -07:00
named.rst Properly document that named -U <n> is no-op now 2024-04-24 22:49:14 +02:00
os.c Use EXIT_SUCCESS and EXIT_FAILURE 2024-02-08 08:01:58 +01:00
server.c avoid a race in the qpzone getsigningtime() implementation 2024-04-25 15:48:43 -07:00
statschannel.c Expose 'first refresh' zone flag in stats channel 2024-02-05 17:41:14 +00:00
tkeyconf.c Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
transportconf.c Integrate TLS cipher suites support into BIND 2024-01-12 13:27:59 +02:00
tsigconf.c convert TSIG keyring storage from RBT to hash table 2023-06-14 08:14:38 +00:00
xsl_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
zoneconf.c add a compile-time option to select default zone and cache DB 2024-03-06 10:49:02 +01:00