bind9/bin/named
Tony Finch 856a6e4afb
Give the rdataset->privateN fields more helpful names
BIND's rdataset structure is a view of some DNS records. It is
polymorphic, so the details of how the records are stored can vary.
For instance, the records can be held in an rdatalist, or in an
rdataslab in the rbtdb.

The dns_rdataset structure previously had a number of fields called
`private1` up to `private7`, which were used by the various rdataset
implementations. It was not at all clear what these fields were for,
without reading the code and working it out from context.

This change makes the rdataset inheritance hierarchy more clear. The
polymorphic part of a `struct dns_rdataset` is now a union of structs,
each of which is named for the class of implementation using it. The
fields of these structs replace the old `privateN` fields. (Note: the
term "inheritance hierarchy" refers to the fact that the builtin and
SDLZ implementations are based on and inherit from the rdatalist
implementation, which in turn inherits from the generic rdataset.

Most of this change is mechanical, but there are a few extras.

In keynode.c there were a number of REQUIRE()ments that were not
necessary: they had already been checked by the rdataset method
dispatch code. On the other hand, In ncache.c there was a public
function which needed to REQUIRE() that an rdataset was valid.

I have removed lots of "reset iterator state" comments, because it
should now be clear from `target->iter = NULL` where before
`target->private5 = NULL` could have been doing anything.

Initialization is a bit neater in a few places, using C structure
literals where appropriate.

The pointer arithmetic for translating between an rdataslab header and
its raw contents is now fractionally safer.
2023-07-17 14:50:25 +02:00
..
include use algorithm number instead of name to create TSIG keys 2023-06-14 08:14:38 +00:00
.gitignore Complete rewrite the BIND 9 build system 2020-04-21 14:19:48 +02:00
bind9.xsl remove isc_task completely 2023-02-16 18:35:32 +01:00
builtin.c Give the rdataset->privateN fields more helpful names 2023-07-17 14:50:25 +02:00
config.c use algorithm number instead of name to create TSIG keys 2023-06-14 08:14:38 +00:00
control.c further cleanup after removing diffie-hellman TKEY mode 2023-03-08 08:36:25 +01:00
controlconf.c use algorithm number instead of name to create TSIG keys 2023-06-14 08:14:38 +00: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 Restore the ability to read legacy K*+157+* files 2023-06-29 08:28:44 +10:00
Makefile.am Remove libbind9 2023-02-21 13:12:26 +00:00
named.conf.rst remove {root-}delegation-only 2023-03-23 12:57:01 -07:00
named.rst Allow FIPS mode to be enabled at run time in named 2023-04-03 12:05:29 +10:00
os.c remove named_os_gethostname() 2023-02-18 20:23:41 +00:00
server.c Use RCU for view->adb access 2023-06-14 19:21:28 +10:00
statschannel.c Use RCU for view->adb access 2023-06-14 19:21:28 +10:00
tkeyconf.c Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
transportconf.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01: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 convert TSIG keyring storage from RBT to hash table 2023-06-14 08:14:38 +00:00