/*
 * Copyright (C) 2004, 2005, 2007, 2009, 2011-2014  Internet Systems Consortium, Inc. ("ISC")
 * Copyright (C) 2000, 2001  Internet Software Consortium.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 * PERFORMANCE OF THIS SOFTWARE.
 */

/* $Id: named.conf,v 1.22 2011/07/01 02:25:47 marka Exp $ */

controls { /* empty */ };

options {
	query-source address 10.53.0.1 dscp 1;
	notify-source 10.53.0.1 dscp 22;
	transfer-source 10.53.0.1 dscp 3;
	port 5300;
	pid-file "named.pid";
	session-keyfile "session.key";
	listen-on { 10.53.0.1; 127.0.0.1; };
	listen-on-v6 { none; };
	recursion no;
	notify yes;
};

key rndc_key {
	secret "1234abcd8765";
	algorithm hmac-sha256;
};

controls {
	inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
};

key altkey {
	algorithm hmac-md5;
	secret "1234abcd8765";
};

include "ddns.key";

zone "example.nil" {
	type master;
	file "example.db";
	check-integrity no;
	update-policy {
		grant ddns-key.example.nil subdomain example.nil ANY;
	};
	allow-transfer { any; };
};

zone "max-ttl.nil" {
	type master;
	file "max-ttl.db";
	max-zone-ttl 300;
	check-integrity no;
	allow-update { any; };
	allow-transfer { any; };
};

zone "other.nil" {
	type master;
	file "other.db";
	check-integrity no;
	update-policy local;
	allow-query-on { 10.53.0.1; 127.0.0.1; };
	allow-transfer { any; };
};

masters othermasters {
	10.53.0.2 port 5300;
	10.53.0.2 port 5300 key altkey;
};

zone "update.nil" {
	type master;
	file "update.db";
	check-integrity no;
	allow-update { any; };
	allow-transfer { any; };
	also-notify { othermasters; };
};

zone "unixtime.nil" {
	type master;
	file "unixtime.db";
	check-integrity no;
	allow-update { any; };
	allow-transfer { any; };
	serial-update-method unixtime;
};

zone "yyyymmddvv.nil" {
	type master;
	file "yyyymmddvv.db";
	check-integrity no;
	allow-update { any; };
	allow-transfer { any; };
	serial-update-method date;
};

include "md5.key";
include "sha1.key";
include "sha224.key";
include "sha256.key";
include "sha384.key";
include "sha512.key";

zone "keytests.nil" {
	type master;
	file "keytests.db";
	update-policy {
	    grant md5-key name md5.keytests.nil. ANY;
	    grant sha1-key name sha1.keytests.nil. ANY;
	    grant sha224-key name sha224.keytests.nil. ANY;
	    grant sha256-key name sha256.keytests.nil. ANY;
	    grant sha384-key name sha384.keytests.nil. ANY;
	    grant sha512-key name sha512.keytests.nil. ANY;
	};
};

zone "many.test" {
	type master;
	allow-update { any; };
	file "many.test.db";
};
