+Version 3.0 [20-02-2005]
+
+ One year of testing should be good enough, so releasing 2.99b as 3.0
+ with almost no changes. The only one is:
+
+ o ZONE_OPTIONS macro added, allowing to add custom options to zones.
+
Version 2.99b [21-12-2003]
This version has been almost rewritten from scratch. The syntax
- Domain Name Server Configuration Utilities -- NSC 2.99b
+ Domain Name Server Configuration Utilities -- NSC 3.0
- (c) 1997--2003 Martin Mares <mj@ucw.cz>
+ (c) 1997--2005 Martin Mares <mj@ucw.cz>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------------------------------------------------
-WARNING: This is a prerelease of the NSC 3.0. See NEWS for the list of changes.
-Most importantly, the configuration files are NOT compatible with the old releases.
-Also, it hasn't undergone much extensive testing yet, so there might be bugs around.
+WARNING: NSC has undergone significant changes between versions 2.3 and 2.99b.
+See NEWS for the summary of changes. Most importantly, the configuration files are
+NOT compatible with the old releases.
------------------------------------------------------------------------------------
You can also use the REV macro explicitly, which can be handy
for example in SECONDARY declarations.
-CONFIG(...) - insert user data to named.conf
+ZONE_OPTIONS(`options;
+ more options;
+')
+ Define options to be inserted to all subsequent zone declarations
+ until the next ZONE_OPTIONS command. Please keep in mind that the
+ semicolon character act as M4 comment, so you need to put the
+ closing quote at a separate line. See our example cf/domains.
-MAKEFILE(...) - insert user data to Makefile
+CONFIG(...)
+ Insert user data to named.conf, again beware of semicolons.
+
+MAKEFILE(...)
+ Insert user data to Makefile.
3. The Domain Files
it checks all PRIMARY and SECONDARY records in cf/domains
against NS records. Requires the Net::DNS module and also
some tweaking of parameters at the top of the script.
-
- LocalWords: MINTTL NSNAME hostname MAINTNAME
PRIMARY(a.example.com)
SECONDARY(b.example.com, 10.0.0.1)
+; Yet another subdomain residing on another server, but this time with
+; access restricted to the internal network. The closing quote after the
+; options has to be on a separate line, because semicolon is a comment character.
+
+ZONE_OPTIONS(`allow-query { 127.0.0.0/8; 10.0.0.0/8; };
+ allow-recursion { 127.0.0.0/8; 10.0.0.0/8; };
+ allow-transfer { 127.0.0.0/8; 10.0.0.0/8; };
+')
+SECONDARY(priv.example.com, 10.10.10.1)
+ZONE_OPTIONS()
+
; Here are reverse delegations for two networks. NSC automatically creates
; the PTR records from A records in all mentioned zones. See cf/{0,1}.0.10.
dnl ###
dnl ### NSC -- BIND Config File Builder
-dnl ### (c) 1997--2003 Martin Mares <mj@ucw.cz>
+dnl ### (c) 1997--2005 Martin Mares <mj@ucw.cz>
dnl ###
include(m4/dnslib.m4)
define(`DO_PRIMARY', `divert(0)zone "$1" in {
type master;
file "ZONEDIR/nsc_file_name($2)";
+ZZ_OPTIONS()dnl
};
divert(-1)')
type slave;
file "BAKDIR/nsc_file_name($1)";
masters { $2; };
+ZZ_OPTIONS()dnl
};
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
Begin3
Title: Name Server Configurator
-Version: 2.99b
-Entered-date: 031221
+Version: 3.0
+Entered-date: 050220
Description: Set of utilities and M4 scripts for easy maintenance of
DNS zone files and also automatic generation of BIND 8/9 configuration
files. Requires GNU m4 and a Posix-compatible shell.
Keywords: named, bind, dns
Author: mj@ucw.cz (Martin Mares)
Maintained-by: mj@ucw.cz (Martin Mares)
-Primary-site: atrey.karlin.mff.cuni.cz pub/local/mj/net/nsc-2.99b.tar.gz
-Alternate-site: metalab.unc.edu pub/Linux/system/network/management/nsc-2.99b.tar.gz
+Primary-site: atrey.karlin.mff.cuni.cz pub/local/mj/net/nsc-3.0.tar.gz
+Alternate-site: metalab.unc.edu pub/Linux/system/network/management/nsc-3.0.tar.gz
Copying-policy: GPL
End