diff options
author | cathugger <cathugger@cock.li> | 2017-11-17 08:59:16 +0000 |
---|---|---|
committer | cathugger <cathugger@cock.li> | 2017-11-17 08:59:16 +0000 |
commit | 381a3cac3bb721389d73aab4f92d31ed37d36db0 (patch) | |
tree | a5a2a891711b7568725b31933d7297f0726a60c0 /scripts/nameserver_autogen/bind_tld_zonefile_all.sh | |
parent | db2a05323172526c2662c016dcb020b2813c427e (diff) | |
download | resdb-381a3cac3bb721389d73aab4f92d31ed37d36db0.tar.gz resdb-381a3cac3bb721389d73aab4f92d31ed37d36db0.zip |
rewrite bind tld zonefile generators
Diffstat (limited to 'scripts/nameserver_autogen/bind_tld_zonefile_all.sh')
-rwxr-xr-x | scripts/nameserver_autogen/bind_tld_zonefile_all.sh | 78 |
1 files changed, 12 insertions, 66 deletions
diff --git a/scripts/nameserver_autogen/bind_tld_zonefile_all.sh b/scripts/nameserver_autogen/bind_tld_zonefile_all.sh index 3715881..422c17d 100755 --- a/scripts/nameserver_autogen/bind_tld_zonefile_all.sh +++ b/scripts/nameserver_autogen/bind_tld_zonefile_all.sh @@ -1,68 +1,14 @@ -#!/bin/bash -#made for bash. not sure if all /bin/sh work. -#be sure to edit these variables first. - -#ZONEFILE_DIR=/etc/namedb +#!/bin/sh +# be sure to set these variables first. +#ANO_ZONEFILE=/etc/namedb/ano #RDNS_ZONEFILE=/etc/namedb/21.in-addr.arpa -#RESDB_PATH=/var/db/resdb - -if [ ! "$ZONEFILE_DIR" ];then - echo "You forgot to set some variables. read the source plzkthx." - exit 0; +#RESDB_PATH=/services/resdb/resdb +if [ ! "$ANO_ZONEFILE" ];then + echo "You forgot to set some variables. read the source plzkthx." >&2 + exit 1 fi - - -echo -n "generating ipv4 reverse lookup zonefile for 21/8..." - -echo "; this zonefile genreated on: `date -u`" > "$RDNS_ZONEFILE" -echo '$TTL 3600' >> "$RDNS_ZONEFILE" -echo '@ IN SOA @ root ('`date -u +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE" -echo '@ IN NS @' >> "$RDNS_ZONEFILE" -echo '@ IN A 127.0.0.1' >> "$RDNS_ZONEFILE" - -for i in `ls ${RESDB_PATH}/db/ip/15/*/*/ns/*`;do #this is for 21. - f=$(basename $i) - a=$(basename $(dirname $i)) - b=$(basename $(dirname $(dirname $i))) - c=$(basename $(dirname $(dirname $(dirname $i)))) - printf "%d.%d IN NS %s\n" $[0x${b}] $[0x${c}] ${f}. -done >> "$RDNS_ZONEFILE" -echo done. - -for GOHERE in ${RESDB_PATH}/db/dom/*;do - - cd ${GOHERE} - TLD=$(basename ${GOHERE}) - ANO_ZONEFILE=${ZONEFILE_DIR}/${TLD} - echo -n generating .${TLD} TLD zonefile... - echo "; this zonefile genreated on: `date -u`" > "$ANO_ZONEFILE" - echo '$TTL 3600' >> "$ANO_ZONEFILE" - echo '@ IN SOA @ root ('`date -u +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$ANO_ZONEFILE" - echo '@ IN NS @' >> "$ANO_ZONEFILE" - echo '@ IN A 127.0.0.1' >> "$ANO_ZONEFILE" - - for name in *;do - if [ -e "${name}/ns/" ];then - for server in "$name"/ns/*;do - if grep '\.ano$' <<< "$name" > /dev/null;then - true - fi - if grep '\.ano$' <<< "$server" > /dev/null;then - true - fi - fqserver=`cut -d/ -f3- <<< $server` - echo -e "${name}\tIN NS\t${fqserver}." - for ip in $(cat ${server});do - if grep ':' <<< "$ip" > /dev/null;then - printf '%s.\tIN AAAA\t%s\n' "${fqserver}" "${ip}" - else - printf '%s.\tIN A\t%s\n' "${fqserver}" "${ip}" - fi - done - done - fi - done >> "$ANO_ZONEFILE" - echo done with ${TLD} -done - -echo might want to send a sighup to your named now. +# compat +export ZONEFILE_DIR=`dirname $RDNS_ZONEFILE` +TLDS='!' `dirname $0`/bind_tld_zonefile.sh +export ZONEFILE_DIR=`dirname $ANO_ZONEFILE` +RDNS_PREFIX='!' TLDS='*' `dirname $0`/bind_tld_zonefile.sh |