bind9/lib/dns/include/dns
Evan Hunt 947bc0a432 add an iterator argument to dns_qp_lookup()
the 'predecessor' argument to dns_qp_lookup() turns out not to
be sufficient for our needs: the predecessor node in a QP database
could have become "empty" (for the current version) because of an
update or because cache data expired, and in that case the caller
would have to iterate more than one step back to find the predecessor
node that it needs.

it may also be necessary for a caller to iterate forward, in
order to determine whether a node has any children.

for both of these reasons, we now replace the 'predecessor'
argument with an 'iter' argument. if set, this points to memory
with enough space for a dns_qpiter object.

when an exact match is found by the lookup, the iterator will be
pointing to the matching node. if not, it will be pointing to the
lexical predecessor of the nae that was searched for.

a dns_qpiter_current() method has been added for examining
the current value of the iterator without moving it in either
direction.
2023-12-06 11:03:30 -08:00
..
acl.h Convert rwlock in dns_acl to RCU 2023-10-13 14:44:40 +02:00
adb.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
badcache.h Refactor dns_badcache to use cds_lfht lock-free hashtable 2023-07-31 15:51:15 +02:00
bit.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
byaddr.h remove isc_task completely 2023-02-16 18:35:32 +01:00
cache.h change dns_db_settask() to _setloop() 2022-11-30 11:47:35 -08:00
callbacks.h Update clang to version 14 2022-06-16 17:21:11 +02:00
catz.h Fix shutdown races in catzs 2023-10-23 08:21:39 +00:00
cert.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
client.h clean up some unused functions 2023-08-15 14:24:46 +02:00
clientinfo.h refactor dns_clientinfo_init(); use separate function to set ECS 2023-02-07 23:48:22 -08:00
compress.h Compress zone transfers properly 2022-11-30 12:16:09 +00:00
db.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
dbiterator.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
diff.h Cleanup wrong whitespace in dns/diff.h 2023-10-19 14:57:25 +02:00
dispatch.h Add option to mark TCP dispatch as unshared 2023-10-24 13:07:03 +02:00
dlz.h Update clang to version 14 2022-06-16 17:21:11 +02:00
dlz_dlopen.h Update clang to version 14 2022-06-16 17:21:11 +02:00
dns64.h Add the ability to use DNS64 internally 2023-09-13 14:31:43 +10:00
dnsrps.h Give the rdataset->privateN fields more helpful names 2023-07-17 14:50:25 +02:00
dnssec.h Make make_dnskey() a public funcion 2023-05-23 08:53:23 +02:00
dnstap.h switch to using isc_loopmgr_pause() instead of task exclusive 2023-02-16 17:51:55 +01:00
ds.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dsdigest.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dyndb.h remove isc_task completely 2023-02-16 18:35:32 +01:00
ecs.h update dlz_minimal.h 2022-01-27 15:48:50 -08:00
edns.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fixedname.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
forward.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
geoip.h Update clang to version 14 2022-06-16 17:21:11 +02:00
ipkeylist.h remove nonfunctional DSCP implementation 2023-01-09 12:15:21 -08:00
iptable.h Convert manual dns_iptable_{attach,detach} to ISC_REFCOUNT_IMPL 2023-10-13 14:44:40 +02:00
journal.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
kasp.h Ignore max-zone-ttl on dnssec-policy insecure 2023-08-01 08:56:52 +02:00
keydata.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
keyflags.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
keymgr.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
keytable.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
keyvalues.h Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
librpz.h silence coverity warnings 2023-04-05 09:23:51 +02:00
log.h remove {root-}delegation-only 2023-03-23 12:57:01 -07:00
master.h Move the zone loading to the offloaded threads 2022-10-30 14:56:40 -07:00
masterdump.h Dump the signed zone in the text format at the end of dnssec-signzone 2023-01-22 20:44:07 +01:00
message.h Check that buffer length in dns_message_renderbegin 2023-11-16 11:15:49 +11:00
name.h Cleanup the dns_name macros 2023-09-12 16:14:10 +02:00
nametree.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
ncache.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nsec.h Wait with NSEC3 during a DNSSEC policy change 2022-08-22 15:55:46 +02:00
nsec3.h Lower the maximum allowed NSEC3 iterations to 50 2023-12-05 14:58:58 +00:00
nta.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
opcode.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
order.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
peer.h remove nonfunctional DSCP implementation 2023-01-09 12:15:21 -08:00
private.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
qp.h add an iterator argument to dns_qp_lookup() 2023-12-06 11:03:30 -08:00
rbt.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
rcode.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdata.h Add new dns_rdatatype_iskeymaterial() function 2023-05-23 08:53:23 +02:00
rdataclass.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdatalist.h Implement dns_db node tracing 2023-02-28 11:44:15 +01:00
rdataset.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
rdatasetiter.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
rdataslab.h Add missing headers to <dns/rdataslab.h> 2023-07-19 09:28:53 +02:00
rdatatype.h Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
remote.h remove nonfunctional DSCP implementation 2023-01-09 12:15:21 -08:00
request.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
resolver.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
result.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rootns.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rpz.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
rriterator.h Update clang to version 14 2022-06-16 17:21:11 +02:00
rrl.h Fix RRL responses-per-second bypass using wildcard names 2022-09-08 09:15:30 +02:00
sdlz.h Update clang to version 14 2022-06-16 17:21:11 +02:00
secalg.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
secproto.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
soa.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ssu.h Add isc_rwlock around dns_aclenv .localhost and .localnets member 2022-04-04 19:27:00 +02:00
stats.h Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
time.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tkey.h minor tkey-related fixups 2023-06-14 08:14:38 +00:00
trace.h Replace __attribute__((unused)) with ISC_ATTR_UNUSED attribute macro 2023-03-30 23:29:25 +02:00
transport.h dns_transport: use const arguments in getters when possible 2023-09-22 08:51:45 +00:00
tsig.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
ttl.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
types.h rename QP-related types to use standard BIND nomenclature 2023-09-28 00:32:39 -07:00
update.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
validator.h Fix extra detach when dns_validator create_fetch() detects deadlock 2023-06-06 19:04:17 +02:00
view.h BIND: Add 'allow-proxy' and 'allow-proxy-on' options 2023-12-06 15:15:25 +02:00
xfrin.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
zone.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
zonekey.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
zoneverify.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
zt.h The zone table no longer depends on the loop manager 2023-05-12 20:48:31 +01:00