changeset 1120:8e01b8361e9e draft

changed add_dom to not even bother with anything head -c -1 related. should still work. added a comment at the top of dec2hex to suggest a shorter version that should work. added a script for generating zonefiles for bind
author epoch <epoch@hacking.allowed.org>
date Mon, 27 May 2013 05:16:01 +0000
parents 5645d1ed79c5
children a496c901e17a f4ea560284b7 f47b7a9f9478
files scripts/add_dom scripts/dec2hex scripts/nameserver_autogen/bind_tld_zonefile.sh
diffstat 3 files changed, 40 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/add_dom	Fri May 24 02:39:47 2013 +0000
+++ b/scripts/add_dom	Mon May 27 05:16:01 2013 +0000
@@ -4,15 +4,15 @@
  echo "Usage: $0 <dom> <owner> [<ns[/nsip]>...]" >&2; exit 255
 fi
 
-dir=db/dom/"$(echo "$1" | tr . '\n' | tac | tr '\n' / | ./scripts/head_-c_-1)"
+dir=db/dom/"$(echo "$1" | tr . '\n' | tac | tr '\n' / )"
 mkdir -p "$dir" || exit 1
-echo "$2" > "$dir/owner"
-mkdir "$dir/ns" || exit 1
+echo "$2" > "${dir}owner"
+mkdir "${dir}ns" || exit 1
 shift; shift;
 while [ x"$1" != x ]; do
  echo "$1" | tr / ' ' | (
   read ns nsip
-  echo "$nsip" > "$dir/ns/$ns"
+  echo "$nsip" > "${dir}ns/$ns"
  )
  shift;
 done
--- a/scripts/dec2hex	Fri May 24 02:39:47 2013 +0000
+++ b/scripts/dec2hex	Mon May 27 05:16:01 2013 +0000
@@ -1,4 +1,5 @@
 #!/bin/sh
+# maybe use? not sure if this would break anything. : printf "%02X" $1
 (
  if [ x"$USE_BC" = x1 ]; then
   echo -n "obase=16; "
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/nameserver_autogen/bind_tld_zonefile.sh	Mon May 27 05:16:01 2013 +0000
@@ -0,0 +1,35 @@
+#!/bin/bash
+#made for bash. not sure if all /bin/sh work.
+#be sure to edit these variables first.
+
+ANO_ZONEFILE=/etc/namedb/ano
+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... 
+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 
+    echo -e "${fqserver}.\tIN A\t$ip"
+   done
+  done
+ fi
+done >> $ANO_ZONEFILE
+echo done.
+echo might want to send a sighup to your named now.