Refactor `dns_rdataset_t->privateN`
The generic dns_rdataset_t
structure has a number of private
fields that are (according to the comment before their declarations) "for use by the rdataset implementation, and MUST NOT be changed by clients." That suggests they should only be used by dns_rdatalist_t
and the rdataslab
implementation (which is largely in rbtdb.c
). However, the privateN
fields are also used by:
dnsrps.c
keytable.c
ncache.c
sdb.c
sdlz.c
It is not clear what each privateN
field is for, which code owns which fields, whether or not there are clashes (or how developers can be sure to avoid them).
This is one of the work items tracked in #3268
Edited by Tony Finch