mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
1684. [func] ixfr-from-differences now takes master and slave in
addition to yes and no at the options and view levels.
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -167,7 +167,8 @@
|
|||||||
|
|
||||||
1685. [bug] Change #1679 loop tests weren't quite right.
|
1685. [bug] Change #1679 loop tests weren't quite right.
|
||||||
|
|
||||||
1684. [placeholder] rt10704
|
1684. [func] ixfr-from-differences now takes master and slave in
|
||||||
|
addition to yes and no at the options and view levels.
|
||||||
|
|
||||||
1683. [bug] dig +sigchase could leak memory. [RT #11445]
|
1683. [bug] dig +sigchase could leak memory. [RT #11445]
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: zoneconf.c,v 1.113 2004/10/07 02:15:12 marka Exp $ */
|
/* $Id: zoneconf.c,v 1.114 2004/10/14 00:49:33 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -337,6 +337,7 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
|
|||||||
isc_boolean_t alt;
|
isc_boolean_t alt;
|
||||||
dns_view_t *view;
|
dns_view_t *view;
|
||||||
isc_boolean_t check = ISC_FALSE, fail = ISC_FALSE;
|
isc_boolean_t check = ISC_FALSE, fail = ISC_FALSE;
|
||||||
|
isc_boolean_t ixfrdiff;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
if (zconfig != NULL) {
|
if (zconfig != NULL) {
|
||||||
@@ -535,8 +536,17 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
|
|||||||
obj = NULL;
|
obj = NULL;
|
||||||
result = ns_config_get(maps, "ixfr-from-differences", &obj);
|
result = ns_config_get(maps, "ixfr-from-differences", &obj);
|
||||||
INSIST(result == ISC_R_SUCCESS);
|
INSIST(result == ISC_R_SUCCESS);
|
||||||
dns_zone_setoption(zone, DNS_ZONEOPT_IXFRFROMDIFFS,
|
if (cfg_obj_isboolean(obj))
|
||||||
cfg_obj_asboolean(obj));
|
ixfrdiff = cfg_obj_asboolean(obj);
|
||||||
|
else if (strcasecmp(cfg_obj_asstring(obj), "master") &&
|
||||||
|
ztype == dns_zone_master)
|
||||||
|
ixfrdiff = ISC_TRUE;
|
||||||
|
else if (strcasecmp(cfg_obj_asstring(obj), "slave") &&
|
||||||
|
ztype == dns_zone_slave)
|
||||||
|
ixfrdiff = ISC_TRUE;
|
||||||
|
else
|
||||||
|
ixfrdiff = ISC_FALSE;
|
||||||
|
dns_zone_setoption(zone, DNS_ZONEOPT_IXFRFROMDIFFS, ixfrdiff);
|
||||||
|
|
||||||
checknames(ztype, maps, &obj);
|
checknames(ztype, maps, &obj);
|
||||||
INSIST(obj != NULL);
|
INSIST(obj != NULL);
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
|
||||||
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
|
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
|
||||||
|
|
||||||
<!-- File: $Id: Bv9ARM-book.xml,v 1.255 2004/10/07 02:15:12 marka Exp $ -->
|
<!-- File: $Id: Bv9ARM-book.xml,v 1.256 2004/10/14 00:49:34 marka Exp $ -->
|
||||||
|
|
||||||
<book>
|
<book>
|
||||||
<title>BIND 9 Administrator Reference Manual</title>
|
<title>BIND 9 Administrator Reference Manual</title>
|
||||||
@@ -3318,6 +3318,11 @@ will be of a size comparable to the combined size of the
|
|||||||
old and new zone version, and the server will need to
|
old and new zone version, and the server will need to
|
||||||
temporarily allocate memory to hold this complete
|
temporarily allocate memory to hold this complete
|
||||||
difference set.
|
difference set.
|
||||||
|
</para><para>
|
||||||
|
<command>ixfr-from-differences</command> also accepts <command>master</command>
|
||||||
|
and <command>slave</command> at the view and options levels which causes
|
||||||
|
<command>ixfr-from-differences</command> to apply to all <command>master</command>
|
||||||
|
or <command>slave</command> zones respectively.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><command>multi-master</command></term>
|
<varlistentry><term><command>multi-master</command></term>
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: namedconf.c,v 1.37 2004/10/07 02:15:14 marka Exp $ */
|
/* $Id: namedconf.c,v 1.38 2004/10/14 00:49:34 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -70,12 +70,13 @@ static cfg_type_t cfg_type_acl;
|
|||||||
static cfg_type_t cfg_type_addrmatchelt;
|
static cfg_type_t cfg_type_addrmatchelt;
|
||||||
static cfg_type_t cfg_type_bracketed_aml;
|
static cfg_type_t cfg_type_bracketed_aml;
|
||||||
static cfg_type_t cfg_type_bracketed_namesockaddrkeylist;
|
static cfg_type_t cfg_type_bracketed_namesockaddrkeylist;
|
||||||
static cfg_type_t cfg_type_bracketed_sockaddrnameportlist;
|
|
||||||
static cfg_type_t cfg_type_bracketed_sockaddrlist;
|
static cfg_type_t cfg_type_bracketed_sockaddrlist;
|
||||||
|
static cfg_type_t cfg_type_bracketed_sockaddrnameportlist;
|
||||||
static cfg_type_t cfg_type_controls;
|
static cfg_type_t cfg_type_controls;
|
||||||
static cfg_type_t cfg_type_controls_sockaddr;
|
static cfg_type_t cfg_type_controls_sockaddr;
|
||||||
static cfg_type_t cfg_type_destinationlist;
|
static cfg_type_t cfg_type_destinationlist;
|
||||||
static cfg_type_t cfg_type_dialuptype;
|
static cfg_type_t cfg_type_dialuptype;
|
||||||
|
static cfg_type_t cfg_type_ixfrdifftype;
|
||||||
static cfg_type_t cfg_type_key;
|
static cfg_type_t cfg_type_key;
|
||||||
static cfg_type_t cfg_type_logfile;
|
static cfg_type_t cfg_type_logfile;
|
||||||
static cfg_type_t cfg_type_logging;
|
static cfg_type_t cfg_type_logging;
|
||||||
@@ -729,6 +730,7 @@ view_clauses[] = {
|
|||||||
{ "dnssec-lookaside", &cfg_type_lookaside, CFG_CLAUSEFLAG_MULTI },
|
{ "dnssec-lookaside", &cfg_type_lookaside, CFG_CLAUSEFLAG_MULTI },
|
||||||
{ "dnssec-must-be-secure", &cfg_type_mustbesecure,
|
{ "dnssec-must-be-secure", &cfg_type_mustbesecure,
|
||||||
CFG_CLAUSEFLAG_MULTI },
|
CFG_CLAUSEFLAG_MULTI },
|
||||||
|
{ "ixfr-from-differences", &cfg_type_ixfrdifftype, 0 },
|
||||||
{ NULL, NULL, 0 }
|
{ NULL, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -760,7 +762,6 @@ zone_clauses[] = {
|
|||||||
{ "dialup", &cfg_type_dialuptype, 0 },
|
{ "dialup", &cfg_type_dialuptype, 0 },
|
||||||
{ "forward", &cfg_type_forwardtype, 0 },
|
{ "forward", &cfg_type_forwardtype, 0 },
|
||||||
{ "forwarders", &cfg_type_portiplist, 0 },
|
{ "forwarders", &cfg_type_portiplist, 0 },
|
||||||
{ "ixfr-from-differences", &cfg_type_boolean, 0 },
|
|
||||||
{ "maintain-ixfr-base", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
|
{ "maintain-ixfr-base", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
|
||||||
{ "max-ixfr-log-size", &cfg_type_size, CFG_CLAUSEFLAG_OBSOLETE },
|
{ "max-ixfr-log-size", &cfg_type_size, CFG_CLAUSEFLAG_OBSOLETE },
|
||||||
{ "max-journal-size", &cfg_type_sizenodefault, 0 },
|
{ "max-journal-size", &cfg_type_sizenodefault, 0 },
|
||||||
@@ -807,6 +808,7 @@ zone_only_clauses[] = {
|
|||||||
* the zone options and the global/view options. Ugh.
|
* the zone options and the global/view options. Ugh.
|
||||||
*/
|
*/
|
||||||
{ "check-names", &cfg_type_checkmode, 0 },
|
{ "check-names", &cfg_type_checkmode, 0 },
|
||||||
|
{ "ixfr-from-differences", &cfg_type_boolean, 0 },
|
||||||
{ NULL, NULL, 0 }
|
{ NULL, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1173,6 +1175,16 @@ static cfg_type_t cfg_type_notifytype = {
|
|||||||
&cfg_rep_string, notify_enums,
|
&cfg_rep_string, notify_enums,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *ixfrdiff_enums[] = { "master", "slave", NULL };
|
||||||
|
static isc_result_t
|
||||||
|
parse_ixfrdiff_type(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
|
||||||
|
return (parse_enum_or_other(pctx, type, &cfg_type_boolean, ret));
|
||||||
|
}
|
||||||
|
static cfg_type_t cfg_type_ixfrdifftype = {
|
||||||
|
"ixfrdiff", parse_ixfrdiff_type, cfg_print_ustring, doc_enum_or_other,
|
||||||
|
&cfg_rep_string, ixfrdiff_enums,
|
||||||
|
};
|
||||||
|
|
||||||
static keyword_type_t key_kw = { "key", &cfg_type_astring };
|
static keyword_type_t key_kw = { "key", &cfg_type_astring };
|
||||||
|
|
||||||
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref = {
|
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref = {
|
||||||
|
Reference in New Issue
Block a user