X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=m4%2Fdnslib.m4;h=5997262bc58f1b2eb6c3e051a3adfdf5c4dbf298;hb=8ee88613458f9f6249e03d6dfdd2c79e549ffd81;hp=02609e72ef0f77b82d28734cd81649166ee53a17;hpb=dd04a4d50eca47c8ce85bf75240331bcf27367f7;p=nsc-5.git diff --git a/m4/dnslib.m4 b/m4/dnslib.m4 index 02609e7..5997262 100644 --- a/m4/dnslib.m4 +++ b/m4/dnslib.m4 @@ -1,12 +1,12 @@ dnl ### dnl ### NSC -- Library Functions For DNS Processing -dnl ### (c) 1997--2011 Martin Mares +dnl ### (c) 1997--2019 Martin Mares dnl ### divert(-1) # NSC version -define(`NSCVER', `NSC 3.1') +define(`NSCVER', `NSC 5.0') # Current date and time @@ -28,10 +28,11 @@ define(nsc_file_name, `translit($1,/,@)') define(nsc_revIPa, `ifelse($#, 1, `$1', `nsc_revIPa(shift($@)).$1')') define(nsc_revaddr, `nsc_revIPa(translit($1, `.', `,'))') -# Fix up dots in a name: if the name is not simple (i.e., it contains at least one dot), -# ensure that it ends with a dot. +# Fix up dots in a name: If the name is not simple (i.e., it contains at least one unescaped +# dot), ensure that it ends with a dot. Then unescape all escaped dots (\.). -define(nsc_corr_dot, `ifelse(substr($1,decr(len($1))),.,$1,$1`'ifelse(index($1,.),-1,,.))') +define(nsc_name, `nsc_unescape_name(ifelse(substr($1,decr(len($1))),.,$1,$1`'ifelse(regexp($1,`[^\\]\.'),-1,,.)))') +define(nsc_unescape_name,`patsubst(`$1',\\\.,.)') # Normalize IPv6 address @@ -94,7 +95,6 @@ define(`NAMED_RESTART_CMD', `rndc reload') define(`CFDIR', `cf') define(`VERSDIR', `ver') -define(`ROOTCACHE', `root.cache') define(`REFRESH', HOURS(8)) define(`RETRY', HOURS(2)) @@ -106,6 +106,7 @@ define(`MAINTNAME', `root'.`nsc_corr_dot(NSNAME)') define(`KEYGEN_OPTIONS', `-a RSASHA256 -b 1024') define(`SIGNZONE_OPTIONS', `-e +'DAYS(365)) +define(`DSFROMKEY_OPTIONS', `') # And finally we change comments to semicolons to be compatible with the zone files