Age | Commit message (Collapse) | Author | Files | Lines |
|
Closes #1205.
|
|
This fixes an issue that appears when running check_procs over NRPE,
where the default shell is configured to (for example) dash, as is the
case on Debian.
dash (and tcsh, and mksh, and probably others), when invoked with -c forks an additional process
to execute the argument string. Contrast this with bash, which does not
do this, provided that the argument string simply can be exec()'d as-is.
To demonstrate:
$ bash -c pstree
init─┬ ..
...
├─sshd─-─sshd───pstree
versus
$ dash -c pstree
init─┬ ..
...
├─sshd─-─sshd───dash───pstree
The consequence of this fork is that the following invocation:
/opt/plugins/check_procs -a init
will result in this output:
PROCS OK: 2 processes with args 'init' | processes=2;;;0;
because the check_procs, in addition to finding the actual init process,
finds its parent shell as well.
This example is a bit contrived, but I think it illustrates the
point.
This wouldn't really be a problem, and normally isn't, if it weren't
for the fact that NRPE uses a call to popen() which does exactly the
above (executes '/bin/sh -c ...'), causing inconsistent behaviour
between distributions and much confusion for end users.
The argument may be made that the dash process spawned by NRPE is just a
process like any other, and should therefore be included in the process
count just like any other. However, this is not very intuitive, because
of the previously mentioned inconsistencies.
The argument might also well be made that we're _never_ interested in the
immediate ancestor of the plugin, and while it is unknown how many
installations have already made the necessary modifications to their
setups to make up for the fact that the plugin behaves the way it does,
it is not deemed worthwhile to entertain such workarounds.
Thus, this patch ignores the parent process.
See also these bug reports:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626913
http://sourceforge.net/p/nagiosplug/bugs/512/
https://github.com/nagios-plugins/nagios-plugins/issues/999
https://bugs.op5.com/view.php?id=4398
|
|
Fix the Test::Simple tutorial URL.
|
|
We don't run a Tinderbox instance anymore. (Noted by "zathras" on IRC.)
|
|
Add a note regarding the removal of the "contrib" directory to the NEWS
file. This note is missing from the NEWS file shipped with the 1.5
release, though.
|
|
|
|
We moved from CVS to Git.
|
|
We moved our stuff from CVS/SourceForge to Git/GitHub.
|
|
We moved our stuff from CVS/SourceForge to Git/GitHub.
|
|
We moved the Nagios Plugins site from SourceForge to our project server.
|
|
We moved our stuff from CVS/SourceForge to Git/GitHub.
|
|
Add all new Git commit authors to the THANKS.in file.
|
|
|
|
|
|
|
|
Testing "nagiosplugins.org" will currently not work.
|
|
Add the tools/generate-change-log script for auto-generating the
ChangeLog file from the Git history when running "make dist".
|
|
We moved our web site away from Drupal and the snapshots/guidelines away
from SourceForge. The new infrastructure scripts will be maintained in
a separate repository together with the Markdown source of the new web
site.
|
|
We no longer mirror out Git repositories into Subversion.
|
|
Fixes issue where if an SSL initialization error occurs on a redirect
using -f follow the plugin still returns an OK state.
Closes #1159.
|
|
- Write "plugin" instead of "plug-in".
- Write "development guidelines" instead of "developer guidelines"
- Capitalize "Nagios Plugin Development Guidelines".
|
|
|
|
|
|
Add a symlink so that GitHub renders the README file as Markdown.
|
|
|
|
The BUGS file wasn't maintained properly anymore. And doing so makes no
sense. That's what the bug tracker is for.
|
|
Use the Markdown format for the README file and apply various minor
cosmetic changes.
|
|
|
|
Since commit 912df3ef9b188c82893dace1e9b56c42a558fdba, check_pgsql
exited UNKNOWN instead of OK if the new --query option was *not*
specified. This bug is fixed now.
|
|
Tests sometimes fila when running multiple parallel tests using the
same cache file because it is written everytime a test parameter
is read. Since there is no locking, this might fail from time to time.
|
|
average value
|
|
newer (or x86) solaris implementations have interface names like e1000g0
which includes numbers. So we reverse the interface number detection to
get the last number, instead of the first number.
|
|
|
|
|
|
some systems do not expand the path automatically.
|
|
solaris netcat does not listen in udp mode due to
http://sourceforge.net/p/netcat/bugs/27/
|
|
|
|
the reason why it still worked sometimes was fsu_blocks beeing uninitialized
which resulted in a true test sometimes.
|
|
|
|
at least on freebsd, there are a processes with state 'S', they always
use two character status.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if check_imap expects a string that never occurs, it currently waits forever
because thats how the imap protocoll works. Use a receive timeout in that case
so we can exit early with a proper error message.
|
|
freebsds ping takes a few seconds till it returns, so a 1 second timeout does
not work for the test.
|
|
check_load parses load from the uptime command if no proc filesystem is available. Seems
like there are at least 2 different uptime outputs.
linux:
20:44:34 up 25 days, 2:07, 13 users, load average: 0.13, 0.17, 0.22
freebsd 8:
8:44PM up 4:29, 1 user, load averages: 0.00, 0.00, 0.00
|