Cast int c to char c; it was already range limited.
Cast isc_buffer_uint16 int argument to uint16; it was already range checked.
Cast isc_buffer_uint8 int argument to uint8; it was already range checked.
I was not entirely sure that all paths to the places where the INSISTS are
would have guaranteed that the unsigned int rdata.length was in the range
of an unsigned short.
Cast bitshifts to isc_uint8_t in encode_win32(); yes, dear compiler, we know
there is a loss of precision. That's exactly what we want to happen here.
I was not entirely sure that all paths to the places where the INSISTS are
would have guaranteed that the unsigned int rdata.length was in the range
of an unsigned short.
Updated documentation for dns_rbt_findnode to describe more what
happens with various return values, and that the chain points to the
DNSSEC predecessor for all non-error returns.
New documentation for dns_rbtnodechain_{prev,next}.
Updated documentation for other dns_rbtnodechain_*.
deletion bug fixed that could orphan a large section of the tree. the
"parent" argument to rotate_left or rotate_right was sometimes not
really the parent of the rotation vertex, because the parent's parent
was not correctly reidentified after a rotation done on the parent.
Minor:
forward static declaration of dns_rbt_printnodename, useful in debugging.
level_matches set correctly for exact match in dns_rbt_findnode (it was
one too few, but this was minor because as yet level_matches is only
used by other code when a partial match was made.
insist 'node' is a child of 'parent' in rotate_left and rotate_right
compare a pointer explicitly to NULL that was just "if (pointer)"
"would would" in a comment changed to just one "would".
Export dns_zone_equal.
Do not try to set slave options (like transfer_source)
on a master zone.
Turn off some printing.
Add a warning about dns_zone_tostr().
too useful for anything other than HMAC-MD5 shared keys, since the key's
flags and protocol are stored in the public file.
Also some miscellaneous cleanup.