__attribute__((__warn_unused_result__)) and the __builtin_expect()
use here is an attempt to silence the warning. This does not work
if the second argument of __builtin_expect() is not a constant,
but we are not linux, so instead of going through the
__builtin_constant_p() dance to correct this, just disable it for
non linux OS's.
Upstream changelog:
--- 9.8.0-P4 released ---
3124. [bug] Use an rdataset attribute flag to indicate
negative-cache records rather than using rrtype 0;
this will prevent problems when that rrtype is
used in actual DNS packets. [RT #24777]
--- 9.8.0-P3 released (withdrawn) ---
3126. [security] Using DNAME record to generate replacements caused
RPZ to exit with a assertion failure. [RT #23766]
3125. [security] Using wildcard CNAME records as a replacement with
RPZ caused named to exit with a assertion failure.
[RT #24715]
3123. [security] Change #2912 exposed a latent flaw in
dns_rdataset_totext() that could cause named to
crash with an assertion failure. [RT #24777]
3115. [bug] Named could fail to return requested data when
following a CNAME that points into the same zone.
[RT #2445]
- fixes CVE-2011-1910: Large RRSIG RRsets and Negative Caching can crash named
- fixes CVE-2011-0414: bind lockup during IXFR
- return a more correct error in case of policy violation
bump version of libdns and libisc
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
- Fix UNUSED macro to not have "NULL EFFECT"
- Add /*CONSTCOND*/ to while (0) loops
- Change do while (1) loops to for (;;)
- remove stray continue from do while (0) loop.
- remove "" in comments that confuse lint
- fix strict aliases
- fix non ansi prototypes