diff options
Diffstat (limited to 'dns_wizard/scripts/Dnsconf.pm')
-rw-r--r-- | dns_wizard/scripts/Dnsconf.pm | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/dns_wizard/scripts/Dnsconf.pm b/dns_wizard/scripts/Dnsconf.pm deleted file mode 100644 index 4b8b66b0..00000000 --- a/dns_wizard/scripts/Dnsconf.pm +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/perl - -# DNS Config Parser - -# 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 Dnsconf; -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 $dns1; -my $dns2; - -sub get_root { - my $file = "/etc/sysconfig/named"; - if (-f $file) { - my %mdk = Vareqval->get($file); - return $mdk{ROOTDIR}; - } - ""; -} - -my $file = "/etc/named.conf"; -if (-f $file) { - open (NEW, "< $file"); - DNS : while (<NEW>) { - $dns2 = ""; - if (m/^\s*options\s*\{/s...m/^\s*\}\;/s ) { - if (m/^\s*forwarders\s*\{/s...m/^\s*\}\;/s ) { - if (/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/) { - $dns2 = "$1.$2.$3.$4"; - $dns1 and next DNS; - $dns1 = $dns2; - } - } - } - } - close (NEW); -} - -sub get_dns1 { - $dns1; -} - -sub get_dns2 { - $dns2; -} - -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 do_it { - my $wiz_ip_server = $o->itf_get("IPADDR"); - my $wiz_domain_name = $o->network_get("DOMAINNAME"); - my $wiz_host_name = $o->network_get("HOSTNAME"); - 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 $host = "$1" if $wiz_host_name =~ /(.*?)\..*/; - my $reversnet = "$3$2$1" if $wiz_ip_server =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; - my $file = "/etc/host.conf"; - - MDK::Common::cp_af($file, $file.".orig"); - MDK::Common::cp_af("__WIZ_HOME__/dns_wizard/scripts/host.conf.default", $file); - - $file = "/etc/named.conf"; - -f $file and MDK::Common::cp_af($file, $file.".orig"); - - my $ispns1 = $ENV{wiz_ext_dns1} || "// __ISPN1__"; - my $ispns2 = $ENV{wiz_ext_dns2} || "// __ISPN2__"; - - output($file, map { - s|__ISPNS1__|$ispns1|g; - s|__ISPNS2__|$ispns2|g; - s|__dname__|$wiz_domain_name|g; - s|__revnet__|$reversnet|g; - s|__net__|$s_trunc|g; - $_; - } cat_("__WIZ_HOME__/dns_wizard/scripts/named.conf.default")); - - standalone::explanations("$file : DNS1: $ispns1 DNS2: $ispns2"); -# Bug fix for bind 9: - if (! -f "/etc/rndc.key") { system("touch /etc/rndc.key") or die "can not touch /etc/rndc.key"}; - -# root.hints - $file="/var/named/root.hints"; - -f $file and MDK::Common::cp_af($file, $file . ".orig"); - MDK::Common::cp_af("__WIZ_HOME__/dns_wizard/scripts/root.hints.default", $file); - standalone::explanations("$file clobbered"); -# 127.0.0.rev - $file="/var/named/127.0.0.rev"; - -f $file and MDK::Common::cp_af($file, $file . ".orig"); - output($file, map { - s|__hname__|$wiz_host_name|g; - $_; - } cat_("__WIZ_HOME__/dns_wizard/scripts/127.0.0.rev.default")); - standalone::explanations("$file : hostname: $wiz_host_name"); - up_serial($file); - -# $ipnet.rev - $file = "/var/named/$s_trunc.rev"; - -f $file and MDK::Common::cp_af($file, $file.".orig"); - output($file, map { - s|__dname__|$wiz_domain_name|g; - s|__hname__|$wiz_host_name|g; - s|__revnet__|$reversnet|g; - s|__nb__|$ds|g; - $_; - } cat_("__WIZ_HOME__/dns_wizard/scripts/ipnet.rev.default")); - up_serial($file); - standalone::explanations("$file : domain: $wiz_domain_name hostname: $wiz_host_name revnet: $reversnet -nb: $ds"); -# $domain.db - $file = "/var/named/$wiz_domain_name.db"; - -f $file and MDK::Common::cp_af($file, $file.".orig"); - output($file, map { - s|__dname__|$wiz_domain_name|g; - s|__hname__|$wiz_host_name|g; - s|__ip__|$wiz_ip_server|g; - s|__host__|$host|g; - s|__nb__|$ds|g; - $_; - } cat_("__WIZ_HOME__/dns_wizard/scripts/domain.db.default")); - up_serial($file); - standalone::explanations("$file : domain: $wiz_domain_name hostname: $wiz_host_name revnet: $reversnet -nb: $ds"); -# resolv.conf - $file = "/etc/resolv.conf"; - -f $file and MDK::Common::cp_af($file, $file.".orig"); - open(NEW, "> $file"); - print NEW "domain $wiz_domain_name\n"; - print NEW "nameserver $wiz_ip_server\n"; - standalone::explanations("$file : domain: $wiz_domain_name nameserver: $wiz_ip_server"); - system("/sbin/chkconfig --level 235 named on"); - system("/etc/rc.d/init.d/named restart"); - 10; -} -1; |