X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=m4%2Fmkconf.m4;h=eedde55b1e3119cf83e6db6f2e5981c0d5c08acf;hb=0f28cfaa52b633c4a0217345731973565b6ea897;hp=2e0b77a2df76de012a1079f2d31cda130671465c;hpb=ded4fe1add43222e47f4105aac673428c60c4f2e;p=nsc-5.git diff --git a/m4/mkconf.m4 b/m4/mkconf.m4 index 2e0b77a..eedde55 100644 --- a/m4/mkconf.m4 +++ b/m4/mkconf.m4 @@ -1,50 +1,62 @@ dnl ### -dnl ### NSC 2.0 -- BIND Config File Builder -dnl ### (c) 1997 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 "cf/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)