/*
 * Copyright (C) 2014  Internet Systems Consortium, Inc. ("ISC")
 *
 * 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.
 */

view one {
	notify master-only;

	# also-notify inconsistent with master-only notify option
	zone "slave" {
		type slave;
		masters { 1.2.3.4; };
		also-notify { 5.6.7.8; };
	};

	# OK
	zone "master" {
		type master;
		file "filename";
		also-notify { 5.6.7.8; };
	};
};

view two {
	notify no;

	# also-notify inconsistent with notify option at the view level
	zone "slave" {
		type slave;
		masters { 1.2.3.4; };
		also-notify { 5.6.7.8; };
	};

	# OK
	zone "master" {
		type master;
		file "filename";
		notify yes;
		also-notify { 5.6.7.8; };
	};
};

view three {
	# also-notify inconsistent with notify option at the zone level
	zone "slave" {
		type slave;
		masters { 1.2.3.4; };
		notify no;
		also-notify { 5.6.7.8; };
	};

	# OK
	zone "master" {
		type master;
		file "filename";
		also-notify { 5.6.7.8; };
	};
};

view four {
	also-notify { 5.6.7.8; };

	# OK
	zone "slave" {
		type slave;
		masters { 1.2.3.4; };
		notify master-only;
	};

	# OK
	zone "master" {
		type master;
		file "filename";
		notify no;
	};
};
