diff options
Diffstat (limited to 'web/attachments/263441-check_mailq-add-sudo.patch')
-rw-r--r-- | web/attachments/263441-check_mailq-add-sudo.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/web/attachments/263441-check_mailq-add-sudo.patch b/web/attachments/263441-check_mailq-add-sudo.patch new file mode 100644 index 0000000..dff08c3 --- /dev/null +++ b/web/attachments/263441-check_mailq-add-sudo.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | diff -Naur /home/qqnagio/software/nagios/nagios-plugins-1.4.11/plugins-scripts/check_mailq.pl /home/qqnagio/software/nagios/nagios-plugins-1.4.11.sudomailq/plugins-scripts/check_mailq.pl | ||
2 | --- /home/qqnagio/software/nagios/nagios-plugins-1.4.11/plugins-scripts/check_mailq.pl 2006-07-05 15:45:57.000000000 +0200 | ||
3 | +++ /home/qqnagio/software/nagios/nagios-plugins-1.4.11.sudomailq/plugins-scripts/check_mailq.pl 2008-01-23 14:52:01.556368612 +0100 | ||
4 | @@ -62,12 +62,29 @@ | ||
5 | }; | ||
6 | alarm($opt_t); | ||
7 | |||
8 | +# if there is an entry in the sudoers file which allows the caller of this | ||
9 | +# plugin to execute the $utils::PATH_TO_MAILQ command with superuser privileges | ||
10 | +# then prepend $utils::PATH_TO_MAILQ with "sudo " | ||
11 | + | ||
12 | +sub sudoize { | ||
13 | + my $ppath_to_mailq = shift; | ||
14 | + if (grep(/$$ppath_to_mailq/, | ||
15 | + map { s/^\s+//g; s/\s+$//g; $_; } | ||
16 | + map { split /, / } | ||
17 | + map { s/^.*?://g; $_; } | ||
18 | + do { local (@ARGV) = "/usr/bin/sudo -l |"; <> })) { | ||
19 | + $$ppath_to_mailq = "/usr/bin/sudo ".$$ppath_to_mailq; | ||
20 | + } | ||
21 | +} | ||
22 | + | ||
23 | + | ||
24 | # switch based on MTA | ||
25 | |||
26 | if ($mailq eq "sendmail") { | ||
27 | |||
28 | ## open mailq | ||
29 | if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { | ||
30 | + sudoize(\$utils::PATH_TO_MAILQ); | ||
31 | if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { | ||
32 | print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; | ||
33 | exit $ERRORS{'UNKNOWN'}; | ||
34 | @@ -297,6 +314,7 @@ | ||
35 | |||
36 | ## open mailq | ||
37 | if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { | ||
38 | + sudoize(\$utils::PATH_TO_MAILQ); | ||
39 | if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { | ||
40 | print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; | ||
41 | exit $ERRORS{'UNKNOWN'}; | ||
42 | @@ -379,6 +397,7 @@ | ||
43 | |||
44 | # open qmail-qstat | ||
45 | if ( defined $utils::PATH_TO_QMAIL_QSTAT && -x $utils::PATH_TO_QMAIL_QSTAT ) { | ||
46 | + sudoize(\$utils::PATH_TO_MAILQ); | ||
47 | if (! open (MAILQ, "$utils::PATH_TO_QMAIL_QSTAT | " ) ) { | ||
48 | print "ERROR: could not open $utils::PATH_TO_QMAIL_QSTAT \n"; | ||
49 | exit $ERRORS{'UNKNOWN'}; | ||
50 | @@ -461,6 +480,7 @@ | ||
51 | elsif ( $mailq eq "exim" ) { | ||
52 | ## open mailq | ||
53 | if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { | ||
54 | + sudoize(\$utils::PATH_TO_MAILQ); | ||
55 | if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { | ||
56 | print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; | ||
57 | exit $ERRORS{'UNKNOWN'}; | ||