Introduction

   BIND 9.9.5-P1 is a patch release for BIND 9.9 which includes
   changes to address GCC optimization issues described in ISC
   Operational Notification https://kb.isc.org/article/AA-01167 as
   well as patches for a small number of other issues.

   This document summarizes features added or significantly changed
   since the previous major release, BIND 9.9.4. Changes marked
   with '**' have been added since the previous release, 9.9.5.
   Please see the CHANGES file in the source code release for a
   complete list of all changes.

Download

   The latest versions of BIND 9 software can always be found on
   our web site at http://www.isc.org/downloads/. There you will
   find additional information about each release, source code, and
   pre-compiled versions for Microsoft Windows operating systems.

Support

   Professional support is provided by DNSco. Information about
   paid support options is available at http://www.dns-co.com/solutions/.
   Free support is provided by our user community via a mailing
   list. Information on all public email lists is available at
   https://www.isc.org/community/mailing-list/.

Security Fixes

   Treat an all zero netmask as invalid when generating the localnets
   acl to workaround bug on Windows platform. [CVE-2013-6230] [RT #34687]

   Fix crashes when serving some NSEC3 signed zones. memcpy was
   incorrectly called with overlapping ranges, resulting in malformed
   names being generated on some platforms. This could cause INSIST
   failures. (CVE 2014-0591) [RT #35120]

Features Changes

   Add the ability to specify ndots to "nslookup". [RT #34711]

   Introduce a new tool "dnssec-importkey" to allow externally-generated
   DNSKEY to be imported into the DNSKEY management framework. [RT #34698]

   Check that EDNS subnet client options are well formed. [RT #34718]

   "named" now preserves the capitalization of names when responding
   to queries. [RT #34737]

   Include a comment in .nzf files (used for adding new zones via
   "rndc"), giving the name of the associated view. [RT #34765]

   Use separate rate limiting queues for refresh and notify requests.
   [RT #30589]

   Adjust when a master server is deemed unreachable to be less
   aggressive. [RT #27075]

   Create delegations for all "children" of empty zones except
   "forward first". [RT #34826]

   Changed the name of "isc-config.sh" developers script (for
   outputting compiler and linker flags) to "bind9-config". [RT #23825]

   Add "dig" option to keep the TCP socket open between successive
   queries (+[no]keepopen).  [RT #34918]

   Add dns_client_createx2() function to DNS Client API to provide
   a way to specify the local address for use when sending update
   packets. [RT #34811]

   "named-checkconf -z" now checks zones of type hint as well as
   master. [RT #35046]

   Update config.guess and config.sub to add support for ppc64le
   (powerpc 64-bit Little Endian). [RT #35060]

   Update the Windows build system to support feature selection and
   WIN64 builds. This is a work in progress. [RT #34160]

   Add "dnssec-signzone -Q" switch to drop signatures from keys
   that are still published but no longer active.  [RT #34990]

   Add a more detailed "not found" message to "rndc" commands which
   specify a zone name. [RT #35059]

   named will now warn when a zone's configured "key-directory"
   does not exist or is not a directory. [RT #35108]

   Added improvements to statistics channel XSL stylesheet: the
   stylesheet can now be cached by the browser; section headers are
   omitted from the stats display when there is no data in those
   sections to be displayed; counters are now right-justified for
   easier readability. (Only available with ./configure --enable-newstats.)
   [RT #35117]

   "named-checkconf" can now obscure shared secrets when printing
   by specifying '-x'. [RT #34465]

   "named" can now accept integer timestamps in RRSIG records. [RT #35185]

   The export-library API call for loading "resolv.conf",
   irs_resconf_load(), has been modified to return ISC_R_FILENOTFOUND
   when the file does not exist and initializes the resconf structure
   as if the file had existed and configured with nameservers at
   the localhost addresses (127.0.0.1 and ::1). [RT #35194]

Bug Fixes

   Don't call qsort with a null pointer and disable GCC 4.9 "delete
   null pointer check". This fixes problems when using GNU GCC 4.9.0
   where its compiler code optimizations may cause crashes in BIND.
   For more information, see the operational advisory at
   https://kb.isc.org/article/AA-01167/. [RT #35968] **

   Improve Linux portability for libcap support. [RT #35387] **

   Fix a bug that prevented the dig, nslookup, and host utilities
   from exiting properly after completing a UDP query. [RT #35288]
   **

   Treat type 65533 (KEYDATA) as opaque except when used in a key
   zone. [RT #34238]

   Fix "host" and "nslookup" so don't need dot after the domain by
   checking ndots when searching. Only continue searching on NXDOMAIN
   responses. [RT #34711]

   Handle changes to sig-validity-interval settings better. [RT #34625]

   Fix bug where journal filename string could be set incorrectly,
   causing garbage in log messages. [RT #34738]

   Address a race condition when shutting down a zone. [RT #34750]

   Address race condition with manual notify requests. [RT #34806]

   Fix nslookup crash where some readline clones don't accept NULL
   pointers when calling add_history. [RT #34842]

   Fix Linux compilation issue when libcap-devel is installed. [RT #34838]

   Fix installation on Solaris -- don't add explicit make
   dependencies/rules for python programs as make won't use the
   implicit rules. [RT #34835]

   Fix hanging server with inline-signed zones by addressing lock
   order reversal deadlock with inline zones. [RT #34856]

   Fix "host" failure if a UDP query timed out. [RT #34870]

   Address bugs in dns_rdata_fromstruct and dns_rdata_tostruct for
   WKS and ISDN types. [RT #34910]

   Updated OpenSSL PKCS#11 patches to fix active list locking and
   other bugs. [RT #34855]

   Fix a potential hang with failure to release lock on error in
   receive_secure_db. #34944]

   Fix cast in lex.c which could see 0xff treated as EOF. This fixes
   issue with potential bad data in a database used by DLZ or SDB.
   [RT #34993]

   Fix build issue on newer FreeBSD needing -lhx509 for GSSAPI
   build. [RT #35001]

   Address read after free in server side of lwres_getrrsetbyname.
   [RT #29075]

   Fix "nsupdate" memory leak if "realm" was used multiple times.
   [RT #35073]

   Fix "dig" for cleaning up TCP sockets still waiting on connect().
   [RT #35074]

   Fix "dnssec-importkey" so imported key won't overwrite an existing
   non-imported private key.

   Fix issue where queries covered by a disabled Response Policy
   Zone (query type was '*') are answered with TTL of 0. [RT #35026]

   Fix "nsupdate" memory leak if "realm" was used multiple times.
   [RT #35073]

   Fix "dig" for cleaning up TCP sockets still waiting on connect().
   [RT #35074]

   Fix issue with "rndc retransfer" with inline-signing replacing
   NSEC3 with NSEC records. [RT #34745]

   Fix issue with "rndc refresh" failing to sign slave zones using
   inline-signing. [RT #35105]

   Fix potential hang (detected by our inline-signing system test)
   with null pointer dereference in libdns zone_xfrdone.  [RT #35042]

   Address bug in libdns loadnode function that could return a freed
   node on out of memory. [RT #35106]

   Fixed a bug causing an insecure delegation from one "static-stub"
   zone to another to fail with a broken trust chain. [RT #35081]

   Fixed problem where iterative responses could be discarded when
   the "query-source" port for an upstream query was the same as
   the listener port (53). [RT #34925]

   Fix crashes in RBTDB implementation. Two calls to dns_db_getoriginnode
   were fatal if there was no data at the node. [RT #35080]

   Fix a possible race and crash in the socket_search() function
   in dispatch.c. [RT #35107]

   Fix "dig" so it can handle AXFR style IXFR responses which span
   multiple messages. [RT #35137]

   Fix a "host" tool problem with converting UTF-8 textname to IDN
   encoding by handling "." as a search list element when IDN support
   is enabled. [RT #35133]

   Fix "queryperf" to prevent a possible integer overflow when
   printing results. [RT #35182]

   Prevent a theoretically possible race and crash when obtaining
   a socket in dispatch.c [RT #35128]

   Use built-in versions of strptime() and timegm() on all platforms
   to avoid portability issues. [RT #35183]

   Fix a bug which could cause a crash when running "rndc reconfig"
   or "rndc reload" after configuration is changed from regular
   zones to automatic empty zones. [RT #35177]

Thank You

   Thank you to everyone who assisted us in making this release
   possible. If you would like to contribute to ISC to assist us
   in continuing to make quality open source software, please visit
   our donations page at http://www.isc.org/donate/.

(c) 2001-2014 Internet Systems Consortium