diff options
Diffstat (limited to 'dns_wizard/scripts/check_ext_dns.sh')
-rwxr-xr-x | dns_wizard/scripts/check_ext_dns.sh | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/dns_wizard/scripts/check_ext_dns.sh b/dns_wizard/scripts/check_ext_dns.sh new file mode 100755 index 00000000..e62c55b7 --- /dev/null +++ b/dns_wizard/scripts/check_ext_dns.sh @@ -0,0 +1,82 @@ +#!/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 external dns configuration +# +# checking if the provided network address is correct + +# ip is tested as ip=a.b.c.d + +if [ -n "${wiz_ext_dns1}" ]; then + +a=${wiz_ext_dns1%%.*} +b=`echo ${wiz_ext_dns1}|sed -n -e 's/^[0-9]\{1,3\}\.\([0-9]\{1,3\}\)\..*$/\1/p'` +c=`echo ${wiz_ext_dns1}|sed -n -e 's/^[0-9]\{1,3\}\.[0-9]\{1,3\}\.\([0-9]\{1,3\}\)\..*$/\1/p'` +d=${wiz_ext_dns1##*.} + +echo_debug "ip1 -$a-$b-$c-$d-" + +if [ -z "$a" -o -z "$b" -o -z "$c" -o -z "$d" ]; then + echo_debug "incomplete ip" + exit 1 +fi + +if [ $a -gt 255 -o $b -gt 255 -o $c -gt 255 -o $d -gt 255 ]; then + echo_debug "not a network ip" + exit 1 +fi + +fi + + +if [ -n "${wiz_ext_dns2}" ]; then + +a=${wiz_ext_dns2%%.*} +b=`echo ${wiz_ext_dns2}|sed -n -e 's/^[0-9]\{1,3\}\.\([0-9]\{1,3\}\)\..*$/\1/p'` +c=`echo ${wiz_ext_dns2}|sed -n -e 's/^[0-9]\{1,3\}\.[0-9]\{1,3\}\.\([0-9]\{1,3\}\)\..*$/\1/p'` +d=${wiz_ext_dns2##*.} + +echo_debug "ip2 -$a-$b-$c-$d-" + +if [ -z "$a" -o -z "$b" -o -z "$c" -o -z "$d" ]; then + echo_debug "incomplete ip" + exit 1 +fi + +if [ $a -gt 255 -o $b -gt 255 -o $c -gt 255 -o $d -gt 255 ]; then + echo_debug "not a network ip" + exit 1 +fi + +fi + +if [ -z "${wiz_ext_dns1}" -a -z "${wiz_ext_dns2}" ]; then + echo_debug "warning, no DNS address" + exit 2 +fi + + +# all seems to be ok +exit 10 |