Retrieve Serial Number and device type for CheckPoint (#358)
* Retrieve Serial Number and device type for CheckPoint devices at right place in MIB * Retrieve Serial Number and device type for CheckPoint * Retrieve Serial Number and device type for CheckPoint * Test not correct with cache data
This commit is contained in:
@@ -54,6 +54,10 @@ $VERSION = '3.68';
|
|||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
'netsnmp_vers' => 'versionTag',
|
'netsnmp_vers' => 'versionTag',
|
||||||
'hrSystemUptime' => 'hrSystemUptime',
|
'hrSystemUptime' => 'hrSystemUptime',
|
||||||
|
'serial_number' => 'svnApplianceSerialNumber',
|
||||||
|
'product_name' => 'svnApplianceProductName',
|
||||||
|
'manufacturer' => 'svnApplianceManufacturer',
|
||||||
|
'version' => 'svnVersion',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
@@ -68,8 +72,14 @@ $VERSION = '3.68';
|
|||||||
);
|
);
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
|
my $ckp = shift;
|
||||||
|
|
||||||
|
if (defined $ckp->manufacturer) {
|
||||||
|
return $ckp->manufacturer;
|
||||||
|
} else {
|
||||||
return 'checkpoint';
|
return 'checkpoint';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
my $ckp = shift;
|
my $ckp = shift;
|
||||||
@@ -77,7 +87,9 @@ sub model {
|
|||||||
|
|
||||||
my $model = &SNMP::translateObj($id);
|
my $model = &SNMP::translateObj($id);
|
||||||
|
|
||||||
if (defined $model) {
|
if (defined $ckp->product_name) {
|
||||||
|
return $ckp->product_name;
|
||||||
|
} elsif (defined $model) {
|
||||||
$model =~ s/^checkPoint//;
|
$model =~ s/^checkPoint//;
|
||||||
return $model;
|
return $model;
|
||||||
} else {
|
} else {
|
||||||
@@ -91,6 +103,9 @@ sub os {
|
|||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $ckp = shift;
|
my $ckp = shift;
|
||||||
|
if (defined $ckp->version) {
|
||||||
|
return $ckp->version;
|
||||||
|
} else {
|
||||||
my $extend_table = $ckp->extend_output_table() || {};
|
my $extend_table = $ckp->extend_output_table() || {};
|
||||||
|
|
||||||
my $descr = $ckp->description();
|
my $descr = $ckp->description();
|
||||||
@@ -110,12 +125,16 @@ sub os_ver {
|
|||||||
$os_ver = "???" unless defined($os_ver);
|
$os_ver = "???" unless defined($os_ver);
|
||||||
$os_ver .= " / Net-SNMP " . $vers;
|
$os_ver .= " / Net-SNMP " . $vers;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $os_ver;
|
return $os_ver;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub serial {
|
sub serial {
|
||||||
my $ckp = shift;
|
my $ckp = shift;
|
||||||
|
|
||||||
|
if (defined $ckp->serial_number) {
|
||||||
|
return $ckp->serial_number;
|
||||||
|
} else {
|
||||||
my $extend_table = $ckp->extend_output_table() || {};
|
my $extend_table = $ckp->extend_output_table() || {};
|
||||||
|
|
||||||
foreach my $ex (keys %$extend_table) {
|
foreach my $ex (keys %$extend_table) {
|
||||||
@@ -125,7 +144,7 @@ sub serial {
|
|||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ sub setup : Tests(setup) {
|
|||||||
# CHECKPOINT-MIB::fw
|
# CHECKPOINT-MIB::fw
|
||||||
'_id' => '.1.3.6.1.4.1.2620.1.1',
|
'_id' => '.1.3.6.1.4.1.2620.1.1',
|
||||||
'store' => {},
|
'store' => {},
|
||||||
|
'_serial_number' => '0123456789abcdef',
|
||||||
|
'_product_name' => 'Check Point 12200',
|
||||||
|
'_manufacturer' => 'Checkpoint',
|
||||||
|
'_version' => 'R80.20',
|
||||||
};
|
};
|
||||||
$test->{info}->cache($cache_data);
|
$test->{info}->cache($cache_data);
|
||||||
}
|
}
|
||||||
@@ -68,14 +72,28 @@ sub vendor : Tests(2) {
|
|||||||
my $test = shift;
|
my $test = shift;
|
||||||
|
|
||||||
can_ok($test->{info}, 'vendor');
|
can_ok($test->{info}, 'vendor');
|
||||||
is($test->{info}->vendor(), 'checkpoint', q(Vendor returns 'checkpoint'));
|
is($test->{info}->vendor(), 'Checkpoint', q(Vendor returns 'Checkpoint'));
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver : Tests(2) {
|
||||||
|
my $test = shift;
|
||||||
|
|
||||||
|
can_ok($test->{info}, 'os_ver');
|
||||||
|
is($test->{info}->os_ver(), 'R80.20',q(OS Version return 'R80.20'));
|
||||||
|
}
|
||||||
|
|
||||||
|
sub serial : Tests(2) {
|
||||||
|
my $test = shift;
|
||||||
|
|
||||||
|
can_ok($test->{info}, 'serial');
|
||||||
|
is($test->{info}->serial(), '0123456789abcdef', q(Serial returns '0123456789abcdef'));
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model : Tests(3) {
|
sub model : Tests(3) {
|
||||||
my $test = shift;
|
my $test = shift;
|
||||||
|
|
||||||
can_ok($test->{info}, 'model');
|
can_ok($test->{info}, 'model');
|
||||||
is($test->{info}->model(), 'fw', q(Model is expected value));
|
is($test->{info}->model(), 'Check Point 12200', q(Model is expected value));
|
||||||
|
|
||||||
$test->{info}->clear_cache();
|
$test->{info}->clear_cache();
|
||||||
is($test->{info}->model(), undef, q(No description returns undef model));
|
is($test->{info}->model(), undef, q(No description returns undef model));
|
||||||
|
|||||||
Reference in New Issue
Block a user