DNS_RDATA_UPDATE flag.
531. [func] Rdata really should be initalized before being
assigned to (dns_rdata_fromwire(), dns_rdata_fromtext(),
dns_rdata_clone(), dns_rdata_fromregion()),
check that it is.
hidden behind #ifdef's, since no OPT code number has yet to be assigned
by the IANA. They are also not quite complete in all regards; VIEW
options are understood and ignored. ZONE options are understood and
acted upon, though some of the error cases aren't quite right.
Remove doubled isc_mem_stats in dighost.c
Update todo list.
Change literal 255's to DNS_NAME_MAXWIRE in name.c
question section, and returning a formerr if it was invalid. This isn't
exactly right, since it should be the caller's responsibility to check, not
message_parse. It definitely caused weirdness when parsing responses, and
the only places where queries were parsed already does the right thing.
"Store CNAMEs and their SIGs (if any) in their own name structure on
the name list. I.e. do not mix CNAMEs with non-CNAME data. Do the
same thing for DNAMEs."
because it caused DNSSEC validation of responses to ANY queries at
nodes with CNAME records to fail, and no one was able to figure out
why it was added in the first place. As a beneficial side effect,
findname() now finds names even if they have attribute bits set
differently from the one being searched for. This supersedes
the fix of revision 1.133.
not constructed by dns_message_parse(), dns_message_findname() failed to
find anything due to checking for attribute bits set only by dns_message_parse().
This caused an infinite loop when constructing the response to an ANY query
at a CNAME in a secure zone.
Mostly, several functions that take pointers as arguments, almost
always char * pointers, had those pointers qualified with "const".
Those that returned pointers to previously const-qualified arguments
had their return values qualified as const. Some structure members
were qualified as const to retain that attribute from the variables
from which they were assigned.
The macro DE_CONST is used to deal with a handful of very special
places where something is qualified as const but really needs to have
its const qualifier removed.
rdata.c now defines macros for the prototypes of the basic rdata functions,
and all of the lib/dns/rdata/**/*.c files now use them.
Some minor integer-compatibility issues. (IE, ~0x03 is a signed int,
so assigning it to an unsigned int should use a cast. The type of an
enum member is int, so there are some conversion issues there, too.)
A pointers-to-function should not be cast to a pointer-to-object.
Variables should not be named for C reserved identifiers.
One or two set-but-not-used variables removed.
Minor other ISC style cleanups.