bind9/lib/dns
Alessio Podda 4a6d7eb4f3 Try to skip lock on fully lower names
If the name is fully lowercase, we don't need to access the case bitmap
in order to set the case. Therefore, we can check for the FULLYLOWERCASE
flag using only atomic operations, and skip a lock in the hot path,
provided we clear the FULLYLOWERCASE flag before changing the case
bitmap.
2025-06-04 10:48:08 +00:00
..
include Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
rdata Fix OID check for PRIVATEOID keys and signatures 2025-04-03 23:00:16 +11:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
acl_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
adb.c Give every memory context a name 2025-05-29 05:46:46 +02:00
badcache.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
byaddr.c simplify dns_name_fromtext() interface 2025-02-25 12:53:25 -08:00
cache.c Give every memory context a name 2025-05-29 05:46:46 +02:00
callbacks.c Convert all categories and modules into static lists 2024-08-20 12:50:39 +00:00
catz.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
client.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
clientinfo.c refactor dns_clientinfo_init(); use separate function to set ECS 2023-02-07 23:48:22 -08:00
compress.c remove the 'name_coff' parameter in dns_name_towire() 2025-02-25 12:53:25 -08:00
db.c switch to ISC_LIST_FOREACH everywhere 2025-03-31 13:45:10 -07:00
db_p.h Remove lock upgrading from the hot path in the cache 2025-03-25 10:57:19 +01:00
dbiterator.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
diff.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
dispatch.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
dlz.c switch to ISC_LIST_FOREACH everywhere 2025-03-31 13:45:10 -07:00
dlz_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
dns64.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
dnssec.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
dnstap.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
dnstap.proto Update the dnstap protobuf definition 2024-04-26 16:08:46 +03:00
ds.c Remove target buffer from dns_name_downcase() 2025-02-25 12:17:34 +01:00
dst_api.c Give every memory context a name 2025-05-29 05:46:46 +02:00
dst_internal.h Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
dst_openssl.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dst_parse.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
dst_parse.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dyndb.c switch to ISC_LIST_FOREACH everywhere 2025-03-31 13:45:10 -07:00
dyndb_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
ecs.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ede.c Don't copy EDE codes if source is same as destination 2025-04-02 18:06:52 +02:00
fixedname.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
forward.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
gen.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
geoip2.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
gssapi_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
gssapictx.c simplify dns_name_fromtext() interface 2025-02-25 12:53:25 -08:00
hmac_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
ipkeylist.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
iptable.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
journal.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
kasp.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
key.c Cleanup the DST cryptographic API 2025-05-20 09:52:35 +02:00
keydata.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
keymgr.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
keystore.c Allow keystore.c to compile on Solaris 2025-05-30 15:14:38 +10:00
keytable.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
lib.c Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
Makefile.am Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
master.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
masterdump.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
message.c Give every memory pool a name 2025-05-29 05:46:46 +02:00
name.c allow NULL compression context in dns_name_towire() 2025-02-25 12:53:25 -08:00
nametree.c Remove offsets from the dns_name and dns_fixedname structures 2025-02-25 12:17:34 +01:00
ncache.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
nsec.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
nsec3.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
nta.c Remove offsets from the dns_name and dns_fixedname structures 2025-02-25 12:17:34 +01:00
openssl_link.c Remove unused isc_mutexblock and isc_condition units 2025-03-01 07:33:09 +01:00
openssl_shim.h Move the dst__openssl_toresult to isc_tls unit 2024-08-08 11:59:41 +02:00
opensslecdsa_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
openssleddsa_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
opensslrsa_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
order.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
peer.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
private.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
probes.d Do not destroy IXFR journal in xfrin_end() 2023-12-20 17:21:14 +01:00
qp.c Fix builds for the OSS-Fuzz project 2025-06-03 18:41:45 +02:00
qp_p.h Tune min and max chunk size 2025-05-22 15:19:48 -07:00
qpcache.c Adaptive memory allocation strategy for qp-tries 2025-05-22 15:19:27 -07:00
qpcache_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
qpzone.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
qpzone_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
rcode.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
rdata.c Fix OID check for PRIVATEOID keys and signatures 2025-04-03 23:00:16 +11:00
rdatalist.c switch to ISC_LIST_FOREACH everywhere 2025-03-31 13:45:10 -07:00
rdataset.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
rdatasetiter.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
rdataslab.c Try to skip lock on fully lower names 2025-06-04 10:48:08 +00:00
remote.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
request.c Emit a ISC_R_CANCELED result instead of ISC_R_SHUTTINGDOWN 2025-05-28 16:20:13 +00:00
resconf.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
resolver.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
result.c clean up result codes that are never used 2025-01-23 15:54:57 -08:00
rootns.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
rpz.c simplify dns_name_fromtext() interface 2025-02-25 12:53:25 -08:00
rriterator.c Remove fixed value for the rrset-order option 2024-12-09 13:09:26 +01:00
rrl.c use proper flexible arrays in rrl 2025-05-30 10:44:49 +00:00
sdlz.c use new dns_rdatatype classification functions 2025-03-15 00:27:54 +00:00
skr.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
soa.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
ssu.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
ssu_external.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
stats.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
time.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
tkey.c make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
transport.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
tsig.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
tsig_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
ttl.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
unreachcache.c Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
update.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
validator.c add DNS_RDATASET_FOREACH macro 2025-05-27 21:08:09 -07:00
view.c Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
xfrin.c Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
zone.c Redesign the unreachable primaries cache 2025-06-04 09:16:35 +00:00
zone_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
zoneverify.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
zt.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00