summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/scripts/DrakconnectConf.pm26
1 files changed, 20 insertions, 6 deletions
diff --git a/common/scripts/DrakconnectConf.pm b/common/scripts/DrakconnectConf.pm
index 9b9a4e06..80ddbbfb 100644
--- a/common/scripts/DrakconnectConf.pm
+++ b/common/scripts/DrakconnectConf.pm
@@ -4,27 +4,40 @@ package DrakconnectConf;
require "__WIZ_HOME__/common/scripts/Vareqval.pm";
use strict;
+my $file = "/etc/sysconfig/network-scripts/drakconnect_conf";
sub new {
my $self = {};
- my %mdk = Vareqval->get("/etc/sysconfig/network-scripts/drakconnect_conf");
+ my %mdk = Vareqval->get($file);
$self->{mdk} = \%mdk;
foreach (keys %{$self->{mdk}}) {
if (/.*(Eth\d)Known.*/) {
my $device = $1;
- if ($self->{mdk}{$_} =~ /.*true.*/) {
- $self->{device} = $device;
- }
+ $self->{mdk}{$_} =~ /.*true.*/ and $self->{device} = $device;
}
}
+ !$self->{device} and return -1;
bless $self;
}
+sub get_device {
+ my $self = shift;
+
+ $self->{device};
+}
+
+sub is_dhcp {
+ my $self = shift;
+
+ $self->get_from_known_dev("BootProto") =~ /.*dhcp.*/;
+}
+
sub get {
my $self = shift;
my $key = shift;
- return $self->{mdk}->{$key};
+ exists $self->{mdk}->{$key} or die "no $key field in $file";
+ $self->{mdk}->{$key};
}
sub get_from_known_dev {
@@ -32,5 +45,6 @@ sub get_from_known_dev {
my $arg = shift;
my $device = $self->{device};
- return $self->{mdk}{$device.$arg};
+ exists $self->{mdk}{$device.$arg} or die "no $arg for $device in $file";
+ $self->{mdk}{$device.$arg};
}