mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-23 02:28:55 -04:00
Add `dns_delegdb_t`, a qpmulti-based database enabling to lookup a delegation set (`dns_delegset_t`) from a zonecut name (`dns_name_t`). A delegation set object essentially contains an expiration time and a list of delegation (`dns_deleg_t`). Finally, a delegation can be either: - A list of IP addresses (`isc_netaddrlist_t`), for NS-based delegation providing glues or DELEG-based delegation using `server-ipv4=` or `server-ipv6=`; - Or a list of nameserver names, for NS-based delegation without glues, or DELEG-based delegation using `server-name=`; - Or a list of nameserver names, for DELEG-based delegation using `include-delegparam=`. The delegation database API provides lookup by closest zonecut, delegation and delegation set builders as well as insertion of those newly built delegation set, dumping to a `FILE *`, conversion from an NS rdataset to a delegation set, deletion of a specific zonecut or all the sub-tree of a given zonecut. A memory context is internally used inside the delegation database and can be constraint to a maximum size. Once it gets close to its maximum size and a new delegation set is inserted into the database, a reclamation flow is run internally removing the least recently used entries. The delegation set and delegation objects are, once they been inserted into the database, read-only object. Thus, the caller can use them without concurrency or locking concerns, and must detached them once its done with it. |
||
|---|---|---|
| .. | ||
| comparekeys | ||
| testdata | ||
| testkeys | ||
| .gitignore | ||
| acl_test.c | ||
| badcache_test.c | ||
| byaddr_test.c | ||
| db_test.c | ||
| dbdiff_test.c | ||
| dbiterator_test.c | ||
| dbversion_test.c | ||
| deleg_test.c | ||
| diff_test.c | ||
| dispatch_test.c | ||
| dns64_test.c | ||
| dnstap_test.c | ||
| dst_test.c | ||
| ede_test.c | ||
| geoip_test.c | ||
| Kdh.+002+18602.key | ||
| keytable_test.c | ||
| Krsa.+008+29238.key | ||
| master_test.c | ||
| meson.build | ||
| mkraw.pl | ||
| name_test.c | ||
| nametree_test.c | ||
| nsec3_test.c | ||
| nsec3param_test.c | ||
| private_test.c | ||
| qp_test.c | ||
| qpdb_test.c | ||
| qpmulti_test.c | ||
| qpzone_test.c | ||
| rdata_test.c | ||
| rdataset_test.c | ||
| rdatasetstats_test.c | ||
| resconf_test.c | ||
| resolver_test.c | ||
| rsa_test.c | ||
| sigs_test.c | ||
| skr_test.c | ||
| time_test.c | ||
| transport_test.c | ||
| tsig_test.c | ||
| unreachcache_test.c | ||
| update_test.c | ||
| vecheader_test.c | ||
| zonefile_test.c | ||
| zonemgr_test.c | ||
| zt_test.c | ||