}
dns_zone_setoption(mayberaw, DNS_ZONEOPT_MULTIMASTER, multi);
+ obj = NULL;
+ (void)cfg_map_get(zoptions, "mirror", &obj);
+ if (obj != NULL) {
+ dns_zone_setoption(mayberaw, DNS_ZONEOPT_MIRROR,
+ cfg_obj_asboolean(obj));
+ }
+
obj = NULL;
result = named_config_get(maps, "max-transfer-time-in", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
DNS_ZONEOPT_CHECKDUPRRFAIL = 1<<26, /*%< fatal check-dup-records failures */
DNS_ZONEOPT_CHECKSPF = 1<<27, /*%< check SPF records */
DNS_ZONEOPT_CHECKTTL = 1<<28, /*%< check max-zone-ttl */
- DNS_ZONEOPT_AUTOEMPTY = 1<<29 /*%< automatic empty zone */
+ DNS_ZONEOPT_AUTOEMPTY = 1<<29, /*%< automatic empty zone */
+ DNS_ZONEOPT_MIRROR = 1<<30, /*%< mirror zone */
} dns_zoneopt_t;
+
/*
* Zone key maintenance options
*/
* otherwise NULL.
*/
+isc_boolean_t
+dns_zone_ismirror(const dns_zone_t *zone);
+/*%<
+ * Return ISC_TRUE if 'zone' is a mirror zone, return ISC_FALSE otherwise.
+ */
+
#endif /* DNS_ZONE_H */
return (zone->gluecachestats);
}
+
+isc_boolean_t
+dns_zone_ismirror(const dns_zone_t *zone) {
+ REQUIRE(DNS_ZONE_VALID(zone));
+
+ return (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_MIRROR));
+}
{ "min-retry-time", &cfg_type_uint32,
CFG_ZONE_SLAVE | CFG_ZONE_STUB
},
+ { "mirror", &cfg_type_boolean,
+ CFG_ZONE_SLAVE
+ },
{ "multi-master", &cfg_type_boolean,
CFG_ZONE_SLAVE | CFG_ZONE_STUB
},