Commit a45a6ea2 authored by Mark Andrews's avatar Mark Andrews

2035. [func] Make falling back to TCP on UDP refresh failure

                        optional. Default "try-tcp-refresh yes;" for BIND 8
                        compatibility. [RT #16123]
parent 15bda409
2035. [func] Make falling back to TCP on UDP refresh failure
optional. Default "try-tcp-refresh yes;" for BIND 8
compatibility. [RT #16123]
2034. [bug] gcc: set -fno-strict-aliasing. [RT #16124]
2033. [bug] We wern't creating multiple client memory contexts
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.74 2006/05/03 01:54:53 marka Exp $ */
/* $Id: config.c,v 1.75 2006/06/04 23:17:06 marka Exp $ */
/*! \file */
......@@ -178,6 +178,7 @@ options {\n\
check-srv-cname warn;\n\
zero-no-soa-ttl yes;\n\
update-check-ksk yes;\n\
try-tcp-refresh yes; /* BIND 8 compat */\n\
};\n\
"
......
......@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.conf.docbook,v 1.22 2006/05/16 06:07:09 marka Exp $ -->
<!-- $Id: named.conf.docbook,v 1.23 2006/06/04 23:17:06 marka Exp $ -->
<refentry>
<refentryinfo>
<date>Aug 13, 2004</date>
......@@ -321,6 +321,7 @@ options {
zone-statistics <replaceable>boolean</replaceable>;
key-directory <replaceable>quoted_string</replaceable>;
try-tcp-refresh <replaceable>boolean</replaceable>;
zero-no-soa-ttl <replaceable>boolean</replaceable>;
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
......@@ -468,6 +469,7 @@ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
use-alt-transfer-source <replaceable>boolean</replaceable>;
zone-statistics <replaceable>boolean</replaceable>;
try-tcp-refresh <replaceable>boolean</replaceable>;
key-directory <replaceable>quoted_string</replaceable>;
zero-no-soa-ttl <replaceable>boolean</replaceable>;
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
......@@ -554,6 +556,7 @@ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
use-alt-transfer-source <replaceable>boolean</replaceable>;
zone-statistics <replaceable>boolean</replaceable>;
try-tcp-refresh <replaceable>boolean</replaceable>;
key-directory <replaceable>quoted_string</replaceable>;
ixfr-base <replaceable>quoted_string</replaceable>; // obsolete
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zoneconf.c,v 1.133 2006/05/16 03:35:56 marka Exp $ */
/* $Id: zoneconf.c,v 1.134 2006/06/04 23:17:06 marka Exp $ */
/*% */
......@@ -876,6 +876,10 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
alt = cfg_obj_asboolean(obj);
dns_zone_setoption(zone, DNS_ZONEOPT_USEALTXFRSRC, alt);
obj = NULL;
(void)ns_config_get(maps, "try-tcp-refresh", &obj);
dns_zone_setoption(zone, DNS_ZONEOPT_TRYTCPREFRESH,
cfg_obj_asboolean(obj));
break;
default:
......
......@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- File: $Id: Bv9ARM-book.xml,v 1.303 2006/05/17 02:00:15 marka Exp $ -->
<!-- File: $Id: Bv9ARM-book.xml,v 1.304 2006/06/04 23:17:06 marka Exp $ -->
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<title>BIND 9 Administrator Reference Manual</title>
......@@ -4419,6 +4419,7 @@ category notify { null; };
<optional> allow-update { <replaceable>address_match_list</replaceable> }; </optional>
<optional> allow-update-forwarding { <replaceable>address_match_list</replaceable> }; </optional>
<optional> update-check-ksk <replaceable>yes_or_no</replaceable>; </optional>
<optional> try-tcp-refresh <replaceable>yes_or_no</replaceable>; </optional>
<optional> allow-v6-synthesis { <replaceable>address_match_list</replaceable> }; </optional>
<optional> blackhole { <replaceable>address_match_list</replaceable> }; </optional>
<optional> avoid-v4-udp-ports { <replaceable>port_list</replaceable> }; </optional>
......@@ -5671,6 +5672,16 @@ options {
</listitem>
</varlistentry>
<varlistentry>
<term><command>try-tcp-refresh</command></term>
<listitem>
<para>
Try to refresh the zone using TCP if UDP queries fail.
The default is <command>yes</command>.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
......@@ -8041,6 +8052,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
<optional> allow-transfer { <replaceable>address_match_list</replaceable> }; </optional>
<optional> allow-update-forwarding { <replaceable>address_match_list</replaceable> }; </optional>
<optional> update-check-ksk <replaceable>yes_or_no</replaceable>; </optional>
<optional> try-tcp-refresh <replaceable>yes_or_no</replaceable>; </optional>
<optional> also-notify { <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ; <optional> <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ; ... </optional> }; </optional>
<optional> check-names (<constant>warn</constant>|<constant>fail</constant>|<constant>ignore</constant>) ; </optional>
<optional> dialup <replaceable>dialup_option</replaceable> ; </optional>
......@@ -8525,6 +8537,16 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
</listitem>
</varlistentry>
<varlistentry>
<term><command>try-tcp-refresh</command></term>
<listitem>
<para>
See the description of
<command>try-tcp-refresh</command> in <xref linkend="boolean_options"/>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>database</command></term>
<listitem>
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check.c,v 1.74 2006/03/10 05:00:23 marka Exp $ */
/* $Id: check.c,v 1.75 2006/06/04 23:17:06 marka Exp $ */
/*! \file */
......@@ -934,6 +934,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
{ "check-srv-cname", MASTERZONE },
{ "masterfile-format", MASTERZONE | SLAVEZONE | STUBZONE | HINTZONE },
{ "update-check-ksk", MASTERZONE },
{ "try-tcp-refresh", SLAVEZONE },
};
static optionstable dialups[] = {
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.h,v 1.144 2006/03/06 01:27:52 marka Exp $ */
/* $Id: zone.h,v 1.145 2006/06/04 23:17:07 marka Exp $ */
#ifndef DNS_ZONE_H
#define DNS_ZONE_H 1
......@@ -66,6 +66,7 @@ typedef enum {
#define DNS_ZONEOPT_WARNSRVCNAME 0x00200000U /*%< warn on SRV CNAME check */
#define DNS_ZONEOPT_IGNORESRVCNAME 0x00400000U /*%< ignore SRV CNAME check */
#define DNS_ZONEOPT_UPDATECHECKKSK 0x00800000U /*%< check dnskey KSK flag */
#define DNS_ZONEOPT_TRYTCPREFRESH 0x01000000U /*%< try tcp refresh on udp failure */
#ifndef NOMINUM_PUBLIC
/*
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.c,v 1.455 2006/05/18 02:35:26 marka Exp $ */
/* $Id: zone.c,v 1.456 2006/06/04 23:17:06 marka Exp $ */
/*! \file */
......@@ -4285,7 +4285,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
"master %s exceeded (source %s)",
master, source);
/* Try with slave with TCP. */
if (zone->type == dns_zone_slave)
if (zone->type == dns_zone_slave &&
DNS_ZONE_OPTION(zone, DNS_ZONEOPT_TRYTCPREFRESH))
goto tcp_transfer;
} else
dns_zone_log(zone, ISC_LOG_INFO,
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: namedconf.c,v 1.69 2006/05/03 01:54:54 marka Exp $ */
/* $Id: namedconf.c,v 1.70 2006/06/04 23:17:07 marka Exp $ */
/*! \file */
......@@ -846,6 +846,7 @@ zone_clauses[] = {
{ "check-sibling", &cfg_type_boolean, 0 },
{ "zero-no-soa-ttl", &cfg_type_boolean, 0 },
{ "update-check-ksk", &cfg_type_boolean, 0 },
{ "try-tcp-refresh", &cfg_type_boolean, 0 },
{ NULL, NULL, 0 }
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment