/*
 * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
 *
 * SPDX-License-Identifier: MPL-2.0
 *
 * 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 https://mozilla.org/MPL/2.0/.
 *
 * See the COPYRIGHT file distributed with this work for additional
 * information regarding copyright ownership.
 */

include "../../common/rndc.key";

controls {
	inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
};

options {
	query-source address 10.53.0.2;
	notify-source 10.53.0.2;
	transfer-source 10.53.0.2;
	port @PORT@;
	pid-file "named.pid";
	listen-on { 10.53.0.2; };
	listen-on-v6 { fd92:7065:b8e:ffff::2; };
	notify no;
	recursion no;
	serial-query-rate 100;
	catalog-zones {
		zone "catalog1.example"
			default-masters { 10.53.0.1; }
			in-memory no
			zone-directory "zonedir";
		zone "catalog2.example"
			default-masters { 10.53.0.1 port @EXTRAPORT1@; }
			in-memory yes;
		zone "catalog3.example"
			default-masters { 10.53.0.1; }
			zone-directory "nonexistent";
#T1		zone "catalog4.example"
#T1			default-masters { 10.53.0.1; };
#T2		zone "catalog5.example"
#T2			default-masters { 10.53.0.1; };
	};
};

# A faulty dlz configuration to check if named and catz survive a certain class
# of failed configuration attempts (see GL #3060).
# We use "dlz" because the dlz processing code is located in an ideal place in
# the view configuration function for the test to cover the view reverting code.
#T3dlz "bad-dlz" {
#T3	database "dlopen bad-dlz.so example.org";
#T3};

zone "catalog1.example" {
	type secondary;
	file "catalog1.example.db";
	primaries { 10.53.0.1; };
};

zone "catalog2.example" {
	type secondary;
	file "catalog2.example.db";
	primaries { 10.53.0.3; };
};

zone "catalog3.example" {
	type secondary;
	file "catalog3.example.db";
	primaries { 10.53.0.1; };
};

zone "catalog4.example" {
	type secondary;
	file "catalog4.example.db";
	primaries { 10.53.0.1; };
};

# When the following zone configuration is enabled, "dom3.example" should
# already exist as a member of "catalog1.example", and named should be able
# to deal with that situation (see GL #3911). Make sure that this duplicate
# zone comes after the the "catalog1.example" zone in the configuration file.
#T4zone "dom3.example" {
#T4    type secondary;
#T4    file "dom2.example.db";
#T4};

key tsig_key. {
	secret "LSAnCU+Z";
	algorithm @DEFAULT_HMAC@;
};

key next_key. {
	secret "LaAnCU+Z";
	algorithm @DEFAULT_HMAC@;
};
