Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
Testing "nagiosplugins.org" will currently not work.
|
|
Fixes issue where if an SSL initialization error occurs on a redirect
using -f follow the plugin still returns an OK state.
Closes #1159.
|
|
Since commit 912df3ef9b188c82893dace1e9b56c42a558fdba, check_pgsql
exited UNKNOWN instead of OK if the new --query option was *not*
specified. This bug is fixed now.
|
|
average value
|
|
|
|
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
|
|
nc.traditional is available on (at least) ubuntu systems and uses traditional nc syntax
|
|
|
|
older netcats do not understand -p, they expect host and port as additional argument.
This is backwards compatibel to newer clients. Also support netcat instead of nc.
|
|
fping v2.4b2 returns
10.99.0.1 : xmt/rcv/%loss = 0/0/0%
for a failed host, so we assume the host is down if xmt is zero
|
|
|
|
|
|
Commit e8044713d41f5ef1d9ce814df4a079d8f92306b0 broke check_tcp checks
without --expect string, this commit fixes that regression.
|
|
The np_expect_match() function now returns one of three possible states
instead of just TRUE or FALSE:
- NP_MATCH_SUCCESS
- NP_MATCH_FAILURE
- NP_MATCH_RETRY
The NP_MATCH_RETRY state indicates that matching might succeed if
np_expect_match() is called with a longer input string. This allows
check_tcp to decide whether it makes sense to wait for additional data
from the server.
|
|
Replace the three boolean parameters of lib/utils_tcp.c's
np_expect_match() function with a single "flags" parameter.
|
|
The SSL_CTX_new(3) function expects a non-"const" SSL_METHOD value.
|
|
Simplify things by moving the definition of global variables into .c
files, where they belong.
|
|
Fix the issues found by GCC when the -Wimplicit-function-declaration
flag is specified.
|
|
Fix the issues found by GCC when the -Wuninitialized flag is specified.
|
|
Closing the connection because the bytes received are less than the
buffer size assumes that all the bytes will be received in one go. This
is not always true!
|
|
The check_http option "--proxy_authorization" is now called
"--proxy-authorization" instead. It was always documented this way, and
we don't usually use underscores in option names.
|
|
|
|
This reverts the changes to plugins/common.h applied by commit
a20611d4357c3c3ebe0a62776a1642e7904c1410.
- Clang defines __GNUC__.
- The new name of the __attribute__ parameter was misleading.
|
|
|
|
* 'master' of https://github.com/ozamosi/nagios-plugins:
check_snmp: Close potential for using uninitialized memory
check_snmp: Dynamically grow all data structures
Conflicts:
plugins/check_snmp.c
|
|
* 'master' of https://github.com/bugness-chl/nagios-plugins:
check_disk: option to ignore reserved space
Conflicts:
plugins/check_disk.c
|
|
A check with thresholds 9000,1 must exit with warning if the certificate expires in less
than 9000 but more than one day.
|
|
|
|
Commit bd782990566eec91b8312cfc2765a7e2bd9e67da reintroduced support for
inverse threshold ranges such as "2:1", but it broke standard thresholds
such as "1:2" (by converting this range into "1") or "1:" (by converting
this range into "@:2"). This commit fixes those two bugs, plus an
off-by-one error while computing the number of bytes to allocate when
handling inverse thresholds (two additional bytes were allocated where
three were required to hold '@' and ':' and '\0'). While at it, we also
check whether malloc(3) succeeded.
|
|
We use OpenSSL (or GnuTLS) with blocking semantics, and we don't want
SSL_read(3) or SSL_write(3) calls to return SSL_ERROR_WANT_READ or
SSL_ERROR_WANT_WRITE (see #3614716).
|
|
For systems that don't provide an utmpx(5) interface, restore the code
that was replaced in commit 3e622f3a47bc7d31f22513a79892c3c52febd2d3.
|
|
|
|
C compilers in standards compliance mode will not define "linux", as it
doesn't begin with an underscore.
|
|
Thanks to Emmanuel Dreyfus for providing the patch.
|
|
Closes #62.
|
|
* 'master' of https://github.com/bbense/nagios-plugins:
Bug fix for ncpus if hyperthreading turned off in linux
|
|
|
|
Mention the -E/--extended-perfdata flag in the --help output.
|
|
Make a very long function name at least a little bit shorter.
|
|
* 'master' of https://github.com/cern-mig/nagios-plugins:
added support for client authentication via SSL
Conflicts:
plugins/check_http.c
|
|
Do not also accept the new -f/--file and -g/--group options as
positional arguments (especially not prior to "db_pass" and "db", as
that would break backward compatibility).
|
|
|