summaryrefslogtreecommitdiffstats
path: root/dns_wizard/scripts/do_it_dns.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dns_wizard/scripts/do_it_dns.sh')
-rwxr-xr-xdns_wizard/scripts/do_it_dns.sh177
1 files changed, 177 insertions, 0 deletions
diff --git a/dns_wizard/scripts/do_it_dns.sh b/dns_wizard/scripts/do_it_dns.sh
new file mode 100755
index 00000000..84807609
--- /dev/null
+++ b/dns_wizard/scripts/do_it_dns.sh
@@ -0,0 +1,177 @@
+#!/bin/bash
+#
+# Wizard
+#
+# Copyright (C) 2000 Mandrakesoft.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# See file LICENSE for further informations on licensing terms.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Authors: Jerome Dumonteil, Maurizio De Cecco, Enzo Maggi
+# icons: Helene Durosini <ln@mandrakesoft.com>
+# <corporate@mandrakesoft.com> http://www.mandrakesoft.com
+
+# script for wizard dns configuration
+#
+# install default dns configuration for server
+# assuming all dependencies are ok
+
+wiz_ip_net=`get_var wiz_ip_net`
+wiz_ip_server=`get_var wiz_ip_server`
+wiz_domain_name=`get_var wiz_domain_name`
+wiz_host_name=`get_var wiz_host_name`
+s_trunc=${wiz_ip_net%.*}
+ds=${wiz_ip_server##*.}
+host=${wiz_host_name%%.*}
+
+
+# change serial number
+# $1 : file
+up_serial(){
+TMPFILE=`mktemp /tmp/temp.XXXXXX` || exit 1
+cat $1 > ${TMPFILE}
+serial_nbm=$(date "+%Y%m%d00")
+serial_f=`sed -ne "s/^\([[:space:]]*\)\([0-9]*\)\([[:space:]]*;[[:space:]]*Serial.*$\)/\2/p" ${TMPFILE}`
+serial_f=$((${serial_f}+1))
+if [ ${serial_f} -le ${serial_nbm} ]; then
+ serial_f=${serial_nbm}
+fi
+
+cat ${TMPFILE}\
+|sed -e "s/^\([[:space:]]*\)\([0-9]*\)\([[:space:]]*;[[:space:]]*Serial.*$\)/\1${serial_f}\3/"\
+> $1
+rm -f ${TMPFILE}
+}
+
+
+
+
+
+
+
+# host.conf
+bck_file /etc/host.conf
+cat ${CWD}/scripts/host.conf.default > /etc/host.conf
+
+# named.conf
+file=/etc/named.conf
+bck_file ${file}
+
+echo_debug "now putting ${file} configuration"
+
+reversenet=`echo ${wiz_ip_net}|sed -e 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.[0-9]*$/\3\.\2\.\1/'`
+echo_debug "reversenet : ${reversenet}"
+
+cat ${CWD}/scripts/named.conf.default > /var/tmp/named.conf.default
+
+if [ -z "${wiz_ext_dns1}" ]; then
+ TMPFILE=`mktemp /tmp/temp.XXXXXX` || exit 1
+ cat /var/tmp/named.conf.default > ${TMPFILE}
+ cat ${TMPFILE}|sed -e "s/^.*__ISPNS1__.*$/\/\/&/" >/var/tmp/named.conf.default
+ rm -f ${TMPFILE}
+fi
+if [ -z "${wiz_ext_dns2}" ]; then
+ TMPFILE=`mktemp /tmp/temp.XXXXXX` || exit 1
+ cat /var/tmp/named.conf.default > ${TMPFILE}
+ cat ${TMPFILE}|sed -e "s/^.*__ISPNS2__.*$/\/\/&/" >/var/tmp/named.conf.default
+ rm -f ${TMPFILE}
+fi
+
+cat /var/tmp/named.conf.default \
+|sed "s|__ISPNS1__|${wiz_ext_dns1}|g" \
+|sed "s|__ISPNS2__|${wiz_ext_dns2}|g" \
+|sed "s|__dname__|${wiz_domain_name}|g" \
+|sed "s|__revnet__|${reversenet}|g" \
+|sed "s|__net__|${s_trunc}|g" \
+> ${file}
+
+# Bug fix for bind 9:
+touch /etc/rndc.key
+
+# root.hints
+file=/var/named/root.hints
+bck_file ${file}
+
+cat ${CWD}/scripts/root.hints.default > ${file}
+
+# 127.0.0.rev
+file=/var/named/127.0.0.rev
+bck_file ${file}
+
+cat ${CWD}/scripts/127.0.0.rev.default \
+|sed "s|__hname__|${wiz_host_name}|g" \
+> ${file}
+
+up_serial ${file}
+
+# ipnet.rev
+
+file=/var/named/${s_trunc}.rev
+echo_debug "config about ${file}"
+bck_file ${file}
+
+cat ${CWD}/scripts/ipnet.rev.default > /var/tmp/ipnet.rev.default
+
+cat /var/tmp/ipnet.rev.default \
+|sed "s|__dname__|${wiz_domain_name}|g" \
+|sed "s|__hname__|${wiz_host_name}|g" \
+|sed "s|__revnet__|${reversenet}|g" \
+|sed "s|__nb__|${ds}|g" \
+> ${file}
+
+up_serial ${file}
+
+# domain.db
+file=/var/named/${wiz_domain_name}.db
+bck_file ${file}
+echo_debug "config ${file}"
+
+cat ${CWD}/scripts/domain.db.default > /var/tmp/domain.db.default
+
+cat /var/tmp/domain.db.default \
+|sed "s|__dname__|${wiz_domain_name}|g" \
+|sed "s|__hname__|${wiz_host_name}|g" \
+|sed "s|__ip__|${wiz_ip_server}|g" \
+|sed "s|__host__|${host}|g" \
+> ${file}
+
+up_serial ${file}
+
+# resolv.conf
+file=/etc/resolv.conf
+bck_file ${file}
+echo_debug "config ${file}"
+
+echo -e "\
+domain ${wiz_domain_name}\n\
+nameserver ${wiz_ip_server}\n\
+" > ${file}
+
+
+
+
+# restarting bind
+/sbin/chkconfig --level 235 named on
+/etc/rc.d/init.d/named restart
+
+
+file=/etc/sysconfig/mdk_serv
+wiz_caching_dns="1"
+chg_val ${file} wiz_caching_dns ${wiz_caching_dns} s
+# all is ok
+exit 10
+
+
+