diff options
Diffstat (limited to 'common/scripts/IFCFG.pm')
-rw-r--r-- | common/scripts/IFCFG.pm | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/common/scripts/IFCFG.pm b/common/scripts/IFCFG.pm deleted file mode 100644 index e86128d1..00000000 --- a/common/scripts/IFCFG.pm +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/perl - -# Interfaces Conf 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 IFCFG; -use strict; -use lib qw(/usr/lib/libDrakX); -use Data::Dumper; -use MDK::Common; -use network::network; - -#my $file = "/etc/sysconfig/network-scripts/drakconnect_conf"; -#!-f $file and die "no such $file"; -sub new { - my $self = {}; - - $ENV{PATH} = ""; - my $ifconfig = `LC_ALL=C /sbin/ifconfig -a`; - my $device = 'NONE'; - my @interfaces; - foreach (split('\n', $ifconfig)) { - my ($temp) = /(^eth[0-9]*:?[0-9]*).*/; - $device = $temp if defined $temp; - my ($ip, $bcast, $netmask) = /\s*inet addr:([0-9\.]*)\s*Bcast:([0-9\.]*)\s*Mask:([0-9\.]*).*/; - if (defined $ip && defined $bcast && defined $netmask) { - $self->{itf}{$device} = {IPADDR => $ip, BROADCAST => $bcast, NETMASK => $netmask}; - my %conf = getVarsFromSh("/etc/sysconfig/network-scripts/ifcfg-$device"); - $self->{itf}{$device}{$_} = $conf{$_} foreach ('BOOTPROTO'); - } - } - %{$self->{network}} = getVarsFromSh("/etc/sysconfig/network"); - my $r = read_resolv_conf(); - foreach my $k (keys %$r) { - $self->{network}{$k} ||= $r->{$k} - } - $self->{network}{HOSTNAME} ||= `/bin/hostname` and chomp $self->{network}{HOSTNAME}; - ($self->{network}{DOMAINNAME}) = $self->{network}{HOSTNAME} =~ /\.(.*)/; - $self->{network}{DOMAINNAME} ||= `/bin/dnsdomainname` and chomp $self->{network}{DOMAINNAME}; - bless $self; -} - -sub is_dhcp { - my $self = shift; - my ($itf) = @_; - - $itf ||= default_itf(); - $self->{itf}{$itf}{BOOTPROTO} eq 'dhcp'; -} - -#- TODO : return the main interface -sub default_itf { - "eth0"; -} - -sub itf_get { - my $self = shift; - my ($key, $itf) = @_; - - $itf ||= default_itf; - exists $self->{itf}{$itf}{$key} or die "no $key field in $itf hash"; - $self->{itf}{$itf}{$key} -} - -sub network_get { - my $self = shift; - my ($key) = @_; - - exists $self->{network}{$key} or die "no $key field in network hash"; - $self->{network}{$key}; -} - -10; |