]> mj.ucw.cz Git - nsc-5.git/blobdiff - m4/mkconf.m4
A new script for releasing NSC
[nsc-5.git] / m4 / mkconf.m4
index 2e0b77a2df76de012a1079f2d31cda130671465c..927ea9e8f851feb659b2ec87cc1545db3f027c77 100644 (file)
@@ -1,50 +1,59 @@
 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--2011 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
+# Definition of a forwarding zone
 
 
-define(`REVERSE', `divert(0)zone "revaddr($1).in-addr.arpa" in {
-       type master;
-       file "ZONEDIR/revaddr($1)";
+define(`FORWARDING', `divert(0)zone "$1" in {
+       type forward;
+       forward only;
+       forwarders { FORWard(shift($@),)};
+ZZ_OPTIONS()dnl
 };
 
 divert(-1)')
 
 };
 
 divert(-1)')
 
-# Definition of reverse sub-domain
-
-define(`PARTIAL', `SECONDARY(revaddr($1).in-addr.arpa,$3)')
-define(`PREVERSE', `REVERSE($1)')
+# Blackhole zones
 
 
-# Definition of forwarders for both normal and slave mode
+define(`BLACKHOLE', `divert(0)zone "$1" in {
+       type master;
+       file "zone/blackhole";
+};
 
 
-define(`FORWard', `patsubst(`$@',`,',`; ')')
-define(`FORWArd', `divert(0)   forward $1;
-       forwarders { FORWard(shift($@),)};
 divert(-1)')
 
 divert(-1)')
 
-define(`FORWARD', `FORWArd(first, $@)')
-define(`SLAVE', `FORWArd(only, $@)')
+# Root hint zone
+
+define(`ROOTHINT', `divert(0)zone "." in {
+       type hint;
+       file "ROOTCACHE";
+};
 
 divert(-1)')
 
 
 divert(-1)')
 
@@ -53,24 +62,18 @@ 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
 `#'