Просмотр исходного кода

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.)
Holger Weiss 16 лет назад
Родитель
Сommit
de7191e342
3 измененных файлов с 8 добавлено и 6 удалено
  1. 1 0
      NEWS
  2. 1 0
      THANKS.in
  3. 6 6
      plugins-scripts/check_disk_smb.pl

+ 1 - 0
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 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 regression in check_http ssl checks on some servers - make SNI an option
 	Fix guest mode support in check_disk_smb
 	Fix guest mode support in check_disk_smb
+	Fix check_disk_smb failure when run via ePN
 	WARNINGS
 	WARNINGS
 	Updated developer documentation to say that performance labels should not have an equals sign or
 	Updated developer documentation to say that performance labels should not have an equals sign or
 	single quote in the label
 	single quote in the label

+ 1 - 0
THANKS.in

@@ -262,3 +262,4 @@ Jimmy Bergman
 Konstantin Khomoutov
 Konstantin Khomoutov
 Josip Rodin
 Josip Rodin
 Dann Frazier
 Dann Frazier
+Stephane Chazelas

+ 6 - 6
plugins-scripts/check_disk_smb.pl

@@ -64,27 +64,27 @@ my $smbclientoptions= $opt_P ? "-p $opt_P " : "";
 
 
 # Options checking
 # 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 ]+\$?)$/);
 my $host = $1 if ($opt_H =~ /^([-_.A-Za-z0-9 ]+\$?)$/);
 ($host) || usage("Invalid host: $opt_H\n");
 ($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]+\$?)$/);
 my $share = $1 if ($opt_s =~ /^([-_.A-Za-z0-9]+\$?)$/);
 ($share) || usage("Invalid share: $opt_s\n");
 ($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\\]+)$/);
 my $user = $1 if ($opt_u =~ /^([-_.A-Za-z0-9\\]+)$/);
 ($user) || usage("Invalid user: $opt_u\n");
 ($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 =~ /(.*)/);
 my $pass = $1 if ($opt_p =~ /(.*)/);
 $pass = "-N" if ($opt_p eq "");
 $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])$/);
 my $warn = $1 if ($opt_w =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/);
 ($warn) || usage("Invalid warning threshold: $opt_w\n");
 ($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])$/);
 my $crit = $1 if ($opt_c =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/);
 ($crit) || usage("Invalid critical threshold: $opt_c\n");
 ($crit) || usage("Invalid critical threshold: $opt_c\n");