involved extensive restructuring of the reference counting of
zones and related objects.
Zones now attach to their views. To avoid a circular dependency that
would keep views from ever shutting down, this is done using the new
functions dns_view_weakattach() / dns_view_weakdetach() which
guarantee that the view will not be freed but still allow it
to be shut down.
The zones themselves now only have a single reference count, with
similar "weak" semantics. Managed zones must now be shut down
explicitly by calling dns_zone_shutdown(). To shut down all
zones in a zone table, call dns_zt_shutdown().
The zone manager is now reference counted, weakly. To shut down the
zone manager, you must explicitly call dns_zonemgr_shutdown().
public functions did not have an isc__ prefix, and
referred to functions that had previously been
renamed.
184. [cleanup] Variables/functions which began with two leading
underscores were made to conform to the ANSI/ISO
function declaration and comment reformatting in accordance with coding
style document.
check_overrun conditionally compiled based on ISC_MEM_FILL and
ISC_MEM_CHECKOVERRUN to avoid compiler warnings about being defined
but not used if one of those two CPP symbols is not defined.
statements.
- Post-load of named.conf check verifies a slave zone has non-empty list
of masters defined.
- New per-zone boolean:
enable-zone yes | no ;
- intended to let a zone be disabled without having to comment out the
entire zone statement.
- New global and per-view option:
max-cache-ttl number
- New global and per-view option:
addition-data internal | minimal | maximal;
line 356: remark(1174): parameter "dev" was declared but never referenced
This is true when ISC_NET_BSD44MSGHDR is not defined. UNUSED()s were added.
line 1580: remark(1552): variable "task" was set but never used
line 1670: remark(1552): variable "task" was set but never used
I removed the stack variable and its assignment in each case.
line 2915: remark(1552): variable "ret" was set but never used
It was apparent that the variable was meant to be the return value
of isc_socket_getsockname, so the return statement was changed to use it.
Also ...
Changed function declarations to ISC coding style.
Wrapped two lines that were wider than column 79.
Removed two UNUSED() macros for variables that were no longer unused.
line 684: remark(1692): prototyped function redeclared without prototype
line 700: remark(1692): prototyped function redeclared without prototype
Prototypes fixed.
line 331: remark(1552): variable "n" was set but never used.
Variable removed.
It was removed and the function call that set it (getword) was cast to void.
In the context in which it was being used, the return value was not needed.
line 84: remark(1692): prototyped function redeclared without prototype
line 137: remark(1692): prototyped function redeclared without prototype
The missing prototypes were added.
to "long": rounding, sign extension, or loss of accuracy may result
Fixed by ensuring unsigned long ctx->timeout does not overflow the signed
long timeout.tv_sec.
"tkey.c", line 220: remark(1552): variable "tsigkey" was set but never used
"tkey.c", line 846: remark(1552): variable "tsigkey" was set but never used
by removing the unused variables.
"resolver.c", line 750: remark(1552): variable "trdataset" was set but never
used
"resolver.c", line 3043: remark(1552): variable "have_sig" was set but never
used
True and true.
"resolver.c", line 2194: warning(1551): variable "now" is used before its
value is set
Moved setting of "now" to earlier in the function.
"rdata.c", line 164: remark(1174): variable "octdigits" was declared but never
referenced
This was true; octdigits was used in no lib/dns/**/* files.
"rdata.c", line 1485: remark(1506): implicit conversion from "unsigned long"
to "int": rounding, sign extension, or loss of accuracy may result
"rdata.c", line 1493: remark(1506): implicit conversion from "unsigned long"
to "int": rounding, sign extension, or loss of accuracy may result
"rdata.c", line 1501: remark(1506): implicit conversion from "unsigned long"
to "int": rounding, sign extension, or loss of accuracy may result
These three were all in atob_tobuffer, where the value of stroul was being
assigned to an isc_int32_t, which is typedef'd from int and possibly smaller
than long (definitely on the IRIX machine). The variables in question were
changed from isc_int32_t to long.
"./rdata/any_255/tsig_250.c", line 74: remark(1506): implicit conversion from
"unsigned long" to "int": rounding, sign extension, or loss of
accuracy may result
"./rdata/any_255/tsig_250.c", line 95: remark(1506): implicit conversion from
"unsigned long" to "int": rounding, sign extension, or loss of
accuracy may result
The values in question were already being checked to be within the range of
a short, so where the warnings were occuring they were just cast to int.
"./rdata/generic/tkey_249.c", line 89: remark(1506): implicit conversion from
"unsigned long" to "int": rounding, sign extension, or loss of
accuracy may result
"./rdata/generic/tkey_249.c", line 98: remark(1506): implicit conversion from
"unsigned long" to "int": rounding, sign extension, or loss of
accuracy may result
The values in question were already being checked to be within the range of
a short, so where the warnings were occuring they were just cast to int.
"./rdata/generic/unspec_103.c", line 138: warning(1184): possible use of "="
where "==" was intended
by changing to ==, which is clearly what was intended.