From 0b6423f9c99d9edf8c96fefd0f6c453859395aa1 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 30 Sep 2013 00:03:24 +0200 Subject: Import Nagios Plugins site Import the Nagios Plugins web site, Cronjobs, infrastructure scripts, and configuration files. --- .../284178-34_fix_smbclient_check_disk_smb.dpatch | 138 +++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 web/attachments/284178-34_fix_smbclient_check_disk_smb.dpatch (limited to 'web/attachments/284178-34_fix_smbclient_check_disk_smb.dpatch') diff --git a/web/attachments/284178-34_fix_smbclient_check_disk_smb.dpatch b/web/attachments/284178-34_fix_smbclient_check_disk_smb.dpatch new file mode 100644 index 0000000..0e53eb1 --- /dev/null +++ b/web/attachments/284178-34_fix_smbclient_check_disk_smb.dpatch @@ -0,0 +1,138 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 34_fix_smbclient_check_disk_smb.dpatch by Jan Wagner +## patch provided by Stephane Chazelas +## +## DP: Fixes use of smbclient + +@DPATCH@ +diff -urNad nagios-plugins-1.4.12~/plugins-scripts/check_disk_smb.pl nagios-plugins-1.4.12/plugins-scripts/check_disk_smb.pl +--- nagios-plugins-1.4.12~/plugins-scripts/check_disk_smb.pl 2008-07-02 23:08:03.000000000 +0200 ++++ nagios-plugins-1.4.12/plugins-scripts/check_disk_smb.pl 2008-07-02 23:10:42.000000000 +0200 +@@ -26,17 +26,13 @@ + use vars qw($opt_P $opt_V $opt_h $opt_H $opt_s $opt_W $opt_u $opt_p $opt_w $opt_c $opt_a $verbose); + use vars qw($PROGNAME); + use lib utils.pm ; +-use utils qw($TIMEOUT %ERRORS &print_revision &support &usage); ++use utils qw($TIMEOUT %ERRORS &print_revision &support &usage &output_and_error_of); + + sub print_help (); + sub print_usage (); + + $PROGNAME = "check_disk_smb"; + +-$ENV{'PATH'}=''; +-$ENV{'BASH_ENV'}=''; +-$ENV{'ENV'}=''; +- + Getopt::Long::Configure('bundling'); + GetOptions + ("v" => \$verbose, "verbose" => \$verbose, +@@ -59,9 +55,7 @@ + + if ($opt_h) {print_help(); exit $ERRORS{'OK'};} + +-my $smbclient= "$utils::PATH_TO_SMBCLIENT " ; +-my $smbclientoptions= $opt_P ? "-p $opt_P " : ""; +- ++my $smbclient = $utils::PATH_TO_SMBCLIENT; + + # Options checking + +@@ -73,13 +67,12 @@ + my $share = $1 if ($opt_s =~ /^([-_.A-Za-z0-9]+\$?)$/); + ($share) || usage("Invalid share: $opt_s\n"); + +-($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"); ++defined($opt_u) || ($opt_u = shift @ARGV) || ($opt_u = "guest"); ++my $user = $1 if ($opt_u =~ /^([-_.A-Za-z0-9\\]*)$/); ++defined($user) || usage("Invalid user: $opt_u\n"); + +-($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = ""); ++defined($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 @ARGV) || ($opt_w = 85); + my $warn = $1 if ($opt_w =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/); +@@ -163,23 +156,19 @@ + + # Execute an "ls" on the share using smbclient program + # get the results into $res +-if (defined($workgroup)) { +- if (defined($address)) { +- print "$smbclient " . "\/\/$host\/$share" ." $pass -W $workgroup -U $user $smbclientoptions -I $address -c ls\n" if ($verbose); +- $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup -U $user $smbclientoptions -I $address -c ls/; +- } else { +- print "$smbclient " . "\/\/$host\/$share" ." $pass -W $workgroup -U $user $smbclientoptions -c ls\n" if ($verbose); +- $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup -U $user $smbclientoptions -c ls/; +- } +-} else { +- if (defined($address)) { +- print "$smbclient " . "\/\/$host\/$share" ." $pass -U $user $smbclientoptions -I $address -c ls\n" if ($verbose); +- $res = qx/$smbclient "\/\/$host\/$share" $pass -U $user $smbclientoptions -I $address -c ls/; +- } else { +- print "$smbclient " . "\/\/$host\/$share" ." $pass -U $user $smbclientoptions -c ls\n" if ($verbose); +- $res = qx/$smbclient "\/\/$host\/$share" $pass -U $user $smbclientoptions -c ls/; +- } +-} ++my @cmd = ( ++ $smbclient, ++ "//$host/$share", ++ "-U", "$user%$pass", ++ defined($workgroup) ? ("-W", $workgroup) : (), ++ defined($address) ? ("-I", $address) : (), ++ defined($opt_P) ? ("-p", $opt_P) : (), ++ "-c", "ls" ++); ++ ++print join(" ", @cmd) . "\n" if ($verbose); ++$res = output_and_error_of(@cmd) or exit $ERRORS{"UNKNOWN"}; ++ + #Turn off alarm + alarm(0); + +diff -urNad nagios-plugins-1.4.12~/plugins-scripts/utils.pm.in nagios-plugins-1.4.12/plugins-scripts/utils.pm.in +--- nagios-plugins-1.4.12~/plugins-scripts/utils.pm.in 2007-07-07 13:55:48.000000000 +0200 ++++ nagios-plugins-1.4.12/plugins-scripts/utils.pm.in 2008-07-02 23:08:04.000000000 +0200 +@@ -8,7 +8,8 @@ + + require Exporter; + @ISA = qw(Exporter); +-@EXPORT_OK = qw($TIMEOUT %ERRORS &print_revision &support &usage); ++@EXPORT_OK = qw($TIMEOUT %ERRORS &print_revision &support &usage ++ &output_of &output_and_error_of); + + #use strict; + #use vars($TIMEOUT %ERRORS); +@@ -67,4 +68,29 @@ + } + } + ++sub output_of { ++ local *CMD; ++ local $/ = undef; ++ if (open CMD, "-|", @_) { ++ return ; ++ close CMD; ++ } ++ return undef; ++} ++ ++sub output_and_error_of { ++ local *CMD; ++ local $/ = undef; ++ my $pid = open CMD, "-|"; ++ if (defined($pid)) { ++ if ($pid) { ++ return ; ++ } else { ++ open STDERR, ">&STDOUT" and exec @_; ++ exit(1); ++ } ++ } ++ return undef; ++} ++ + 1; -- cgit v1.2.3-74-g34f1