Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03f3107e03 | ||
|
|
1483ea6e8b | ||
|
|
6a7a3398d5 | ||
|
|
273af34052 | ||
|
|
e0c1f11650 | ||
|
|
f49f031c44 | ||
|
|
91e39360b9 | ||
|
|
93bd55f3c3 | ||
|
|
124e29a3ec | ||
|
|
8ccafde760 | ||
|
|
e7c3e17703 | ||
|
|
46cd037ea8 | ||
|
|
5a2d8e33ec | ||
|
|
6a617d775e | ||
|
|
5bd45acf22 | ||
|
|
a0a2cfe86e | ||
|
|
2e1f9b9bf1 |
@@ -1,3 +1,21 @@
|
||||
|
||||
--- 9.7.2-P1 released ---
|
||||
|
||||
2961. [bug] Be still more selective about the non-authoritative
|
||||
answers we apply change 2748 to. [RT #22074]
|
||||
|
||||
2960. [func] Check that named accepts non-authoritative answers.
|
||||
[RT #21594]
|
||||
|
||||
2959. [func] Check that named starts with a missing masterfile.
|
||||
[RT #22076]
|
||||
|
||||
2958. [bug] named failed to start with a missing master file.
|
||||
[RT #22076]
|
||||
|
||||
2928. [bug] Be more selective about the non-authoritative
|
||||
answer we apply change 2748 to. [RT #21594]
|
||||
|
||||
--- 9.7.2 released ---
|
||||
|
||||
2946. [doc] Document the default values for the minimum and maximum
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: globals.h,v 1.86.60.2 2010/06/26 23:46:27 tbox Exp $ */
|
||||
/* $Id: globals.h,v 1.86.60.2.8.1 2010/09/15 12:13:29 marka Exp $ */
|
||||
|
||||
#ifndef NAMED_GLOBALS_H
|
||||
#define NAMED_GLOBALS_H 1
|
||||
@@ -150,6 +150,7 @@ EXTERN isc_time_t ns_g_boottime;
|
||||
EXTERN isc_boolean_t ns_g_memstatistics INIT(ISC_FALSE);
|
||||
EXTERN isc_boolean_t ns_g_clienttest INIT(ISC_FALSE);
|
||||
EXTERN isc_boolean_t ns_g_nosoa INIT(ISC_FALSE);
|
||||
EXTERN isc_boolean_t ns_g_noaa INIT(ISC_FALSE);
|
||||
|
||||
#undef EXTERN
|
||||
#undef INIT
|
||||
|
||||
+3
-1
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: main.c,v 1.175.60.3 2010/06/26 23:46:27 tbox Exp $ */
|
||||
/* $Id: main.c,v 1.175.60.3.8.1 2010/09/15 12:13:29 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -509,6 +509,8 @@ parse_command_line(int argc, char *argv[]) {
|
||||
ns_g_clienttest = ISC_TRUE;
|
||||
else if (!strcmp(isc_commandline_argument, "nosoa"))
|
||||
ns_g_nosoa = ISC_TRUE;
|
||||
else if (!strcmp(isc_commandline_argument, "noaa"))
|
||||
ns_g_noaa = ISC_TRUE;
|
||||
else if (!strcmp(isc_commandline_argument, "maxudp512"))
|
||||
maxudp = 512;
|
||||
else if (!strcmp(isc_commandline_argument, "maxudp1460"))
|
||||
|
||||
+6
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: query.c,v 1.335.8.8 2010/07/15 01:26:10 jinmei Exp $ */
|
||||
/* $Id: query.c,v 1.335.8.8.6.1 2010/09/15 12:13:29 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -5364,8 +5364,12 @@ ns_query_start(ns_client_t *client) {
|
||||
/*
|
||||
* Assume authoritative response until it is known to be
|
||||
* otherwise.
|
||||
*
|
||||
* If "-T noaa" has been set on the command line don't set
|
||||
* AA on authoritative answers.
|
||||
*/
|
||||
message->flags |= DNS_MESSAGEFLAG_AA;
|
||||
if (!ns_g_noaa)
|
||||
message->flags |= DNS_MESSAGEFLAG_AA;
|
||||
|
||||
/*
|
||||
* Set AD. We must clear it if we add non-validated data to a
|
||||
|
||||
+8
-17
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zoneconf.c,v 1.161.4.3 2010/08/11 18:19:55 each Exp $ */
|
||||
/* $Id: zoneconf.c,v 1.161.4.3.6.1 2010/09/15 03:42:58 marka Exp $ */
|
||||
|
||||
/*% */
|
||||
|
||||
@@ -565,22 +565,13 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
* Unless we're using some alternative database, a master zone
|
||||
* will be needing a master file.
|
||||
*/
|
||||
if (ztype == dns_zone_master && cpval == default_dbtype) {
|
||||
if (filename == NULL) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"zone '%s': 'file' not specified",
|
||||
zname);
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
|
||||
if (!isc_file_exists(filename)) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"zone '%s': master file not found",
|
||||
zname);
|
||||
return (ISC_R_NOTFOUND);
|
||||
}
|
||||
if (ztype == dns_zone_master && cpval == default_dbtype &&
|
||||
filename == NULL) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"zone '%s': 'file' not specified",
|
||||
zname);
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
|
||||
masterformat = dns_masterformat_text;
|
||||
|
||||
@@ -14,9 +14,10 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: clean.sh,v 1.2.2.2 2010/08/11 18:19:55 each Exp $
|
||||
# $Id: clean.sh,v 1.2.2.2.6.1 2010/09/15 03:42:59 marka Exp $
|
||||
|
||||
rm -f dig.out.*
|
||||
rm -f rndc.out.*
|
||||
rm -f ns2/named.conf
|
||||
rm -f */named.memstats
|
||||
rm -f ns2/*.nzf
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.2.2.2 2010/08/11 18:19:55 each Exp $
|
||||
# $Id: tests.sh,v 1.2.2.2.6.1 2010/09/15 03:42:59 marka Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
@@ -51,6 +51,19 @@ n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:adding new zone with missing master file ($n)"
|
||||
ret=0
|
||||
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.pre.$n || ret=1
|
||||
grep "status: NOERROR" dig.out.ns2.pre.$n > /dev/null || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'missing.example { type master; file "missing.db"; };' 2> rndc.out.ns2.$n
|
||||
grep "file not found" rndc.out.ns2.$n > /dev/null || ret=1
|
||||
$DIG $DIGOPTS +all @10.53.0.2 a.missing.example a > dig.out.ns2.post.$n || ret=1
|
||||
grep "status: NOERROR" dig.out.ns2.post.$n > /dev/null || ret=1
|
||||
$PERL ../digcomp.pl dig.out.ns2.pre.$n dig.out.ns2.post.$n || ret=1
|
||||
n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:deleting previously added zone ($n)"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone previous.example 2>&1 | sed 's/^/I:ns2 /'
|
||||
@@ -71,9 +84,10 @@ n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:attempt to delete a normally-loaded zone (should fail) ($n)"
|
||||
echo "I:attempt to delete a normally-loaded zone ($n)"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone normal.example 2>&1 | sed 's/^/I:ns2 /'
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 delzone normal.example 2> rndc.out.ns2.$n
|
||||
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
|
||||
$DIG $DIGOPTS @10.53.0.2 a.normal.example a > dig.out.ns2.$n
|
||||
grep 'status: NOERROR' dig.out.ns2.$n > /dev/null || ret=1
|
||||
grep '^a.normal.example' dig.out.ns2.$n > /dev/null || ret=1
|
||||
@@ -109,9 +123,10 @@ n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:attempting to add zone to internal view (should fail) ($n)"
|
||||
echo "I:attempting to add zone to internal view ($n)"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'added.example in internal { type master; file "added.db"; };' 2>&1 | sed 's/^/I:ns2 /'
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone 'added.example in internal { type master; file "added.db"; };' 2> rndc.out.ns2.$n
|
||||
grep "permission denied" rndc.out.ns2.$n > /dev/null || ret=1
|
||||
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.added.example a > dig.out.ns2.$n || ret=1
|
||||
grep 'status: REFUSED' dig.out.ns2.$n > /dev/null || ret=1
|
||||
n=`expr $n + 1`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2001 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: clean.sh,v 1.5 2007/09/26 03:22:44 marka Exp $
|
||||
# $Id: clean.sh,v 1.5.658.2 2010/09/15 12:38:21 tbox Exp $
|
||||
|
||||
rm -f dig.out
|
||||
rm -f dig.out.*
|
||||
rm -f */named.memstats
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
; Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; Permission to use, copy, modify, and/or distribute this software for any
|
||||
; purpose with or without fee is hereby granted, provided that the above
|
||||
; copyright notice and this permission notice appear in all copies.
|
||||
;
|
||||
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
; PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
; $Id: example.db,v 1.2.4.2 2010/09/15 03:42:59 marka Exp $
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA mname1. . (
|
||||
2010042407 ; serial
|
||||
20 ; refresh (20 seconds)
|
||||
20 ; retry (20 seconds)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns2
|
||||
ns2 A 10.53.0.2
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named.conf,v 1.2.4.2 2010/09/15 03:42:59 marka Exp $ */
|
||||
|
||||
// NS2
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
dnssec-enable yes;
|
||||
dnssec-validation yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
file "example.db";
|
||||
};
|
||||
|
||||
zone "missing" {
|
||||
type master;
|
||||
file "missing.db";
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2001 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,23 +15,44 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.5 2007/06/19 23:47:04 tbox Exp $
|
||||
# $Id: tests.sh,v 1.5.740.2 2010/09/15 12:38:21 tbox Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
|
||||
status=0
|
||||
n=0
|
||||
|
||||
echo "I:test master file \$INCLUDE semantics"
|
||||
$DIG +nostats +nocmd include. axfr @10.53.0.1 -p 5300 >dig.out
|
||||
ret=0
|
||||
n=`expr $n + 1`
|
||||
echo "I:test master file \$INCLUDE semantics ($n)"
|
||||
$DIG +nostats +nocmd include. axfr @10.53.0.1 -p 5300 >dig.out.$n
|
||||
|
||||
echo "I:test master file BIND 8 compatibility TTL and \$TTL semantics"
|
||||
$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out
|
||||
echo "I:test master file BIND 8 compatibility TTL and \$TTL semantics ($n)"
|
||||
$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out.$n
|
||||
|
||||
echo "I:test of master file RFC1035 TTL and \$TTL semantics"
|
||||
$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out
|
||||
echo "I:test of master file RFC1035 TTL and \$TTL semantics ($n)"
|
||||
$DIG +nostats +nocmd ttl2. axfr @10.53.0.1 -p 5300 >>dig.out.$n
|
||||
|
||||
diff dig.out knowngood.dig.out || status=1
|
||||
diff dig.out.$n knowngood.dig.out || status=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
ret=0
|
||||
n=`expr $n + 1`
|
||||
echo "I:test that the nameserver is running with a missing master file ($n)"
|
||||
$DIG +tcp +noall +answer example soa @10.53.0.2 -p 5300 > dig.out.$n
|
||||
grep SOA dig.out.$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
ret=0
|
||||
n=`expr $n + 1`
|
||||
echo "I:test that the nameserver returns SERVFAIL for a missing master file ($n)"
|
||||
$DIG +tcp +all missing soa @10.53.0.2 -p 5300 > dig.out.$n
|
||||
grep "status: SERVFAIL" dig.out.$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:exit status: $status"
|
||||
exit $status
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named.conf,v 1.2.4.2 2010/09/15 12:13:29 marka Exp $ */
|
||||
|
||||
// NS4
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.4;
|
||||
notify-source 10.53.0.4;
|
||||
transfer-source 10.53.0.4;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.4; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
// minimal-responses yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type master;
|
||||
file "root.db";
|
||||
};
|
||||
@@ -0,0 +1,6 @@
|
||||
Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
|
||||
|
||||
$Id: named.noaa,v 1.2.4.2 2010/09/15 12:13:29 marka Exp $
|
||||
|
||||
Add -T noaa.
|
||||
@@ -0,0 +1,26 @@
|
||||
; Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; Permission to use, copy, modify, and/or distribute this software for any
|
||||
; purpose with or without fee is hereby granted, provided that the above
|
||||
; copyright notice and this permission notice appear in all copies.
|
||||
;
|
||||
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
; PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
; $Id: root.db,v 1.2.4.2 2010/09/15 12:13:30 marka Exp $
|
||||
|
||||
$TTL 300
|
||||
. IN SOA marka.isc.org. a.root.servers.nil. (
|
||||
2010 ; serial
|
||||
600 ; refresh
|
||||
600 ; retry
|
||||
1200 ; expire
|
||||
600 ; minimum
|
||||
)
|
||||
. NS a.root-servers.nil.
|
||||
a.root-servers.nil. A 10.53.0.4
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named.conf,v 1.2.4.2 2010/09/15 12:13:30 marka Exp $ */
|
||||
|
||||
// NS4
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.5;
|
||||
notify-source 10.53.0.5;
|
||||
transfer-source 10.53.0.5;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.5; };
|
||||
listen-on-v6 { none; };
|
||||
recursion yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "root.hint";
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
; Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; Permission to use, copy, modify, and/or distribute this software for any
|
||||
; purpose with or without fee is hereby granted, provided that the above
|
||||
; copyright notice and this permission notice appear in all copies.
|
||||
;
|
||||
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
; PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
; $Id: root.hint,v 1.2.4.2 2010/09/15 12:13:30 marka Exp $
|
||||
|
||||
$TTL 999999
|
||||
. IN NS a.root-servers.nil.
|
||||
a.root-servers.nil. IN A 10.53.0.4
|
||||
@@ -15,12 +15,13 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.11.142.2 2010/05/19 09:32:36 tbox Exp $
|
||||
# $Id: tests.sh,v 1.11.142.2.18.3 2010/09/15 23:24:03 marka Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
|
||||
status=0
|
||||
n=0
|
||||
|
||||
echo "I:checking non-cachable NXDOMAIN response handling"
|
||||
ret=0
|
||||
@@ -119,6 +120,41 @@ grep "status: NOERROR" dig.out > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I: RT21594 regression test check setup ($n)"
|
||||
ret=0
|
||||
# Check that "aa" is not being set by the authoritative server.
|
||||
$DIG +tcp . @10.53.0.4 soa -p 5300 > dig.ns4.out.${n} || ret=1
|
||||
grep 'flags: qr rd;' dig.ns4.out.${n} > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I: RT21594 regression test positive answers ($n)"
|
||||
ret=0
|
||||
# Check that resolver accepts the non-authoritative positive answers.
|
||||
$DIG +tcp . @10.53.0.5 soa -p 5300 > dig.ns5.out.${n} || ret=1
|
||||
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I: RT21594 regression test NODATA answers ($n)"
|
||||
ret=0
|
||||
# Check that resolver accepts the non-authoritative nodata answers.
|
||||
$DIG +tcp . @10.53.0.5 txt -p 5300 > dig.ns5.out.${n} || ret=1
|
||||
grep "status: NOERROR" dig.ns5.out.${n} > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I: RT21594 regression test NXDOMAIN answers ($n)"
|
||||
ret=0
|
||||
# Check that resolver accepts the non-authoritative positive answers.
|
||||
$DIG +tcp noexistant @10.53.0.5 txt -p 5300 > dig.ns5.out.${n} || ret=1
|
||||
grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:exit status: $status"
|
||||
exit $status
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: start.pl,v 1.13.396.2 2010/06/26 23:46:27 tbox Exp $
|
||||
# $Id: start.pl,v 1.13.396.2.8.1 2010/09/15 12:13:29 marka Exp $
|
||||
|
||||
# Framework for starting test servers.
|
||||
# Based on the type of server specified, check for port availability, remove
|
||||
@@ -133,6 +133,8 @@ sub start_server {
|
||||
$command .= "-T clienttest ";
|
||||
$command .= "-T nosoa "
|
||||
if (-e "$testdir/$server/named.nosoa");
|
||||
$command .= "-T noaa "
|
||||
if (-e "$testdir/$server/named.noaa");
|
||||
$command .= "-c named.conf -d 99 -g";
|
||||
}
|
||||
$command .= " >named.run 2>&1 &";
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# $Id: SRCID,v 1.73.2.296 2010/08/26 02:15:16 tbox Exp $
|
||||
# $Id: SRCID,v 1.73.2.296.4.4 2010/09/15 16:15:31 tbox Exp $
|
||||
#
|
||||
# This file must follow /bin/sh rules. It is imported directly via
|
||||
# configure.
|
||||
#
|
||||
SRCID="( $Date: 2010/08/26 02:15:16 $ )"
|
||||
SRCID="( $Date: 2010/09/15 16:15:31 $ )"
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
LIBINTERFACE = 68
|
||||
LIBREVISION = 0
|
||||
LIBREVISION = 1
|
||||
LIBAGE = 0
|
||||
|
||||
+31
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: resolver.c,v 1.413.14.11 2010/07/11 00:12:18 each Exp $ */
|
||||
/* $Id: resolver.c,v 1.413.14.11.6.2 2010/09/15 12:24:38 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -5628,7 +5628,7 @@ noanswer_response(fetchctx_t *fctx, dns_name_t *oqname,
|
||||
* trying other servers.
|
||||
*/
|
||||
if (dns_name_equal(ns_name, &fctx->domain)) {
|
||||
log_formerr(fctx, "sideways referral");
|
||||
log_formerr(fctx, "non-improving referral");
|
||||
return (DNS_R_FORMERR);
|
||||
}
|
||||
|
||||
@@ -6450,6 +6450,29 @@ iscname(fetchctx_t *fctx) {
|
||||
return (result == ISC_R_SUCCESS ? ISC_TRUE : ISC_FALSE);
|
||||
}
|
||||
|
||||
static isc_boolean_t
|
||||
betterreferral(fetchctx_t *fctx) {
|
||||
isc_result_t result;
|
||||
dns_name_t *name;
|
||||
dns_rdataset_t *rdataset;
|
||||
dns_message_t *message = fctx->rmessage;
|
||||
|
||||
for (result = dns_message_firstname(message, DNS_SECTION_AUTHORITY);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_message_nextname(message, DNS_SECTION_AUTHORITY)) {
|
||||
name = NULL;
|
||||
dns_message_currentname(message, DNS_SECTION_AUTHORITY, &name);
|
||||
if (!isstrictsubdomain(name, &fctx->domain))
|
||||
continue;
|
||||
for (rdataset = ISC_LIST_HEAD(name->list);
|
||||
rdataset != NULL;
|
||||
rdataset = ISC_LIST_NEXT(rdataset, link))
|
||||
if (rdataset->type == dns_rdatatype_ns)
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
resquery_response(isc_task_t *task, isc_event_t *event) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
@@ -6929,6 +6952,12 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
||||
* it as a valid answer.
|
||||
*/
|
||||
result = answer_response(fctx);
|
||||
} else if (fctx->type != dns_rdatatype_ns &&
|
||||
!betterreferral(fctx)) {
|
||||
/*
|
||||
* Lame response !!!.
|
||||
*/
|
||||
result = answer_response(fctx);
|
||||
} else {
|
||||
if (fctx->type == dns_rdatatype_ns) {
|
||||
/*
|
||||
|
||||
+9
-2
@@ -818,7 +818,7 @@
|
||||
./bin/tests/system/lwresd/resolv.conf CONF-SH 2000,2001,2004,2007
|
||||
./bin/tests/system/lwresd/tests.sh SH 2000,2001,2004,2007
|
||||
./bin/tests/system/masterfile/.cvsignore X 2001
|
||||
./bin/tests/system/masterfile/clean.sh SH 2001,2004,2007
|
||||
./bin/tests/system/masterfile/clean.sh SH 2001,2004,2007,2010
|
||||
./bin/tests/system/masterfile/knowngood.dig.out X 2001,2004
|
||||
./bin/tests/system/masterfile/ns1/.cvsignore X 2001
|
||||
./bin/tests/system/masterfile/ns1/include.db ZONE 2001,2004,2007
|
||||
@@ -826,7 +826,9 @@
|
||||
./bin/tests/system/masterfile/ns1/sub.db ZONE 2001,2004,2007
|
||||
./bin/tests/system/masterfile/ns1/ttl1.db ZONE 2001,2004,2007
|
||||
./bin/tests/system/masterfile/ns1/ttl2.db ZONE 2001,2004,2007
|
||||
./bin/tests/system/masterfile/tests.sh SH 2001,2004,2007
|
||||
./bin/tests/system/masterfile/ns2/example.db ZONE 2010
|
||||
./bin/tests/system/masterfile/ns2/named.conf CONF-C 2010
|
||||
./bin/tests/system/masterfile/tests.sh SH 2001,2004,2007,2010
|
||||
./bin/tests/system/masterformat/clean.sh SH 2005,2007
|
||||
./bin/tests/system/masterformat/ns1/.cvsignore X 2009
|
||||
./bin/tests/system/masterformat/ns1/compile.sh SH 2005,2006,2007
|
||||
@@ -917,6 +919,11 @@
|
||||
./bin/tests/system/resolver/ns1/.cvsignore X 2001
|
||||
./bin/tests/system/resolver/ns1/named.conf CONF-C 2000,2001,2004,2007,2009
|
||||
./bin/tests/system/resolver/ns1/root.hint ZONE 2000,2001,2004,2007
|
||||
./bin/tests/system/resolver/ns4/named.conf CONF-C 2010
|
||||
./bin/tests/system/resolver/ns4/named.noaa TXT.BRIEF 2010
|
||||
./bin/tests/system/resolver/ns4/root.db ZONE 2010
|
||||
./bin/tests/system/resolver/ns5/named.conf CONF-C 2010
|
||||
./bin/tests/system/resolver/ns5/root.hint ZONE 2010
|
||||
./bin/tests/system/resolver/prereq.sh SH 2000,2001,2004,2007
|
||||
./bin/tests/system/resolver/tests.sh SH 2000,2001,2004,2007,2009,2010
|
||||
./bin/tests/system/rrsetorder/clean.sh SH 2006,2007,2008
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: version,v 1.51.2.8 2010/09/02 03:36:10 marka Exp $
|
||||
# $Id: version,v 1.51.2.8.4.1 2010/09/15 12:25:41 marka Exp $
|
||||
#
|
||||
# This file must follow /bin/sh rules. It is imported directly via
|
||||
# configure.
|
||||
@@ -6,5 +6,5 @@
|
||||
MAJORVER=9
|
||||
MINORVER=7
|
||||
PATCHVER=2
|
||||
RELEASETYPE=
|
||||
RELEASEVER=
|
||||
RELEASETYPE=-P
|
||||
RELEASEVER=1
|
||||
|
||||
Reference in New Issue
Block a user