From 1b53ae755a154e5d3adbcc66546eba63e0d6f178 Mon Sep 17 00:00:00 2001
From: epoch <epoch@hacking.allowed.org>
Date: Sun, 6 Oct 2013 10:21:44 +0000
Subject: whoisd... don't remember. added ipv6 address for my nameserver does
 anyone still use bind_tld_zonefile? upgraded bind_tld_zonefile.sh to use ipv6
 in one place and rDNS in another

---
 scripts/nameserver_autogen/bind_tld_zonefile    |  1 +
 scripts/nameserver_autogen/bind_tld_zonefile.sh | 44 +++++++++++++++++++------
 2 files changed, 35 insertions(+), 10 deletions(-)

(limited to 'scripts')

diff --git a/scripts/nameserver_autogen/bind_tld_zonefile b/scripts/nameserver_autogen/bind_tld_zonefile
index 344bb4e..fb224e5 100755
--- a/scripts/nameserver_autogen/bind_tld_zonefile
+++ b/scripts/nameserver_autogen/bind_tld_zonefile
@@ -1,4 +1,5 @@
 #!/usr/bin/php
+#does anyone use this?
 <?php
 print('$ttl 600'."\n");
 chdir('../db/dom/ano');
diff --git a/scripts/nameserver_autogen/bind_tld_zonefile.sh b/scripts/nameserver_autogen/bind_tld_zonefile.sh
index 72c1128..06eb802 100755
--- a/scripts/nameserver_autogen/bind_tld_zonefile.sh
+++ b/scripts/nameserver_autogen/bind_tld_zonefile.sh
@@ -3,33 +3,57 @@
 #be sure to edit these variables first.
 
 ANO_ZONEFILE=/etc/namedb/ano
+RDNS_ZONEFILE=/etc/namedb/1.in-addr.arpa
 RESDB_PATH=/services/resdb/resdb
 
-echo "; this zonefile genreated on: `date`" > $ANO_ZONEFILE
-echo '$TTL 3600' >> $ANO_ZONEFILE
-echo '@ IN SOA localns root ('`date +" %Y%m%d00"`' 60 300 3600000 3600 )' >> $ANO_ZONEFILE
-echo '@ IN NS localns' >> $ANO_ZONEFILE
-echo 'localns IN A 127.0.0.1' >> $ANO_ZONEFILE
 
 cd ${RESDB_PATH}/db/dom/ano
 
-echo -n generating zonefile... 
+echo -n "generating ipv4 reverse lookup zonefile for 1/8..."
+
+echo "; this zonefile genreated on: `date`" > "$RDNS_ZONEFILE"
+echo '$TTL 3600' >> "$RDNS_ZONEFILE"
+echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$RDNS_ZONEFILE"
+echo '@ IN NS localhost.' >> "$RDNS_ZONEFILE"
+echo 'localhost. IN A 127.0.0.1' >> "$RDNS_ZONEFILE"
+
+for i in `ls /services/resdb/resdb/db/ip/01/*/*/ns/*`;do
+ 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.
+
+echo -n generating .ano TLD zonefile... 
+
+echo "; this zonefile genreated on: `date`" > "$ANO_ZONEFILE"
+echo '$TTL 3600' >> "$ANO_ZONEFILE"
+echo '@ IN SOA localhost. root.localhost. ('`date +" %Y%m%d%H"`' 60 300 3600000 3600 )' >> "$ANO_ZONEFILE"
+echo '@ IN NS localhost.' >> "$ANO_ZONEFILE"
+echo 'localhost. 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
+   if grep '\.ano$' <<< "$name" > /dev/null;then
     true
    fi
-   if grep '\.ano$' <<< $server > /dev/null;then
+   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 
-    echo -e "${fqserver}.\tIN A\t$ip"
+    if grep ':' <<< "$ip" > /dev/null;then
+     echo -e "${fqserver}.\tIN AAAA\t$ip"
+    else
+     echo -e "${fqserver}.\tIN A\t$ip"
+    fi
    done
   done
  fi
-done >> $ANO_ZONEFILE
+done >> "$ANO_ZONEFILE"
 echo done.
 echo might want to send a sighup to your named now.
-- 
cgit v1.2.3