summaryrefslogtreecommitdiff
path: root/scripts/nameserver_autogen/bind_tld_zonefile_all.sh
diff options
context:
space:
mode:
authorcathugger <cathugger@cock.li>2017-11-17 08:59:16 +0000
committercathugger <cathugger@cock.li>2017-11-17 08:59:16 +0000
commit381a3cac3bb721389d73aab4f92d31ed37d36db0 (patch)
treea5a2a891711b7568725b31933d7297f0726a60c0 /scripts/nameserver_autogen/bind_tld_zonefile_all.sh
parentdb2a05323172526c2662c016dcb020b2813c427e (diff)
downloadresdb-381a3cac3bb721389d73aab4f92d31ed37d36db0.tar.gz
resdb-381a3cac3bb721389d73aab4f92d31ed37d36db0.zip
rewrite bind tld zonefile generators
Diffstat (limited to 'scripts/nameserver_autogen/bind_tld_zonefile_all.sh')
-rwxr-xr-xscripts/nameserver_autogen/bind_tld_zonefile_all.sh78
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