aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2010-04-11 09:54:10 +0200
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2010-04-11 09:54:10 +0200
commitde7191e3424e02ba278a39b86e8b1906a25d0362 (patch)
tree71ac9b1b6c41db047f615b6b691a12e0aebf9e8e
parent1fe0f16d34e369f1a9e2dbefe1acc7448a1e1b53 (diff)
downloadmonitoring-plugins-de7191e3424e02ba278a39b86e8b1906a25d0362.tar.gz
Fix Debian bug #478906: Failure when run via ePN
| When perl plugin scripts are run with the embedded perl interpreter in | nagios3, the "shift" perl command doesn't shift @ARGV, but @_ (which | happens to contain the same thing as @ARGV at the time the script was | started). | | [...] | | A fix is to replace all the instances of "shift" with "shift @ARGV". [ http://bugs.debian.org/478906 ] (Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
-rw-r--r--NEWS1
-rw-r--r--THANKS.in1
-rwxr-xr-xplugins-scripts/check_disk_smb.pl12
3 files changed, 8 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 5827db69..7efebbd7 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,7 @@ This file documents the major additions and syntax changes between releases.
Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
Fix regression in check_http ssl checks on some servers - make SNI an option
Fix guest mode support in check_disk_smb
+ Fix check_disk_smb failure when run via ePN
WARNINGS
Updated developer documentation to say that performance labels should not have an equals sign or
single quote in the label
diff --git a/THANKS.in b/THANKS.in
index cc6e1941..f62a4d8e 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -262,3 +262,4 @@ Jimmy Bergman
Konstantin Khomoutov
Josip Rodin
Dann Frazier
+Stephane Chazelas
diff --git a/plugins-scripts/check_disk_smb.pl b/plugins-scripts/check_disk_smb.pl
index 022fa505..ca593d46 100755
--- a/plugins-scripts/check_disk_smb.pl
+++ b/plugins-scripts/check_disk_smb.pl
@@ -64,27 +64,27 @@ my $smbclientoptions= $opt_P ? "-p $opt_P " : "";
# Options checking
-($opt_H) || ($opt_H = shift) || usage("Host name not specified\n");
+($opt_H) || ($opt_H = shift @ARGV) || usage("Host name not specified\n");
my $host = $1 if ($opt_H =~ /^([-_.A-Za-z0-9 ]+\$?)$/);
($host) || usage("Invalid host: $opt_H\n");
-($opt_s) || ($opt_s = shift) || usage("Share volume not specified\n");
+($opt_s) || ($opt_s = shift @ARGV) || usage("Share volume not specified\n");
my $share = $1 if ($opt_s =~ /^([-_.A-Za-z0-9]+\$?)$/);
($share) || usage("Invalid share: $opt_s\n");
-($opt_u) || ($opt_u = shift) || ($opt_u = "guest");
+($opt_u) || ($opt_u = shift @ARGV) || ($opt_u = "guest");
my $user = $1 if ($opt_u =~ /^([-_.A-Za-z0-9\\]+)$/);
($user) || usage("Invalid user: $opt_u\n");
-($opt_p) || ($opt_p = shift) || ($opt_p = "");
+($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = "");
my $pass = $1 if ($opt_p =~ /(.*)/);
$pass = "-N" if ($opt_p eq "");
-($opt_w) || ($opt_w = shift) || ($opt_w = 85);
+($opt_w) || ($opt_w = shift @ARGV) || ($opt_w = 85);
my $warn = $1 if ($opt_w =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/);
($warn) || usage("Invalid warning threshold: $opt_w\n");
-($opt_c) || ($opt_c = shift) || ($opt_c = 95);
+($opt_c) || ($opt_c = shift @ARGV) || ($opt_c = 95);
my $crit = $1 if ($opt_c =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/);
($crit) || usage("Invalid critical threshold: $opt_c\n");