diff options
Diffstat (limited to 'client_wizard/scripts/Clientconf.pm')
-rw-r--r-- | client_wizard/scripts/Clientconf.pm | 116 |
1 files changed, 0 insertions, 116 deletions
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; |