diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/add_dom | 8 | ||||
| -rwxr-xr-x | scripts/dec2hex | 1 | ||||
| -rwxr-xr-x | scripts/nameserver_autogen/bind_tld_zonefile.sh | 35 | 
3 files changed, 40 insertions, 4 deletions
| diff --git a/scripts/add_dom b/scripts/add_dom index b60a964..50e21c0 100755 --- a/scripts/add_dom +++ b/scripts/add_dom @@ -4,15 +4,15 @@ if [ x"$2" = x ]; then   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 diff --git a/scripts/dec2hex b/scripts/dec2hex index e997b20..9194d01 100755 --- a/scripts/dec2hex +++ b/scripts/dec2hex @@ -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; " diff --git a/scripts/nameserver_autogen/bind_tld_zonefile.sh b/scripts/nameserver_autogen/bind_tld_zonefile.sh new file mode 100755 index 0000000..72c1128 --- /dev/null +++ b/scripts/nameserver_autogen/bind_tld_zonefile.sh @@ -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. | 
