it corrupts active chains and can change the data at a node which
someone might be using. (In the latter case, though the full name from
the root was still intact, and the ->data member was not altered, other
values like the partial name ndata and offsets could change.)
New functions dns_rbt_fullnamefromnode() and dns_rbt_formatnodename(),
for getting a dns_name_t and filling a char buffer, respectively, with
the complete name of a node from the root.
rbtnode.is_root was being treated as isc_boolean_t even though it was bitfield
of width 1. This worked fine, but wasn't consistent with ISC style, and
would have puked if someone decided to change isc_true from 1 (unlikely
as that is). Yeah, anal, I know.
Two new error codes. Also push back the last token, if it makes
sense to do so, so that it gets printed in the error message using
RETTOK macro, rather than straight return or RETERR.
759. [bug] The resolver didn't turn off "avoid fetches" mode
when restarting, possibly causing resolution
to fail when it should not. This bug only affected
platforms which support both IPv4 and IPv6. [RT #927]
758. [bug] The "avoid fetches" code did not treat negative
cache entries correctly, causing fetches that would
be useful to be avoided. This bug only affected
platforms which support both IPv4 and IPv6. [RT #927]
query, the resolver failed to setup the return event's rdatasets, causing an
assertion failure in the query code. [RT #881]
The fix includes the addition of the DNS_NAMEATTR_CHAINING attribute,
and the removal of the DNS_NAMEATTR_CNAME and DNS_NAMEATTR_DNAME attributes,
because they were not used anywhere in the current source.
requirement that it is only called from the task where the
response entry being removed delivers its events (Michael
agrees that this is indeed a requirement)
fully implemented and because it causes "internal" to be a reserved word in
named.conf, causing problems for those using "internal" as an ACL name.
Since additional-data was never documented, the user-visible aspect of the
change is:
718. [cleanup] "internal" is no longer a reserved word in named.conf.
[RT #753, #731]
and make the rbtdb, zone, and view objects use it.
This should reduce contention on other locks, since (in the normal)
implementation, the reference count has its own lock. In the future, it
should also be possible to implement an isc_refcount_t with atomic operations
instead of mutexes, which should also help performance.
removes some unused code in view.c and uncomments some code in cache.c.
This still isn't really usable, since the trust level of cached data is
not persistent, so all data in the persistent cache will be promoted to
"ultimate" trust on reload.