diff options
Diffstat (limited to 'client_wizard')
-rwxr-xr-x | client_wizard/Bind_client.pm | 6 | ||||
-rw-r--r-- | client_wizard/client.wiz | 368 | ||||
-rw-r--r-- | client_wizard/scripts/Clientconf.pm | 116 | ||||
-rwxr-xr-x | client_wizard/scripts/do_it_client.sh | 80 |
4 files changed, 4 insertions, 566 deletions
diff --git a/client_wizard/Bind_client.pm b/client_wizard/Bind_client.pm index 9bf84eaa..b7d065a9 100755 --- a/client_wizard/Bind_client.pm +++ b/client_wizard/Bind_client.pm @@ -2,8 +2,10 @@ # Drakwizard -# Copyright (C) 2002 Arnaud Desmons <adesmons@mandrakesoft.com> -# 2003 Florent Villard <warly@mandrakesoft.com> +# Copyright (C) 2002,2003 Mandrakesoft +# +# Authors: Arnaud Desmons <adesmons@mandrakesoft.com> +# Florent Villard <warly@mandrakesoft.com> # # 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 diff --git a/client_wizard/client.wiz b/client_wizard/client.wiz deleted file mode 100644 index e0695bce..00000000 --- a/client_wizard/client.wiz +++ /dev/null @@ -1,368 +0,0 @@ -<?xml version="1.0"?> - - -<Wizard - name="general" - libScript="__WIZ_HOME__/common/scripts/functions.sh" - wizardTitle="DNS Wizard (add client)" - imagePosition="top" - defaultImage="__WIZ_HOME__/client_wizard/images/DNS.png" - perlModule="__WIZ_HOME__/client_wizard/scripts/Clientconf.pm" - rpm="bind" -> - - <Variable - name="wiz_client_ip" - shellVariable="wiz_client_ip" - > - </Variable> - - <Variable - name="wiz_client_name" - shellVariable="wiz_client_name" - > - </Variable> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="Welcome" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - func="check" - > - - <Target - targetName="CLIENT" - jumpIndex="0" - > - </Target> - - <Target - targetName="error_need_root" - jumpIndex="1" - > - </Target> - - <Target - targetName="error_dhcp" - jumpIndex="2" - > - </Target> - - <Info - helpText="DNS Client Wizard" - > - </Info> - - - <Info - helpText="A client of your local network is a machine connected to the network having its own name and IP number." - > - </Info> - - - <Info - helpText="This wizard will help you in adding a new client in your local DNS." - > - </Info> - - <Info - helpText="The server will use the informations you enter here to make the name of the client available to other machines into your network." - > - </Info> - - <Info - helpText="Press next to begin, or Cancel to leave this wizard." - > - </Info> - </Page> - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz-web.html" - name="error_dhcp" - jumpPage="CLIENT" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - > - - <Info - helpText="Warning\nYou are in dhcp, server may not work with your configuration." - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="CLIENT" - func="test" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - > - - <Target - targetName="doit" - jumpIndex="10" - > - </Target> - - <Target - targetName="Error" - jumpIndex="1" - > - </Target> - - <Target - targetName="warning" - jumpIndex="2" - > - </Target> - - <Info - helpText="Client identification:" - > - </Info> - - - <Info - helpText="Your client on the network will be identified by name, as in clientname.company.net. Every machine on the network must have a (unique) IP address, in the usual dotted syntax." - > - </Info> - - <Info - helpText="(you don't need to type the domain after the name)" - > - </Info> - - - <Freetext - name="wiz_client_name" - variableName="wiz_client_name" - helpText="Name of the machine:" - fillfunc="name" - editable="true" - > - </Freetext> - - <Freetext - name="wiz_client_ip" - variableName="wiz_client_ip" - helpText="IP number of the machine:" - fillfunc="ip" - editable="true" - > - </Freetext> - - - <Info - helpText="Note that the given IP number and client name should be unique in the network." - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="warning" - jumpPage="doit" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - > - - <Info - helpText="Warning:" - > - </Info> - - - <Info - helpText="You have entered a machine name or an IP number already used." - > - </Info> - - <Info - helpText="Press next if you want to change the already existing value, or back to correct your choice." - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="Error" - jumpPage="CLIENT" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - > - - - <Info - helpText="This is not a valid address... press next to continue" - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="error_need_net" - subWizard="__WIZ_HOME__/server_wizard/server.wiz" - executionLevel="NORMAL" - nextFinish="false" - canBack="false" - canCancel="true" - > - - <Info - helpText="Network not configured yet" - > - </Info> - - - <Info - helpText="You have to configure the basic network parameters before launching this wizard." - > - </Info> - - <Info - helpText="Press next to configure these parameters now, or Cancel to exit this wizard." - > - </Info> - - - <Info - helpText="If you choose to configure now, you will automatically continue with the Client configuration" - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="server launcher" - jumpPage="CLIENT" - executionLevel="DEBUG" - nextFinish="false" - canBack="true" - canCancel="true" - > - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="doit" - func="do_it" - nextButtonText="Configure" - executionLevel="NORMAL" - nextFinish="false" - canBack="true" - canCancel="true" - > - - <Target - targetName="done" - jumpIndex="10" - > - </Target> - - <Target - targetName="system_error" - jumpIndex="1" - > - </Target> - - <Info - helpText="Adding a new client to your network" - > - </Info> - - - <Info - helpText="The wizard collected the following parameters -needed to add a client to your network:" - > - </Info> - - - <Freetext - name="wiz_client_name" - variableName="wiz_client_name" - helpText="Client name" - editable="false" - > - </Freetext> - - <Freetext - name="wiz_client_ip" - variableName="wiz_client_ip" - helpText="Client IP:" - editable="false" - > - </Freetext> - - - <Info - helpText="To accept these values, and add your client, click the Next button or use the Back button to correct them." - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="done" - nextButtonText="Quit" - executionLevel="NORMAL" - nextFinish="true" - canBack="false" - canCancel="false" - > - - <Info - helpText="Congratulations" - > - </Info> - - - <Info - helpText="The wizard successfully added the client." - > - </Info> - - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="error_need_root" - nextButtonText="OK" - executionLevel="NORMAL" - nextFinish="true" - canBack="false" - canCancel="true" - > - - <Info - helpText="You need to be root to run this wizard" - > - </Info> - </Page> - - <Page - helpURL="file:/usr/share/doc/mandrake/${LANG}/ref.html/wiz.html" - name="system_error" - nextButtonText="OK" - executionLevel="NORMAL" - nextFinish="true" - canBack="false" - canCancel="true" - > - - <Info - helpText="System error, no configuration done" - > - </Info> - </Page> -</Wizard> diff --git a/client_wizard/scripts/Clientconf.pm b/client_wizard/scripts/Clientconf.pm deleted file mode 100644 index b148cec8..00000000 --- a/client_wizard/scripts/Clientconf.pm +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/perl - -# Drakwizard - -# Copyright (C) 2002 MandrakeSoft Arnaud Desmons <adesmons@mandrakesoft.com> -# -# 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, or (at your option) -# any later version. -# -# 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. - -package Clientconf; -require "__WIZ_HOME__/common/scripts/Vareqval.pm"; -require "__WIZ_HOME__/common/scripts/IFCFG.pm"; -use MDK::Common; -use strict; -use standalone; - -my $o = IFCFG->new(); -my $wiz_domain_name = $o->network_get("DOMAINNAME"); -my $wiz_ip_server = $o->itf_get("IPADDR"); - -sub name { - $o->network_get("HOSTNAME"); -} - -sub ip { - $wiz_ip_server; -} - -sub check { - $> and return 1; - $o->is_dhcp() and return 2; - 0; -} - -sub get_root { - my $file = "/etc/sysconfig/named"; - if (-f $file) { - my %mdk = Vareqval->get($file); - return $mdk{ROOTDIR}; - } - ""; -} - -sub up_serial { - my ($file) = @_; - - my (undef, undef, undef, $mday, $mon, $year) = gmtime(time); - $year += 1900; - my $serial_nbm = sprintf "%4dY%2dm%2d00", $year, $mon, $mday; - output($file, map { - my $line = $_; - if (/^(\s*)(\d*)(\s*;\s*Serial.*)$/) { - my $serial_f = $2; - $serial_f++; - if ($serial_f <= $serial_nbm) { - $serial_f = $serial_nbm; - chomp($serial_f); - $line = "$1$serial_f$3\n"; - } - } - $line; - } cat_($file)); -} - -sub test { - !$ENV{wiz_client_name} and return 1; - !$ENV{wiz_client_ip} and return 1; - my $s_trunc = "$1.$2.$3" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $ds = "$4" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $dc = "$4" if $ENV{wiz_client_ip} =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $sc_trunc = "$1.$2.$3" if $ENV{wiz_client_ip} =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - !$sc_trunc and return 1; - !$dc and return 1; - !$ds and return 1; - !$s_trunc and return 1; - ($s_trunc != $sc_trunc) and return 1; - ($dc == $ds || $dc < 0 || $dc > 255) and return 1; - 10; -} - -sub do_it { - my $date = `date`; - chomp($date); - my $wiz_ip_net = "$1.$2.$3.0" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $s_trunc = "$1.$2.$3" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $ds = "$4" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $dc = "$4" if $ENV{wiz_client_ip} =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - - my $file="/var/named/$wiz_domain_name.db"; - MDK::Common::cp_af($file, $file.".orig"); - open(NEW, ">> $file") or die "can not open $file"; - print NEW "\n$ENV{wiz_client_name} IN A $ENV{wiz_client_ip} ; $date"; - close(NEW) or die "can not close $file"; - up_serial($file); - - my $file="/var/named/$s_trunc.rev"; - MDK::Common::cp_af($file, $file.".orig"); - open(NEW, ">> $file") or die "can not open $file"; - print NEW "\n$dc IN PTR $ENV{wiz_client_name}. ; $date"; - close(NEW) or die "can not close $file"; - up_serial($file); - system("/etc/rc.d/init.d/named restart"); - 10; -} -1; diff --git a/client_wizard/scripts/do_it_client.sh b/client_wizard/scripts/do_it_client.sh deleted file mode 100755 index 4a2ec587..00000000 --- a/client_wizard/scripts/do_it_client.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/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 - -echo_debug "in $0" - -wiz_ip_net=`get_var wiz_ip_net` -wiz_ip_server=`get_var wiz_ip_server` -wiz_domain_name=`get_var wiz_domain_name` -s_trunc=${wiz_ip_net%.*} -ds=${wiz_ip_server##*.} -sc_trunc=${wiz_client_ip%.*} -dc=${wiz_client_ip##*.} - -wiz_client_name=${wiz_client_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} -} - - - -file="/var/named/${wiz_domain_name}.db" - -bck_file ${file} - -echo "${wiz_client_name} IN A ${wiz_client_ip} ; $(date)" >> ${file} - -up_serial ${file} - - - -file="/var/named/${s_trunc}.rev" - -bck_file ${file} - -echo "${dc} IN PTR ${wiz_client_name}. ; $(date)" >> ${file} - -up_serial ${file} - - -/etc/rc.d/init.d/named restart - -# all seems to be ok -exit 10 |