]> mj.ucw.cz Git - nsc-5.git/blobdiff - m4/mkconf.m4
A new script for releasing NSC
[nsc-5.git] / m4 / mkconf.m4
index 0b4c96112271886ddd5858d4014f96c11dd2e873..927ea9e8f851feb659b2ec87cc1545db3f027c77 100644 (file)
@@ -1,6 +1,6 @@
 dnl ###
 dnl ### NSC -- BIND Config File Builder
 dnl ###
 dnl ### NSC -- BIND Config File Builder
-dnl ### (c) 1997--2003 Martin Mares <mj@ucw.cz>
+dnl ### (c) 1997--2011 Martin Mares <mj@ucw.cz>
 dnl ###
 include(m4/dnslib.m4)
 
 dnl ###
 include(m4/dnslib.m4)
 
@@ -8,7 +8,8 @@ include(m4/dnslib.m4)
 
 define(`DO_PRIMARY', `divert(0)zone "$1" in {
        type master;
 
 define(`DO_PRIMARY', `divert(0)zone "$1" in {
        type master;
-       file "ZONEDIR/$2";
+       file "ZONEDIR/nsc_file_name($2)";
+ZZ_OPTIONS()dnl
 };
 
 divert(-1)')
 };
 
 divert(-1)')
@@ -20,21 +21,39 @@ define(`REVERSE', `DO_PRIMARY(REV($1),nsc_if_v6($1,`nsc_revblock6($1)',`nsc_reva
 
 define(`SECONDARY', `divert(0)zone "$1" in {
        type slave;
 
 define(`SECONDARY', `divert(0)zone "$1" in {
        type slave;
-       file "BAKDIR/$1";
+       file "BAKDIR/nsc_file_name($1)";
        masters { $2; };
        masters { $2; };
+ZZ_OPTIONS()dnl
 };
 
 divert(-1)')
 
 };
 
 divert(-1)')
 
-# Definition of forwarders for both normal and slave mode
+# Definition of a forwarding zone
 
 
-define(`FORWard', `patsubst(`$@',`,',`; ')')
-define(`FORWArd', `divert(0)   forward $1;
+define(`FORWARDING', `divert(0)zone "$1" in {
+       type forward;
+       forward only;
        forwarders { FORWard(shift($@),)};
        forwarders { FORWard(shift($@),)};
+ZZ_OPTIONS()dnl
+};
+
 divert(-1)')
 
 divert(-1)')
 
-define(`FORWARD', `FORWArd(first, $@)')
-define(`SLAVE', `FORWArd(only, $@)')
+# Blackhole zones
+
+define(`BLACKHOLE', `divert(0)zone "$1" in {
+       type master;
+       file "zone/blackhole";
+};
+
+divert(-1)')
+
+# Root hint zone
+
+define(`ROOTHINT', `divert(0)zone "." in {
+       type hint;
+       file "ROOTCACHE";
+};
 
 divert(-1)')
 
 
 divert(-1)')
 
@@ -43,6 +62,12 @@ divert(-1)')
 define(`CONFIG', `divert(0)$1
 divert(-1)')
 
 define(`CONFIG', `divert(0)$1
 divert(-1)')
 
+# Setting domain options
+
+define(`ZZ_OPTIONS', `')
+
+define(`ZONE_OPTIONS', `define(`ZZ_OPTIONS', ifelse(`$1',`',`',``      $1''))')
+
 # The preamble
 
 divert(0)dnl
 # The preamble
 
 divert(0)dnl
@@ -52,15 +77,4 @@ divert(0)dnl
 `#'    Please don't edit manually
 `#'
 
 `#'    Please don't edit manually
 `#'
 
-options {
-       directory "ROOT";
-       interface-interval 0;
-BIND_OPTIONS
-};
-
-zone "." in {
-       type hint;
-       file "ROOTCACHE";
-};
-
 divert(-1)
 divert(-1)