Domain Name Server Configuration Utilities -- NSC 4.0
- (c) 1997--2011 Martin Mares <mj@ucw.cz>
+ (c) 1997--2019 Martin Mares <mj@ucw.cz>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ADDR(addr...)
Specify addresses for the current host. In the normal mode, it
- creates A records, in the reverse mode, PTR records.
+ creates A/AAAA records, in the reverse mode, PTR records.
H(host, addr...)
A shortcut for H(host) ADDR(addr...) -- in many cases everything
is not supported. All other syntaxes and quirks hopefully are.
-8. Interaction with M4
+8. DNSSEC support
+~~~~~~~~~~~~~~~~~
+FIXME: Write real docs!
+
+bin/key-gen example.com
+bin/key-gen -f KSK example.com
+bin/key-update
+keys/resign-stamp
+
+
+9. Interaction with M4
~~~~~~~~~~~~~~~~~~~~~~
All config files are fully-fledged M4 scripts, so you can use any M4 features
you need, the most helpful one being definition of your own macros by
freebsd: don't use `-f' in hostname
+
+DNSSEC:
+- DS records and dependencies on them
+- NSCVER macro
; A pretty normal example domain (we act as a primary nameserver for it)
+DNSSEC(`
PRIMARY(example.com)
+')
; It also has a couple of sub-domains and one of them resides on another server
define(REV, `nsc_if_v6($1,`nsc_revblock6($1).ip6.arpa',`nsc_revaddr($1).in-addr.arpa')')
+# DNSSEC wrapper
+
+define(`USE_DNSSEC')
+define(`DNSSEC', `define(`USE_DNSSEC',1)$1define(`USE_DNSSEC')')
+
# A for loop macro from m4 doc
define(`nsc_forloop',
dnl ###
dnl ### NSC -- Makefile Builder
-dnl ### (c) 1997--2011 Martin Mares <mj@ucw.cz>
+dnl ### (c) 1997--2019 Martin Mares <mj@ucw.cz>
dnl ###
include(m4/dnslib.m4)
define(`nsc_prepend_cf_one', ` 'CFDIR/`nsc_file_name($1)')
define(`nsc_prepend_cf_multi', `nsc_iterate(`nsc_prepend_cf_one', $@)')
-define(`PRIMARY', `divert(0)ZONEDIR/nsc_file_name($1):nsc_prepend_cf_multi($@) $(DDEPS)
+define(`nsc_key_dep', `ifelse(USE_DNSSEC,,,` 'KEYDIR/$1.hash)')
+define(`PRIMARY', `divert(0)ZONEDIR/nsc_file_name($1):nsc_prepend_cf_multi($@)nsc_key_dep($1) $(DDEPS)
@bin/genzone nsc_file_name($1)`'nsc_prepend_cf_multi($@)
divert(-1)