/*
 * 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.
 */

options {
	query-source address 10.53.0.1;
	notify-source 10.53.0.1;
	transfer-source 10.53.0.1;
	port @PORT@;
	pid-file "named.pid";
	session-keyfile "session.key";
	listen-on { 10.53.0.1; 127.0.0.1; };
	listen-on-v6 { none; };
	allow-transfer { !10.53.0.1; any; };
	recursion no;
	notify yes;
	dnssec-validation no;
};

key rndc_key {
	secret "1234abcd8765";
	algorithm @DEFAULT_HMAC@;
};

include "ddns.key";

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

dlz "example one" {
	database "dlopen ../driver/.libs/dlzexternal.so example.nil";
};

dlz "example two" {
	database "dlopen ../driver/.libs/dlzexternal.so alternate.nil";
};

dlz "example three" {
	database "dlopen ../driver/.libs/dlzexternal.so example.org";
};

dlz "example four" {
	// Long zone name to trigger ISC_R_NOSPACE in dns_sdlz_putrr.
        database "dlopen ../driver/.libs/dlzexternal.so 123456789.123456789.123456789.123456789.123456789.example.foo";
};

dlz "unsearched1" {
	database "dlopen ../driver/.libs/dlzexternal.so other.nil";
	search no;
};

dlz "unsearched2" {
	database "dlopen ../driver/.libs/dlzexternal.so zone.nil";
	search no;
};

dlz redzone {
	database "dlopen ../driver/.libs/dlzexternal.so .";
	search no;
};

zone zone.nil {
	type primary;
	dlz unsearched2;
};

zone "." {
	type redirect;
	dlz redzone;
};

zone "." {
	type primary;
	file "root.db";
};
