Module Name: src Committed By: spz Date: Thu Jan 12 08:21:33 UTC 2017
Modified Files: src/external/bsd/bind/dist: CHANGES README srcid version src/external/bsd/bind/dist/doc/arm: Bv9ARM.ch04.html Bv9ARM.ch06.html Bv9ARM.ch07.html Bv9ARM.ch08.html Bv9ARM.ch09.html Bv9ARM.html man.arpaname.html man.ddns-confgen.html man.delv.html man.dig.html man.dnssec-checkds.html man.dnssec-coverage.html man.dnssec-dsfromkey.html man.dnssec-importkey.html man.dnssec-keyfromlabel.html man.dnssec-keygen.html man.dnssec-revoke.html man.dnssec-settime.html man.dnssec-signzone.html man.dnssec-verify.html man.genrandom.html man.host.html man.isc-hmac-fixup.html man.named-checkconf.html man.named-checkzone.html man.named-journalprint.html man.named-rrchecker.html man.named.html man.nsec3hash.html man.nsupdate.html man.rndc-confgen.html man.rndc.conf.html man.rndc.html src/external/bsd/bind/dist/lib/dns: api message.c resolver.c src/external/bsd/bind/dist/lib/isc/unix: socket.c src/external/bsd/bind/dist/lib/isc/win32: socket.c Removed Files: src/external/bsd/bind/dist/bin/named: pfilter.c pfilter.h src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/flat: zkt-ls zkt-signer src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/hierarchical: zkt-ls zkt-signer Log Message: merge bind-9.10.4-P5 To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/external/bsd/bind/dist/CHANGES cvs rdiff -u -r1.11 -r1.12 src/external/bsd/bind/dist/README cvs rdiff -u -r1.17 -r1.18 src/external/bsd/bind/dist/srcid cvs rdiff -u -r1.21 -r1.22 src/external/bsd/bind/dist/version cvs rdiff -u -r1.2 -r0 src/external/bsd/bind/dist/bin/named/pfilter.c cvs rdiff -u -r1.1 -r0 src/external/bsd/bind/dist/bin/named/pfilter.h cvs rdiff -u -r1.1 -r0 \ src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/flat/zkt-ls \ src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/flat/zkt-signer cvs rdiff -u -r1.1 -r0 \ src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/hierarchical/zkt-ls \ src/external/bsd/bind/dist/contrib/zkt-1.1.2/examples/hierarchical/zkt-signer cvs rdiff -u -r1.11 -r1.12 \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html \ src/external/bsd/bind/dist/doc/arm/Bv9ARM.html \ src/external/bsd/bind/dist/doc/arm/man.arpaname.html \ src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html \ src/external/bsd/bind/dist/doc/arm/man.delv.html \ src/external/bsd/bind/dist/doc/arm/man.dig.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html \ src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html \ src/external/bsd/bind/dist/doc/arm/man.genrandom.html \ src/external/bsd/bind/dist/doc/arm/man.host.html \ src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html \ src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html \ src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html \ src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html \ src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html \ src/external/bsd/bind/dist/doc/arm/man.named.html \ src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html \ src/external/bsd/bind/dist/doc/arm/man.nsupdate.html \ src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html \ src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html \ src/external/bsd/bind/dist/doc/arm/man.rndc.html cvs rdiff -u -r1.11 -r1.12 src/external/bsd/bind/dist/lib/dns/api cvs rdiff -u -r1.20 -r1.21 src/external/bsd/bind/dist/lib/dns/message.c cvs rdiff -u -r1.27 -r1.28 src/external/bsd/bind/dist/lib/dns/resolver.c cvs rdiff -u -r1.19 -r1.20 src/external/bsd/bind/dist/lib/isc/unix/socket.c cvs rdiff -u -r1.11 -r1.12 src/external/bsd/bind/dist/lib/isc/win32/socket.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/bind/dist/CHANGES diff -u src/external/bsd/bind/dist/CHANGES:1.23 src/external/bsd/bind/dist/CHANGES:1.24 --- src/external/bsd/bind/dist/CHANGES:1.23 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/CHANGES Thu Jan 12 08:21:32 2017 @@ -1,3 +1,27 @@ + --- 9.10.4-P5 released --- + +4530. [bug] Change 4489 broke the handling of CNAME -> DNAME + in responses resulting in SERVFAIL being returned. + [RT #43779] + +4528. [bug] Only set the flag bits for the i/o we are waiting + for on EPOLLERR or EPOLLHUP. [RT #43617] + +4519. [port] win32: handle ERROR_MORE_DATA. [RT #43534] + +4517. [security] Named could mishandle authority sections that were + missing RRSIGs triggering an assertion failure. + (CVE-2016-9444) [RT # 43632] + +4510. [security] Named mishandled some responses where covering RRSIG + records are returned without the requested data + resulting in a assertion failure. (CVE-2016-9147) + [RT #43548] + +4508. [security] Named incorrectly tried to cache TKEY records which + could trigger a assertion failure when there was + a class mismatch. (CVE-2016-9131) [RT #43522] + --- 9.10.4-P4 released --- 4489. [security] It was possible to trigger assertions when processing Index: src/external/bsd/bind/dist/README diff -u src/external/bsd/bind/dist/README:1.11 src/external/bsd/bind/dist/README:1.12 --- src/external/bsd/bind/dist/README:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/README Thu Jan 12 08:21:32 2017 @@ -51,6 +51,11 @@ BIND 9 For up-to-date release notes and errata, see http://www.isc.org/software/bind9/releasenotes +BIND 9.10.4-P5 + + This version contains fixes for CVE-2016-9131, CVE-2016-9147, + CVE-2016-9444 and CVE-2016-9778. + BIND 9.10.4-P4 This version contains a fix for CVE-2016-8864. Index: src/external/bsd/bind/dist/srcid diff -u src/external/bsd/bind/dist/srcid:1.17 src/external/bsd/bind/dist/srcid:1.18 --- src/external/bsd/bind/dist/srcid:1.17 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/srcid Thu Jan 12 08:21:32 2017 @@ -1 +1 @@ -SRCID=853aa4b +SRCID=2b12043 Index: src/external/bsd/bind/dist/version diff -u src/external/bsd/bind/dist/version:1.21 src/external/bsd/bind/dist/version:1.22 --- src/external/bsd/bind/dist/version:1.21 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/version Thu Jan 12 08:21:32 2017 @@ -7,5 +7,5 @@ MAJORVER=9 MINORVER=10 PATCHVER=4 RELEASETYPE=-P -RELEASEVER=4 +RELEASEVER=5 EXTENSIONS= Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html Thu Jan 12 08:21:32 2017 @@ -2326,6 +2326,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2. </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html Thu Jan 12 08:21:32 2017 @@ -12845,6 +12845,6 @@ HOST-127.EXAMPLE. MX 0 . </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html Thu Jan 12 08:21:32 2017 @@ -248,6 +248,6 @@ zone "example.com" { </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html Thu Jan 12 08:21:32 2017 @@ -134,6 +134,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html:1.11 Tue Nov 1 21:55:51 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html Thu Jan 12 08:21:32 2017 @@ -44,7 +44,7 @@ <div class="toc"> <p><b>Table of Contents</b></p> <dl class="toc"> -<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.10.4-P4</a></span></dt> +<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.10.4-P5</a></span></dt> <dd><dl> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt> @@ -60,7 +60,7 @@ </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="id-1.10.2"></a>Release Notes for BIND Version 9.10.4-P4</h2></div></div></div> +<a name="id-1.10.2"></a>Release Notes for BIND Version 9.10.4-P5</h2></div></div></div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="relnotes_intro"></a>Introduction</h3></div></div></div> @@ -68,6 +68,10 @@ This document summarizes changes since BIND 9.10.4: </p> <p> + BIND 9.10.4-P5 addresses the security issues described in + CVE-2016-9131, CVE-2016-9147 and CVE-2016-9444. + </p> +<p> BIND 9.10.4-P4 addresses the security issue described in CVE-2016-8864. </p> @@ -103,6 +107,22 @@ <a name="relnotes_security"></a>Security Fixes</h3></div></div></div> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p> + Named could mishandle authority sections that were missing + RRSIGs triggering an assertion failure. This flaw is + disclosed in CVE-2016-9444. [RT # 43632] + </p></li> +<li class="listitem"><p> + Named mishandled some responses where covering RRSIG + records are returned without the requested data + resulting in a assertion failure. This flaw is disclosed in + CVE-2016-9147. [RT #43548] + </p></li> +<li class="listitem"><p> + Named incorrectly tried to cache TKEY records which could + trigger a assertion failure when there was a class mismatch. + This flaw is disclosed in CVE-2016-9131. [RT #43522] + </p></li> +<li class="listitem"><p> It was possible to trigger assertions when processing a response. This flaw is disclosed in CVE-2016-8864. [RT #43465] </p></li> @@ -198,6 +218,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/Bv9ARM.html diff -u src/external/bsd/bind/dist/doc/arm/Bv9ARM.html:1.11 src/external/bsd/bind/dist/doc/arm/Bv9ARM.html:1.12 --- src/external/bsd/bind/dist/doc/arm/Bv9ARM.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/Bv9ARM.html Thu Jan 12 08:21:32 2017 @@ -40,7 +40,7 @@ <div> <div><h1 class="title"> <a name="id-1"></a>BIND 9 Administrator Reference Manual</h1></div> -<div><p class="releaseinfo">BIND Version 9.10.4-P4</p></div> +<div><p class="releaseinfo">BIND Version 9.10.4-P5</p></div> <div><p class="copyright">Copyright © 2004-2015 Internet Systems Consortium, Inc. ("ISC")</p></div> <div><p class="copyright">Copyright © 2000-2003 Internet Software Consortium.</p></div> </div> @@ -239,7 +239,7 @@ </dl></dd> <dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Release Notes</a></span></dt> <dd><dl> -<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.10.4-P4</a></span></dt> +<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.10.4-P5</a></span></dt> <dd><dl> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt> @@ -385,6 +385,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.arpaname.html diff -u src/external/bsd/bind/dist/doc/arm/man.arpaname.html:1.11 src/external/bsd/bind/dist/doc/arm/man.arpaname.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.arpaname.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.arpaname.html Thu Jan 12 08:21:32 2017 @@ -81,6 +81,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html diff -u src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html:1.11 src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.ddns-confgen.html Thu Jan 12 08:21:32 2017 @@ -185,6 +185,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.delv.html diff -u src/external/bsd/bind/dist/doc/arm/man.delv.html:1.11 src/external/bsd/bind/dist/doc/arm/man.delv.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.delv.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.delv.html Thu Jan 12 08:21:32 2017 @@ -498,6 +498,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dig.html diff -u src/external/bsd/bind/dist/doc/arm/man.dig.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dig.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dig.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dig.html Thu Jan 12 08:21:32 2017 @@ -809,6 +809,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html Thu Jan 12 08:21:32 2017 @@ -112,6 +112,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html Thu Jan 12 08:21:32 2017 @@ -219,6 +219,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html Thu Jan 12 08:21:32 2017 @@ -213,6 +213,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html Thu Jan 12 08:21:32 2017 @@ -177,6 +177,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html Thu Jan 12 08:21:32 2017 @@ -381,6 +381,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html Thu Jan 12 08:21:32 2017 @@ -455,6 +455,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html Thu Jan 12 08:21:32 2017 @@ -134,6 +134,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-settime.html Thu Jan 12 08:21:32 2017 @@ -264,6 +264,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html Thu Jan 12 08:21:32 2017 @@ -564,6 +564,6 @@ db.example.com.signed </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html diff -u src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html:1.11 src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.dnssec-verify.html Thu Jan 12 08:21:32 2017 @@ -164,6 +164,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.genrandom.html diff -u src/external/bsd/bind/dist/doc/arm/man.genrandom.html:1.11 src/external/bsd/bind/dist/doc/arm/man.genrandom.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.genrandom.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.genrandom.html Thu Jan 12 08:21:32 2017 @@ -102,6 +102,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.host.html diff -u src/external/bsd/bind/dist/doc/arm/man.host.html:1.11 src/external/bsd/bind/dist/doc/arm/man.host.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.host.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.host.html Thu Jan 12 08:21:32 2017 @@ -247,6 +247,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html diff -u src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html:1.11 src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html Thu Jan 12 08:21:32 2017 @@ -112,6 +112,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html diff -u src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html:1.11 src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.named-checkconf.html Thu Jan 12 08:21:32 2017 @@ -151,6 +151,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html diff -u src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html:1.11 src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.named-checkzone.html Thu Jan 12 08:21:32 2017 @@ -338,6 +338,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html diff -u src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html:1.11 src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.named-journalprint.html Thu Jan 12 08:21:32 2017 @@ -102,6 +102,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html diff -u src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html:1.11 src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.named-rrchecker.html Thu Jan 12 08:21:32 2017 @@ -104,6 +104,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.named.html diff -u src/external/bsd/bind/dist/doc/arm/man.named.html:1.11 src/external/bsd/bind/dist/doc/arm/man.named.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.named.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.named.html Thu Jan 12 08:21:32 2017 @@ -369,6 +369,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html diff -u src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html:1.11 src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.nsec3hash.html Thu Jan 12 08:21:32 2017 @@ -103,6 +103,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.nsupdate.html diff -u src/external/bsd/bind/dist/doc/arm/man.nsupdate.html:1.11 src/external/bsd/bind/dist/doc/arm/man.nsupdate.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.nsupdate.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.nsupdate.html Thu Jan 12 08:21:32 2017 @@ -663,6 +663,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html diff -u src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html:1.11 src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.rndc-confgen.html Thu Jan 12 08:21:32 2017 @@ -223,6 +223,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html diff -u src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html:1.11 src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.rndc.conf.html Thu Jan 12 08:21:32 2017 @@ -246,6 +246,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/doc/arm/man.rndc.html diff -u src/external/bsd/bind/dist/doc/arm/man.rndc.html:1.11 src/external/bsd/bind/dist/doc/arm/man.rndc.html:1.12 --- src/external/bsd/bind/dist/doc/arm/man.rndc.html:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/doc/arm/man.rndc.html Thu Jan 12 08:21:32 2017 @@ -621,6 +621,6 @@ </tr> </table> </div> -<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P4</p> +<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.10.4-P5</p> </body> </html> Index: src/external/bsd/bind/dist/lib/dns/api diff -u src/external/bsd/bind/dist/lib/dns/api:1.11 src/external/bsd/bind/dist/lib/dns/api:1.12 --- src/external/bsd/bind/dist/lib/dns/api:1.11 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/lib/dns/api Thu Jan 12 08:21:32 2017 @@ -6,5 +6,5 @@ # 9.9-sub: 130-139, 150-159 # 9.10: 140-149, 160-169 LIBINTERFACE = 165 -LIBREVISION = 3 +LIBREVISION = 4 LIBAGE = 0 Index: src/external/bsd/bind/dist/lib/dns/message.c diff -u src/external/bsd/bind/dist/lib/dns/message.c:1.20 src/external/bsd/bind/dist/lib/dns/message.c:1.21 --- src/external/bsd/bind/dist/lib/dns/message.c:1.20 Tue Oct 4 23:46:01 2016 +++ src/external/bsd/bind/dist/lib/dns/message.c Thu Jan 12 08:21:32 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: message.c,v 1.20 2016/10/04 23:46:01 christos Exp $ */ +/* $NetBSD: message.c,v 1.21 2017/01/12 08:21:32 spz Exp $ */ /* * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") @@ -1158,6 +1158,63 @@ update(dns_section_t section, dns_rdatac return (ISC_FALSE); } +/* + * Check to confirm that all DNSSEC records (DS, NSEC, NSEC3) have + * covering RRSIGs. + */ +static isc_boolean_t +auth_signed(dns_namelist_t *section) { + dns_name_t *name; + + for (name = ISC_LIST_HEAD(*section); + name != NULL; + name = ISC_LIST_NEXT(name, link)) + { + int auth_dnssec = 0, auth_rrsig = 0; + dns_rdataset_t *rds; + + for (rds = ISC_LIST_HEAD(name->list); + rds != NULL; + rds = ISC_LIST_NEXT(rds, link)) + { + switch (rds->type) { + case dns_rdatatype_ds: + auth_dnssec |= 0x1; + break; + case dns_rdatatype_nsec: + auth_dnssec |= 0x2; + break; + case dns_rdatatype_nsec3: + auth_dnssec |= 0x4; + break; + case dns_rdatatype_rrsig: + break; + default: + continue; + } + + switch (rds->covers) { + case dns_rdatatype_ds: + auth_rrsig |= 0x1; + break; + case dns_rdatatype_nsec: + auth_rrsig |= 0x2; + break; + case dns_rdatatype_nsec3: + auth_rrsig |= 0x4; + break; + default: + break; + } + } + + if (auth_dnssec != auth_rrsig) + return (ISC_FALSE); + } + + return (ISC_TRUE); +} + static isc_result_t getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx, dns_section_t sectionid, unsigned int options) @@ -1183,12 +1240,12 @@ getsection(isc_buffer_t *source, dns_mes best_effort = ISC_TF(options & DNS_MESSAGEPARSE_BESTEFFORT); seen_problem = ISC_FALSE; + section = &msg->sections[sectionid]; + for (count = 0; count < msg->counts[sectionid]; count++) { int recstart = source->current; isc_boolean_t skip_name_search, skip_type_search; - section = &msg->sections[sectionid]; - skip_name_search = ISC_FALSE; skip_type_search = ISC_FALSE; free_rdataset = ISC_FALSE; @@ -1362,7 +1419,7 @@ getsection(isc_buffer_t *source, dns_mes goto cleanup; rdata->rdclass = rdclass; issigzero = ISC_FALSE; - if (rdtype == dns_rdatatype_rrsig && + if (rdtype == dns_rdatatype_rrsig && rdata->flags == 0) { covers = dns_rdata_covers(rdata); if (covers == 0) @@ -1573,6 +1630,19 @@ getsection(isc_buffer_t *source, dns_mes INSIST(free_rdataset == ISC_FALSE); } + /* + * If any of DS, NSEC or NSEC3 appeared in the + * authority section of a query response without + * a covering RRSIG, FORMERR + */ + if (sectionid == DNS_SECTION_AUTHORITY && + msg->opcode == dns_opcode_query && + ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) && + ((msg->flags & DNS_MESSAGEFLAG_TC) == 0) && + !preserve_order && + !auth_signed(section)) + DO_FORMERR; + if (seen_problem) return (DNS_R_RECOVERABLE); return (ISC_R_SUCCESS); Index: src/external/bsd/bind/dist/lib/dns/resolver.c diff -u src/external/bsd/bind/dist/lib/dns/resolver.c:1.27 src/external/bsd/bind/dist/lib/dns/resolver.c:1.28 --- src/external/bsd/bind/dist/lib/dns/resolver.c:1.27 Tue Nov 1 21:55:52 2016 +++ src/external/bsd/bind/dist/lib/dns/resolver.c Thu Jan 12 08:21:32 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: resolver.c,v 1.27 2016/11/01 21:55:52 christos Exp $ */ +/* $NetBSD: resolver.c,v 1.28 2017/01/12 08:21:32 spz Exp $ */ /* * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") @@ -5467,16 +5467,13 @@ cache_name(fetchctx_t *fctx, dns_name_t rdataset->type, &noqname); if (tresult == ISC_R_SUCCESS && - noqname != NULL) { - tresult = - dns_rdataset_addnoqname( + noqname != NULL) + (void) dns_rdataset_addnoqname( rdataset, noqname); - RUNTIME_CHECK(tresult == - ISC_R_SUCCESS); - } } - if ((fctx->options & DNS_FETCHOPT_PREFETCH) != 0) - options = DNS_DBADD_PREFETCH; + if ((fctx->options & + DNS_FETCHOPT_PREFETCH) != 0) + options = DNS_DBADD_PREFETCH; addedrdataset = ardataset; result = dns_db_addrdataset(fctx->cache, node, NULL, now, rdataset, @@ -5609,11 +5606,9 @@ cache_name(fetchctx_t *fctx, dns_name_t tresult = findnoqname(fctx, name, rdataset->type, &noqname); if (tresult == ISC_R_SUCCESS && - noqname != NULL) { - tresult = dns_rdataset_addnoqname( - rdataset, noqname); - RUNTIME_CHECK(tresult == ISC_R_SUCCESS); - } + noqname != NULL) + (void) dns_rdataset_addnoqname( + rdataset, noqname); } /* @@ -6751,7 +6746,7 @@ static isc_result_t answer_response(fetchctx_t *fctx) { isc_result_t result; dns_message_t *message; - dns_name_t *name, *dname = NULL, *qname, *dqname, tname, *ns_name; + dns_name_t *name, *dname = NULL, *qname, tname, *ns_name; dns_name_t *cname = NULL; dns_rdataset_t *rdataset, *ns_rdataset; isc_boolean_t done, external, chaining, aa, found, want_chaining; @@ -6759,7 +6754,7 @@ answer_response(fetchctx_t *fctx) { isc_boolean_t wanted_chaining; unsigned int aflag; dns_rdatatype_t type; - dns_fixedname_t fdname, fqname, fqdname; + dns_fixedname_t fdname, fqname; dns_view_t *view; FCTXTRACE("answer_response"); @@ -6783,13 +6778,12 @@ answer_response(fetchctx_t *fctx) { aa = ISC_TRUE; else aa = ISC_FALSE; - dqname = qname = &fctx->name; + qname = &fctx->name; type = fctx->type; view = fctx->res->view; - dns_fixedname_init(&fqdname); result = dns_message_firstname(message, DNS_SECTION_ANSWER); while (!done && result == ISC_R_SUCCESS) { - dns_namereln_t namereln, dnamereln; + dns_namereln_t namereln; int order; unsigned int nlabels; @@ -6797,8 +6791,6 @@ answer_response(fetchctx_t *fctx) { dns_message_currentname(message, DNS_SECTION_ANSWER, &name); external = ISC_TF(!dns_name_issubdomain(name, &fctx->domain)); namereln = dns_name_fullcompare(qname, name, &order, &nlabels); - dnamereln = dns_name_fullcompare(dqname, name, &order, - &nlabels); if (namereln == dns_namereln_equal) { wanted_chaining = ISC_FALSE; for (rdataset = ISC_LIST_HEAD(name->list); @@ -6815,6 +6807,19 @@ answer_response(fetchctx_t *fctx) { log_formerr(fctx, "NSEC3 in answer"); return (DNS_R_FORMERR); } + if (rdataset->type == dns_rdatatype_tkey) { + /* + * TKEY is not a valid record in a + * response to any query we can make. + */ + log_formerr(fctx, "TKEY in answer"); + return (DNS_R_FORMERR); + } + if (rdataset->rdclass != fctx->res->rdclass) { + log_formerr(fctx, "Mismatched class " + "in answer"); + return (DNS_R_FORMERR); + } /* * Apply filters, if given, on answers to reject @@ -6923,15 +6928,19 @@ answer_response(fetchctx_t *fctx) { * a CNAME or DNAME). */ INSIST(!external); - if ((rdataset->type != - dns_rdatatype_cname) || - !found_dname || - (aflag == - DNS_RDATASETATTR_ANSWER)) + /* + * Don't use found_cname here + * as we have just set it + * above. + */ + if (cname == NULL && + !found_dname && + aflag == + DNS_RDATASETATTR_ANSWER) { have_answer = ISC_TRUE; - if (rdataset->type == - dns_rdatatype_cname) + if (found_cname && + cname == NULL) cname = name; name->attributes |= DNS_NAMEATTR_ANSWER; @@ -7001,6 +7010,12 @@ answer_response(fetchctx_t *fctx) { rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { + if (rdataset->rdclass != fctx->res->rdclass) { + log_formerr(fctx, "Mismatched class " + "in answer"); + return (DNS_R_FORMERR); + } + /* * Only pass DNAME or RRSIG(DNAME). */ @@ -7028,11 +7043,24 @@ answer_response(fetchctx_t *fctx) { return (DNS_R_FORMERR); } - if (dnamereln != dns_namereln_subdomain) { + /* + * If DNAME + synthetic CNAME then the + * namereln is dns_namereln_subdomain. + * + * If synthetic CNAME + DNAME then the + * namereln is dns_namereln_commonancestor + * and the number of label must match the + * DNAME. This order is not RFC compliant. + */ + + if (namereln != dns_namereln_subdomain && + (namereln != dns_namereln_commonancestor || + nlabels != dns_name_countlabels(name))) + { char qbuf[DNS_NAME_FORMATSIZE]; char obuf[DNS_NAME_FORMATSIZE]; - dns_name_format(dqname, qbuf, + dns_name_format(qname, qbuf, sizeof(qbuf)); dns_name_format(name, obuf, sizeof(obuf)); @@ -7047,7 +7075,7 @@ answer_response(fetchctx_t *fctx) { want_chaining = ISC_TRUE; POST(want_chaining); aflag = DNS_RDATASETATTR_ANSWER; - result = dname_target(rdataset, dqname, + result = dname_target(rdataset, qname, nlabels, &fdname); if (result == ISC_R_NOSPACE) { /* @@ -7064,13 +7092,11 @@ answer_response(fetchctx_t *fctx) { dname = dns_fixedname_name(&fdname); if (!is_answertarget_allowed(view, - dqname, rdataset->type, + qname, rdataset->type, dname, &fctx->domain)) { return (DNS_R_SERVFAIL); } - dqname = dns_fixedname_name(&fqdname); - dns_name_copy(dname, dqname, NULL); } else { /* * We've found a signature that @@ -7216,7 +7242,8 @@ answer_response(fetchctx_t *fctx) { rdataset->trust = dns_trust_additional; - if (rdataset->type == dns_rdatatype_ns) { + if (rdataset->type == dns_rdatatype_ns) + { ns_name = name; ns_rdataset = rdataset; } Index: src/external/bsd/bind/dist/lib/isc/unix/socket.c diff -u src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.19 src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.20 --- src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.19 Thu May 26 16:50:00 2016 +++ src/external/bsd/bind/dist/lib/isc/unix/socket.c Thu Jan 12 08:21:32 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: socket.c,v 1.19 2016/05/26 16:50:00 christos Exp $ */ +/* $NetBSD: socket.c,v 1.20 2017/01/12 08:21:32 spz Exp $ */ /* * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") @@ -4077,7 +4077,8 @@ process_fds(isc__socketmgr_t *manager, s * events. Note also that the read or write attempt * won't block because we use non-blocking sockets. */ - events[i].events |= (EPOLLIN | EPOLLOUT); + int fd = events[i].data.fd; + events[i].events |= manager->epoll_events[fd]; } process_fd(manager, events[i].data.fd, (events[i].events & EPOLLIN) != 0, Index: src/external/bsd/bind/dist/lib/isc/win32/socket.c diff -u src/external/bsd/bind/dist/lib/isc/win32/socket.c:1.11 src/external/bsd/bind/dist/lib/isc/win32/socket.c:1.12 --- src/external/bsd/bind/dist/lib/isc/win32/socket.c:1.11 Thu May 26 16:50:00 2016 +++ src/external/bsd/bind/dist/lib/isc/win32/socket.c Thu Jan 12 08:21:32 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: socket.c,v 1.11 2016/05/26 16:50:00 christos Exp $ */ +/* $NetBSD: socket.c,v 1.12 2017/01/12 08:21:32 spz Exp $ */ /* * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") @@ -2490,15 +2490,18 @@ SocketIoThread(LPVOID ThreadContext) { request = lpo->request_type; - errstatus = 0; - if (!bSuccess) { + if (!bSuccess) + errstatus = GetLastError(); + else + errstatus = 0; + if (!bSuccess && errstatus != ERROR_MORE_DATA) { isc_result_t isc_result; /* * Did the I/O operation complete? */ - errstatus = GetLastError(); - isc_result = isc__errno2resultx(errstatus, __FILE__, __LINE__); + isc_result = isc__errno2resultx(errstatus, + __FILE__, __LINE__); LOCK(&sock->lock); CONSISTENT(sock);