From 7a661c7aed2a0bad4ce1e3786bc707cd2b07c128 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 12 Apr 2010 15:36:33 +0200 Subject: [PATCH] Fix Debian bug #545940: Failure when run via ePN If Perl's "shift" function is called outside of a subroutine and without any argument, it usually shifts @ARGV. However, if a plugin is executed via ePN, such a call will shift @_ instead, so we must explicitly specify @ARGV for this to work as expected. This fixes Debian bug #545940, see: http://bugs.debian.org/545940 Commit de7191e3424e02ba278a39b86e8b1906a25d0362 fixed the same issue for check_disk_smb. (Reported by Hendrik Jaeger, forwarded by Jan Wagner.) --- NEWS | 2 +- plugins-scripts/check_ircd.pl | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 99d48e9..62a1acb 100644 --- a/NEWS +++ b/NEWS @@ -16,7 +16,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 + Fix check_disk_smb and check_ircd failures when run via ePN check_ldap now allows for specifying an empty LDAP base WARNINGS Updated developer documentation to say that performance labels should not have an equals sign or diff --git a/plugins-scripts/check_ircd.pl b/plugins-scripts/check_ircd.pl index 3fbce2e..42a9bca 100755 --- a/plugins-scripts/check_ircd.pl +++ b/plugins-scripts/check_ircd.pl @@ -187,19 +187,19 @@ MAIN: if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - ($opt_H) || ($opt_H = shift) || usage("Host name/address not specified\n"); + ($opt_H) || ($opt_H = shift @ARGV) || usage("Host name/address not specified\n"); my $remotehost = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/); ($remotehost) || usage("Invalid host: $opt_H\n"); - ($opt_w) || ($opt_w = shift) || ($opt_w = 50); + ($opt_w) || ($opt_w = shift @ARGV) || ($opt_w = 50); my $warn = $1 if ($opt_w =~ /^([0-9]+)$/); ($warn) || usage("Invalid warning threshold: $opt_w\n"); - ($opt_c) || ($opt_c = shift) || ($opt_c = 100); + ($opt_c) || ($opt_c = shift @ARGV) || ($opt_c = 100); my $crit = $1 if ($opt_c =~ /^([0-9]+)$/); ($crit) || usage("Invalid critical threshold: $opt_c\n"); - ($opt_p) || ($opt_p = shift) || ($opt_p = 6667); + ($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = 6667); my $remoteport = $1 if ($opt_p =~ /^([0-9]+)$/); ($remoteport) || usage("Invalid port: $opt_p\n"); -- 2.30.2