]> mj.ucw.cz Git - nsc-5.git/blobdiff - m4/mkconf.m4
Updated the LSM.
[nsc-5.git] / m4 / mkconf.m4
index 2e0b77a2df76de012a1079f2d31cda130671465c..e5779217959d675eb42fbbc6e3d69522976e3206 100644 (file)
@@ -1,47 +1,39 @@
 dnl ###
 dnl ###
-dnl ### NSC 2.0 -- BIND Config File Builder
-dnl ### (c) 1997 Martin Mares <mj@gts.cz>
+dnl ### NSC -- BIND Config File Builder
+dnl ### (c) 1997--2006 Martin Mares <mj@ucw.cz>
 dnl ###
 dnl ###
+include(m4/dnslib.m4)
 
 
-# Definition of primary domain
+# Definition of primary domains
 
 
-define(`PRIMARY', `divert(0)zone "$1" in {
+define(`DO_PRIMARY', `divert(0)zone "$1" in {
        type master;
        type master;
-       file "ZONEDIR/$1";
+       file "ZONEDIR/nsc_file_name($2)";
+ZZ_OPTIONS()dnl
 };
 
 divert(-1)')
 
 };
 
 divert(-1)')
 
+define(`PRIMARY', `DO_PRIMARY($1,$1)')
+define(`REVERSE', `DO_PRIMARY(REV($1),nsc_if_v6($1,`nsc_revblock6($1)',`nsc_revaddr($1)'))')
+
 # Definition of secondary domain
 
 define(`SECONDARY', `divert(0)zone "$1" in {
        type slave;
 # Definition of secondary domain
 
 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 reverse domain
-
-define(`REVERSE', `divert(0)zone "revaddr($1).in-addr.arpa" in {
-       type master;
-       file "ZONEDIR/revaddr($1)";
-};
-
-divert(-1)')
-
-# Definition of reverse sub-domain
-
-define(`PARTIAL', `SECONDARY(revaddr($1).in-addr.arpa,$3)')
-define(`PREVERSE', `REVERSE($1)')
-
 # Definition of forwarders for both normal and slave mode
 
 # Definition of forwarders for both normal and slave mode
 
-define(`FORWard', `patsubst(`$@',`,',`; ')')
-define(`FORWArd', `divert(0)   forward $1;
+define(`FORWard', `patsubst(`$*',`,',`; ')')
+define(`FORWArd', `    forward $1;
        forwarders { FORWard(shift($@),)};
        forwarders { FORWard(shift($@),)};
-divert(-1)')
+')
 
 define(`FORWARD', `FORWArd(first, $@)')
 define(`SLAVE', `FORWArd(only, $@)')
 
 define(`FORWARD', `FORWArd(first, $@)')
 define(`SLAVE', `FORWArd(only, $@)')
@@ -53,25 +45,30 @@ divert(-1)')
 define(`CONFIG', `divert(0)$1
 divert(-1)')
 
 define(`CONFIG', `divert(0)$1
 divert(-1)')
 
-# BIND options
+# Setting domain options
 
 
-define(`OPTIONS', `divert(0)options {
-       directory "ROOT";
-       interface-interval 0;
-$1};
+define(`ZZ_OPTIONS', `')
 
 
-zone "." in {
-       type hint;
-       file "root.cache";
-};
+define(`ZONE_OPTIONS', `define(`ZZ_OPTIONS', ifelse(`$1',`',`',``      $1''))')
 
 
-divert(-1)')
+# The preamble
 
 divert(0)dnl
 `#'
 
 divert(0)dnl
 `#'
-`#'    Name server configuration file
-`#'    Generated by mkconf.m4 on curdate
+`#'    BIND configuration file
+`#'    Generated by NSCVER (mkconf.m4) on CURRENT_DATE
 `#'    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)