Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-7]: src Pull up following revision(s) (requested by snj in ticket...
details: https://anonhg.NetBSD.org/src/rev/41c021867716
branches: netbsd-7
changeset: 800134:41c021867716
user: sborrill <sborrill%NetBSD.org@localhost>
date: Mon Feb 20 15:48:20 2017 +0000
description:
Pull up following revision(s) (requested by snj in ticket #1363):
doc/3RDPARTY: patch
external/bsd/bind/Makefile.inc: up to 1.25 via patch
external/bsd/bind/dist/CHANGES: up to 1.25
external/bsd/bind/dist/README: up to 1.13
external/bsd/bind/dist/bin/named/query.c: up to 1.23
external/bsd/bind/dist/bin/tests/system/dname/ans3/ans.pl: up to 1.1.1.1
external/bsd/bind/dist/bin/tests/system/dname/ns1/root.db: up to 1.1.1.3
external/bsd/bind/dist/bin/tests/system/dname/tests.sh: up to 1.1.1.5
external/bsd/bind/dist/config.guess: up to 1.2
external/bsd/bind/dist/config.sub: up to 1.2
external/bsd/bind/dist/contrib/dnsperf-2.1.0.0-1/config.guess: up to 1.2
external/bsd/bind/dist/contrib/dnsperf-2.1.0.0-1/config.sub: up to 1.2
external/bsd/bind/dist/contrib/idn/idnkit-1.0-src/config.guess: up to 1.2
external/bsd/bind/dist/contrib/idn/idnkit-1.0-src/config.sub: up to 1.2
external/bsd/bind/dist/contrib/nslint-3.0a2/config.guess: up to 1.2
external/bsd/bind/dist/contrib/nslint-3.0a2/config.sub: up to 1.2
external/bsd/bind/dist/doc/arm/Bv9ARM.ch01.html: up to 1.1.1.23
external/bsd/bind/dist/doc/arm/Bv9ARM.ch02.html: up to 1.1.1.20
external/bsd/bind/dist/doc/arm/Bv9ARM.ch03.html: up to 1.1.1.25
external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.ch05.html: up to 1.1.1.26
external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.ch10.html: up to 1.1.1.22
external/bsd/bind/dist/doc/arm/Bv9ARM.ch11.html: up to 1.1.1.11
external/bsd/bind/dist/doc/arm/Bv9ARM.ch12.html: up to 1.1.1.11
external/bsd/bind/dist/doc/arm/Bv9ARM.ch13.html: up to 1.1.1.11
external/bsd/bind/dist/doc/arm/Bv9ARM.html: up to 1.13
external/bsd/bind/dist/doc/arm/Bv9ARM.pdf: up to 1.18
external/bsd/bind/dist/doc/arm/man.arpaname.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.ddns-confgen.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.delv.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dig.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-settime.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.dnssec-verify.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.genrandom.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.host.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.lwresd.html: up to 1.1.1.5
external/bsd/bind/dist/doc/arm/man.named-checkconf.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.named-checkzone.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.named-journalprint.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.named-rrchecker.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.named.conf.html: up to 1.1.1.5
external/bsd/bind/dist/doc/arm/man.named.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.nsec3hash.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.nsupdate.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.rndc-confgen.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.rndc.conf.html: up to 1.13
external/bsd/bind/dist/doc/arm/man.rndc.html: up to 1.13
external/bsd/bind/dist/doc/arm/notes.html: up to 1.1.1.11
external/bsd/bind/dist/doc/arm/notes.pdf: up to 1.1.1.11
external/bsd/bind/dist/doc/arm/notes.xml: up to 1.1.1.11
external/bsd/bind/dist/lib/dns/api: up to 1.13
external/bsd/bind/dist/lib/dns/message.c: up to 1.22
external/bsd/bind/dist/lib/dns/rdataset.c: up to 1.9
external/bsd/bind/dist/lib/dns/resolver.c: up to 1.29
external/bsd/bind/dist/srcid: up to 1.19
external/bsd/bind/dist/unit/atf-src/admin/config.guess: up to 1.2
external/bsd/bind/dist/unit/atf-src/admin/config.sub: up to 1.2
external/bsd/bind/dist/version: up to 1.23
external/bsd/bind/include/isc/platform.h: up to 1.22 via patch
Update BIND to 9.10.4-P6, fixing CVE-2017-3135.
diffstat:
doc/3RDPARTY | 6 +-
external/bsd/bind/Makefile.inc | 6 +-
external/bsd/bind/dist/CHANGES | 8 +
external/bsd/bind/dist/README | 6 +
external/bsd/bind/dist/bin/named/query.c | 63 +-
external/bsd/bind/dist/bin/tests/system/dname/ans3/ans.pl | 95 +
external/bsd/bind/dist/bin/tests/system/dname/ns1/root.db | 5 +-
external/bsd/bind/dist/bin/tests/system/dname/tests.sh | 25 +-
external/bsd/bind/dist/config.guess | 330 +-
external/bsd/bind/dist/config.sub | 89 +-
external/bsd/bind/dist/contrib/dnsperf-2.1.0.0-1/config.guess | 1341 ++++----
external/bsd/bind/dist/contrib/dnsperf-2.1.0.0-1/config.sub | 517 ++-
external/bsd/bind/dist/contrib/idn/idnkit-1.0-src/config.guess | 1521 +++++----
external/bsd/bind/dist/contrib/idn/idnkit-1.0-src/config.sub | 761 +++-
external/bsd/bind/dist/contrib/nslint-3.0a2/config.guess | 1363 ++++----
external/bsd/bind/dist/contrib/nslint-3.0a2/config.sub | 576 ++-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch01.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch02.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch03.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch04.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch05.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch06.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch07.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch08.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch09.html | 69 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch10.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch11.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch12.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.ch13.html | 2 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.html | 6 +-
external/bsd/bind/dist/doc/arm/Bv9ARM.pdf | Bin
external/bsd/bind/dist/doc/arm/man.arpaname.html | 2 +-
external/bsd/bind/dist/doc/arm/man.ddns-confgen.html | 2 +-
external/bsd/bind/dist/doc/arm/man.delv.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dig.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-checkds.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-coverage.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-dsfromkey.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-importkey.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-keyfromlabel.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-keygen.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-revoke.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-settime.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-signzone.html | 2 +-
external/bsd/bind/dist/doc/arm/man.dnssec-verify.html | 2 +-
external/bsd/bind/dist/doc/arm/man.genrandom.html | 2 +-
external/bsd/bind/dist/doc/arm/man.host.html | 2 +-
external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html | 2 +-
external/bsd/bind/dist/doc/arm/man.lwresd.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named-checkconf.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named-checkzone.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named-journalprint.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named-rrchecker.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named.conf.html | 2 +-
external/bsd/bind/dist/doc/arm/man.named.html | 2 +-
external/bsd/bind/dist/doc/arm/man.nsec3hash.html | 2 +-
external/bsd/bind/dist/doc/arm/man.nsupdate.html | 2 +-
external/bsd/bind/dist/doc/arm/man.rndc-confgen.html | 2 +-
external/bsd/bind/dist/doc/arm/man.rndc.conf.html | 2 +-
external/bsd/bind/dist/doc/arm/man.rndc.html | 2 +-
external/bsd/bind/dist/doc/arm/notes.html | 65 +-
external/bsd/bind/dist/doc/arm/notes.pdf | Bin
external/bsd/bind/dist/doc/arm/notes.xml | 68 +-
external/bsd/bind/dist/lib/dns/api | 2 +-
external/bsd/bind/dist/lib/dns/message.c | 8 +-
external/bsd/bind/dist/lib/dns/rdataset.c | 3 +-
external/bsd/bind/dist/lib/dns/resolver.c | 152 +-
external/bsd/bind/dist/srcid | 2 +-
external/bsd/bind/dist/unit/atf-src/admin/config.guess | 700 ++--
external/bsd/bind/dist/unit/atf-src/admin/config.sub | 352 +-
external/bsd/bind/dist/version | 2 +-
71 files changed, 4862 insertions(+), 3361 deletions(-)
diffs (truncated from 13860 to 300 lines):
diff -r 57ddf32d38d1 -r 41c021867716 doc/3RDPARTY
--- a/doc/3RDPARTY Sun Feb 19 07:44:21 2017 +0000
+++ b/doc/3RDPARTY Mon Feb 20 15:48:20 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: 3RDPARTY,v 1.1145.2.35 2017/02/19 05:01:14 snj Exp $
+# $NetBSD: 3RDPARTY,v 1.1145.2.36 2017/02/20 15:48:20 sborrill Exp $
#
# This file contains a list of the software that has been integrated into
# NetBSD where we are not the primary maintainer.
@@ -113,8 +113,8 @@
bc includes dc, both of which are in the NetBSD tree.
Package: bind [named and utils]
-Version: 9.10.4-P5
-Current Vers: 9.10.4-P5
+Version: 9.10.4-P6
+Current Vers: 9.10.4-P6
Maintainer: Paul Vixie <vixie%vix.com@localhost>
Archive Site: ftp://ftp.isc.org/isc/bind9/
Home Page: http://www.isc.org/software/bind/
diff -r 57ddf32d38d1 -r 41c021867716 external/bsd/bind/Makefile.inc
--- a/external/bsd/bind/Makefile.inc Sun Feb 19 07:44:21 2017 +0000
+++ b/external/bsd/bind/Makefile.inc Mon Feb 20 15:48:20 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.21.2.4 2017/01/16 11:54:42 martin Exp $
+# $NetBSD: Makefile.inc,v 1.21.2.5 2017/02/20 15:48:20 sborrill Exp $
.if !defined(BIND9_MAKEFILE_INC)
BIND9_MAKEFILE_INC=yes
@@ -98,9 +98,9 @@
.if ${MKKERBEROS} != "no"
.if !defined (LIB) || empty(LIB)
LDADD+= -lgssapi -lheimntlm -lkrb5 -lhx509 -lheimbase \
- -lcom_err -lroken -lasn1 -lwind
+ -lcom_err -lroken -lasn1 -lwind -lsqlite3
DPADD+= ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBHEIMNTLM} ${LIBHEIMBASE} \
- ${LIBCOM_ERR} ${LIBROKEN} ${LIBASN1} ${LIBWIND}
+ ${LIBCOM_ERR} ${LIBROKEN} ${LIBASN1} ${LIBWIND} ${LIBSQLITE3}
.else
.for L in gssapi krb5 hx509 heimntlm heimbase com_err roken asn1 wind
LIBDPLIBS+= $L ${NETBSDSRCDIR}/crypto/external/bsd/heimdal/lib/lib$L
diff -r 57ddf32d38d1 -r 41c021867716 external/bsd/bind/dist/CHANGES
--- a/external/bsd/bind/dist/CHANGES Sun Feb 19 07:44:21 2017 +0000
+++ b/external/bsd/bind/dist/CHANGES Mon Feb 20 15:48:20 2017 +0000
@@ -1,3 +1,11 @@
+ --- 9.10.4-P6 released ---
+
+4558. [bug] Synthesised CNAME before matching DNAME was still
+ being cached when it should have been. [RT #44318]
+
+4557. [security] Combining dns64 and rpz can result in dereferencing
+ a NULL pointer (read). (CVE-2017-3135) [RT#44434]
+
--- 9.10.4-P5 released ---
4530. [bug] Change 4489 broke the handling of CNAME -> DNAME
diff -r 57ddf32d38d1 -r 41c021867716 external/bsd/bind/dist/README
--- a/external/bsd/bind/dist/README Sun Feb 19 07:44:21 2017 +0000
+++ b/external/bsd/bind/dist/README Mon Feb 20 15:48:20 2017 +0000
@@ -51,6 +51,12 @@
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
+BIND 9.10.4-P6
+
+ This version contains a fix for CVE-2017-3135, and a bug fix
+ for a regression in CNAME/DNAME caching that was introduced
+ in an earlier security release.
+
BIND 9.10.4-P5
This version contains fixes for CVE-2016-9131, CVE-2016-9147,
diff -r 57ddf32d38d1 -r 41c021867716 external/bsd/bind/dist/bin/named/query.c
--- a/external/bsd/bind/dist/bin/named/query.c Sun Feb 19 07:44:21 2017 +0000
+++ b/external/bsd/bind/dist/bin/named/query.c Mon Feb 20 15:48:20 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: query.c,v 1.16.2.5 2016/10/14 12:01:10 martin Exp $ */
+/* $NetBSD: query.c,v 1.16.2.6 2017/02/20 15:48:20 sborrill Exp $ */
/*
* Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC")
@@ -6245,7 +6245,7 @@
dns_rpz_st_t *rpz_st;
isc_boolean_t resuming;
int line = -1;
- isc_boolean_t dns64_exclude, dns64;
+ isc_boolean_t dns64_exclude, dns64, rpz;
isc_boolean_t nxrewrite = ISC_FALSE;
isc_boolean_t redirected = ISC_FALSE;
dns_clientinfomethods_t cm;
@@ -6258,6 +6258,7 @@
char mbuf[BUFSIZ];
char qbuf[DNS_NAME_FORMATSIZE];
#endif
+ dns_name_t *rpzqname;
CTRACE(ISC_LOG_DEBUG(3), "query_find");
@@ -6283,7 +6284,7 @@
zone = NULL;
need_wildcardproof = ISC_FALSE;
empty_wild = ISC_FALSE;
- dns64_exclude = dns64 = ISC_FALSE;
+ dns64_exclude = dns64 = rpz = ISC_FALSE;
options = 0;
resuming = ISC_FALSE;
is_zone = ISC_FALSE;
@@ -6473,6 +6474,7 @@
authoritative = ISC_FALSE;
version = NULL;
need_wildcardproof = ISC_FALSE;
+ rpz = ISC_FALSE;
if (client->view->checknames &&
!dns_rdata_checkowner(client->query.qname,
@@ -6614,11 +6616,29 @@
}
/*
- * Now look for an answer in the database.
- */
- result = dns_db_findext(db, client->query.qname, version, type,
+ * Now look for an answer in the database. If this is a dns64
+ * AAAA lookup on a rpz database adjust the qname.
+ */
+ if (dns64 && rpz)
+ rpzqname = client->query.rpz_st->p_name;
+ else
+ rpzqname = client->query.qname;
+
+ result = dns_db_findext(db, rpzqname, version, type,
client->query.dboptions, client->now,
&node, fname, &cm, &ci, rdataset, sigrdataset);
+ /*
+ * Fixup fname and sigrdataset.
+ */
+ if (dns64 && rpz) {
+ isc_result_t rresult;
+
+ rresult = dns_name_copy(client->query.qname, fname, NULL);
+ RUNTIME_CHECK(rresult == ISC_R_SUCCESS);
+ if (sigrdataset != NULL &&
+ dns_rdataset_isassociated(sigrdataset))
+ dns_rdataset_disassociate(sigrdataset);
+ }
if (!is_zone)
dns_cache_updatestats(client->view->cache, result);
@@ -6848,10 +6868,12 @@
case DNS_RPZ_POLICY_NXDOMAIN:
result = DNS_R_NXDOMAIN;
nxrewrite = ISC_TRUE;
+ rpz = ISC_TRUE;
break;
case DNS_RPZ_POLICY_NODATA:
result = DNS_R_NXRRSET;
nxrewrite = ISC_TRUE;
+ rpz = ISC_TRUE;
break;
case DNS_RPZ_POLICY_RECORD:
result = rpz_st->m.result;
@@ -6871,6 +6893,7 @@
rdataset->ttl = ISC_MIN(rdataset->ttl,
rpz_st->m.ttl);
}
+ rpz = ISC_TRUE;
break;
case DNS_RPZ_POLICY_WILDCNAME:
result = dns_rdataset_first(rdataset);
@@ -6913,7 +6936,6 @@
NS_CLIENTATTR_WANTAD);
client->message->flags &= ~DNS_MESSAGEFLAG_AD;
query_putrdataset(client, &sigrdataset);
- rpz_st->q.is_zone = is_zone;
is_zone = ISC_TRUE;
rpz_log_rewrite(client, ISC_FALSE, rpz_st->m.policy,
rpz_st->m.type, zone, rpz_st->p_name);
@@ -7297,15 +7319,6 @@
rdataset = NULL;
sigrdataset = NULL;
type = qtype = dns_rdatatype_a;
- rpz_st = client->query.rpz_st;
- if (rpz_st != NULL) {
- /*
- * Arrange for RPZ rewriting of any A records.
- */
- if ((rpz_st->state & DNS_RPZ_REWRITTEN) != 0)
- is_zone = rpz_st->q.is_zone;
- rpz_st_clear(client);
- }
dns64 = ISC_TRUE;
goto db_find;
}
@@ -7620,15 +7633,6 @@
sigrdataset = NULL;
fname = NULL;
type = qtype = dns_rdatatype_a;
- rpz_st = client->query.rpz_st;
- if (rpz_st != NULL) {
- /*
- * Arrange for RPZ rewriting of any A records.
- */
- if ((rpz_st->state & DNS_RPZ_REWRITTEN) != 0)
- is_zone = rpz_st->q.is_zone;
- rpz_st_clear(client);
- }
dns64 = ISC_TRUE;
goto db_find;
}
@@ -8162,15 +8166,6 @@
rdataset = NULL;
sigrdataset = NULL;
type = qtype = dns_rdatatype_a;
- rpz_st = client->query.rpz_st;
- if (rpz_st != NULL) {
- /*
- * Arrange for RPZ rewriting of any A records.
- */
- if ((rpz_st->state & DNS_RPZ_REWRITTEN) != 0)
- is_zone = rpz_st->q.is_zone;
- rpz_st_clear(client);
- }
dns64_exclude = dns64 = ISC_TRUE;
goto db_find;
}
diff -r 57ddf32d38d1 -r 41c021867716 external/bsd/bind/dist/bin/tests/system/dname/ans3/ans.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/bind/dist/bin/tests/system/dname/ans3/ans.pl Mon Feb 20 15:48:20 2017 +0000
@@ -0,0 +1,95 @@
+#!/usr/bin/env perl
+#
+# Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+use strict;
+use warnings;
+
+use IO::File;
+use Getopt::Long;
+use Net::DNS::Nameserver;
+
+my $pidf = new IO::File "ans.pid", "w" or die "cannot open pid file: $!";
+print $pidf "$$\n" or die "cannot write pid file: $!";
+$pidf->close or die "cannot close pid file: $!";
+sub rmpid { unlink "ans.pid"; exit 1; };
+
+$SIG{INT} = \&rmpid;
+$SIG{TERM} = \&rmpid;
+
+my $localaddr = "10.53.0.3";
+my $localport = 5300;
+my $verbose = 0;
+my $ttl = 60;
+my $zone = "example.broken";
+my $nsname = "ns3.$zone";
+my $synth = "synth-then-dname.$zone";
+my $synth2 = "synth2-then-dname.$zone";
+
+sub reply_handler {
+ my ($qname, $qclass, $qtype, $peerhost, $query, $conn) = @_;
+ my ($rcode, @ans, @auth, @add);
+
+ print ("request: $qname/$qtype\n");
+ STDOUT->flush();
+
+ if ($qname eq "example.broken") {
+ if ($qtype eq "SOA") {
+ my $rr = new Net::DNS::RR("$qname $ttl $qclass SOA . . 0 0 0 0 0");
+ push @ans, $rr;
+ } elsif ($qtype eq "NS") {
+ my $rr = new Net::DNS::RR("$qname $ttl $qclass NS $nsname");
+ push @ans, $rr;
+ $rr = new Net::DNS::RR("$nsname $ttl $qclass A $localaddr");
+ push @add, $rr;
+ }
+ $rcode = "NOERROR";
+ } elsif ($qname eq "cname-to-$synth2") {
+ my $rr = new Net::DNS::RR("$qname $ttl $qclass CNAME name.$synth2");
+ push @ans, $rr;
+ $rr = new Net::DNS::RR("name.$synth2 $ttl $qclass CNAME name");
+ push @ans, $rr;
+ $rr = new Net::DNS::RR("$synth2 $ttl $qclass DNAME .");
+ push @ans, $rr;
+ $rcode = "NOERROR";
+ } elsif ($qname eq "$synth" || $qname eq "$synth2") {
+ if ($qtype eq "DNAME") {
+ my $rr = new Net::DNS::RR("$qname $ttl $qclass DNAME .");
+ push @ans, $rr;
+ }
+ $rcode = "NOERROR";
+ } elsif ($qname eq "name.$synth") {
+ my $rr = new Net::DNS::RR("$qname $ttl $qclass CNAME name.");
+ push @ans, $rr;
+ $rr = new Net::DNS::RR("$synth $ttl $qclass DNAME .");
+ push @ans, $rr;
+ $rcode = "NOERROR";
+ } elsif ($qname eq "name.$synth2") {
Home |
Main Index |
Thread Index |
Old Index