[Pkg-nagios-changes] [pkg-nagios-plugins] 135/413: fix usage of smbclient

Jan Wagner waja at moszumanska.debian.org
Tue Nov 26 23:13:15 UTC 2013


This is an automated email from the git hooks/post-receive script.

waja pushed a commit to branch master
in repository pkg-nagios-plugins.

commit 7806d01e885ce2b368f8403662bf12d49b049803
Author: Jan Wagner <waja at cyconet.org>
Date:   Fri Jun 6 10:35:51 2008 +0000

    fix usage of smbclient
---
 debian/changelog                                   |   4 +-
 debian/patches/00list                              |   1 +
 .../patches/34_fix_smbclient_check_disk_smb.dpatch | 153 +++++++++++++++++++++
 3 files changed, 157 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 22b3c7c..87869f5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,13 +26,15 @@ nagios-plugins (1.4.12-1) UNRELEASED; urgency=low
     informations see REQUIREMENTS)
   * add 33_fix_emb_check_disk_smb.dpatch which fixes processing via embedded
     perl of check_disk_smb (Closes: #478906)
+  * add 34_fix_smbclient_check_disk_smb.dpatch which fixes usage of smbclient
+    (Closes: #478942)
 
   [ Alexander Wirt ]
   * Call smbclient with -N (supress password prompt) if no password is
     supplied. Thanks to Josip Rodin for the patch (Closes: #425129)
   * Add myself to uploaders
 
- -- Jan Wagner <waja at cyconet.org>  Sun, 04 May 2008 14:18:55 +0200
+ -- Jan Wagner <waja at cyconet.org>  Fri, 06 Jun 2008 12:25:59 +0200
 
 nagios-plugins (1.4.11-2) unstable; urgency=low
 
diff --git a/debian/patches/00list b/debian/patches/00list
index df3ef67..49af3e1 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -8,4 +8,5 @@
 27_check_radius_segfault.dpatch
 32_check_ldap_pointer.dpatch
 33_fix_emb_check_disk_smb.dpatch
+34_fix_smbclient_check_disk_smb.dpatch
 50_misc_typos.dpatch
diff --git a/debian/patches/34_fix_smbclient_check_disk_smb.dpatch b/debian/patches/34_fix_smbclient_check_disk_smb.dpatch
new file mode 100755
index 0000000..8008e51
--- /dev/null
+++ b/debian/patches/34_fix_smbclient_check_disk_smb.dpatch
@@ -0,0 +1,153 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 34_fix_smbclient_check_disk_smb.dpatch by Jan Wagner <waja at cyconet.org>
+## patch provided by Stephane Chazelas <stephane at artesyncp.com>
+##
+## DP: Fixes use of smbclient
+
+ at 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-06-06 12:19:16.000000000 +0200
++++ nagios-plugins-1.4.12/plugins-scripts/check_disk_smb.pl	2008-06-06 12:19:16.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
+ 
+diff -urNad nagios-plugins-1.4.12~/plugins-scripts/check_disk_smb.pl.rej nagios-plugins-1.4.12/plugins-scripts/check_disk_smb.pl.rej
+--- nagios-plugins-1.4.12~/plugins-scripts/check_disk_smb.pl.rej	1970-01-01 01:00:00.000000000 +0100
++++ nagios-plugins-1.4.12/plugins-scripts/check_disk_smb.pl.rej	2008-06-06 12:19:16.000000000 +0200
+@@ -0,0 +1,66 @@
++***************
++*** 72,80 ****
++  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");
++  
++  ($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = "");
++  my $pass = $1 if ($opt_p =~ /(.*)/);
++--- 66,74 ----
++  my $share = $1 if ($opt_s =~ /^([-_.A-Za-z0-9]+\$?)$/);
++  ($share) || usage("Invalid share: $opt_s\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 = "");
++  my $pass = $1 if ($opt_p =~ /(.*)/);
++***************
++*** 162,184 ****
++  
++  # 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/;
++- 	}
++- }
++  #Turn off alarm
++  alarm(0);
++  
++--- 156,174 ----
++  
++  # Execute an "ls" on the share using smbclient program
++  # get the results into $res
+++ 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-06-06 12:21:06.000000000 +0200
+@@ -8,7 +8,8 @@
+ 
+ require Exporter;
+ @ISA = qw(Exporter);
+- at EXPORT_OK = qw($TIMEOUT %ERRORS &print_revision &support &usage);
++ at 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 <CMD>;
++		close CMD;
++	}
++	return undef;
++}
++
++sub output_and_error_of {
++	local *CMD;
++	local $/ = undef;
++	my $pid = open CMD, "-|";
++	if (defined($pid)) {
++		if ($pid) {
++			return <CMD>;
++		} else {
++			open STDERR, ">&STDOUT" and exec @_;
++			exit(1);
++		}
++	}
++	return undef;
++}
++
+ 1;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-nagios/pkg-nagios-plugins.git



More information about the Pkg-nagios-changes mailing list