X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=m4%2Fmkconf.m4;h=7cbde7610ab922f8436bbcd1b0edf0fe23e0eeca;hb=41302bf2517bf92a9d402a01f1265744f6d646a8;hp=a729eba93aba4b8b5dc112b95a02ab0a453ef75f;hpb=0054b365f280b71ac509bdfdfd60221414feb979;p=nsc-5.git diff --git a/m4/mkconf.m4 b/m4/mkconf.m4 index a729eba..7cbde76 100644 --- a/m4/mkconf.m4 +++ b/m4/mkconf.m4 @@ -1,50 +1,62 @@ dnl ### -dnl ### NSC 2.2 -- BIND Config File Builder -dnl ### (c) 1997--1999 Martin Mares +dnl ### NSC -- BIND Config File Builder +dnl ### (c) 1997--2006 Martin Mares 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; - file "ZONEDIR/$1"; + file "ZONEDIR/nsc_file_name($2)"; +ZZ_OPTIONS()dnl }; 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; - file "BAKDIR/$1"; + file "BAKDIR/nsc_file_name($1)"; masters { $2; }; +ZZ_OPTIONS()dnl }; divert(-1)') -# Definition of reverse domain - -define(`REVERSE', `divert(0)zone "revaddr($1).in-addr.arpa" in { - type master; - file "ZONEDIR/revaddr($1)"; -}; +# Definition of forwarders for both normal and slave mode -divert(-1)') +define(`FORWard', `patsubst(`$*',`,',`; ')') +define(`FORWArd', ` forward $1; + forwarders { FORWard(shift($@),)}; +') -# Definition of reverse sub-domain +define(`FORWARD', `FORWArd(first, $@)') +define(`SLAVE', `FORWArd(only, $@)') -define(`PARTIAL', `SECONDARY(revaddr($1).in-addr.arpa,$3)') -define(`PREVERSE', `REVERSE($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($@),)}; +ZZ_OPTIONS()dnl +}; + 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)') @@ -53,25 +65,30 @@ 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 `#' -`#' 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 `#' +options { + directory "ROOT"; + interface-interval 0; +BIND_OPTIONS +}; + +zone "." in { + type hint; + file "ROOTCACHE"; +}; + divert(-1)