summaryrefslogtreecommitdiffstats
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2013-11-19check_procs: ignore plugin parent processAnton Lofgren2-1/+16
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
2013-09-28Change default host names for some testsHolger Weiss2-5/+5
Testing "nagiosplugins.org" will currently not work.
2013-09-26Die on SSL initialization errorsawiddersheim1-1/+1
Fixes issue where if an SSL initialization error occurs on a redirect using -f follow the plugin still returns an OK state. Closes #1159.
2013-09-19check_pgsql: Don't exit UNKNOWN instead of OKHolger Weiss1-1/+1
Since commit 912df3ef9b188c82893dace1e9b56c42a558fdba, check_pgsql exited UNKNOWN instead of OK if the new --query option was *not* specified. This bug is fixed now.
2013-09-17check_disk: die with a reasonable error message if one mount point hits ↵Sven Nierlein1-0/+6
average value
2013-09-17check_ssh: added test caseSven Nierlein1-0/+49
2013-09-17check_by_ssh: tests expand key and config pathSven Nierlein1-0/+4
some systems do not expand the path automatically.
2013-09-17check_udp: skip tests which rely on udp listenSven Nierlein1-0/+1
solaris netcat does not listen in udp mode due to http://sourceforge.net/p/netcat/bugs/27/
2013-09-16check_disk: get_fs_usage hasn't been run if using groupsSven Nierlein1-3/+3
the reason why it still worked sometimes was fsu_blocks beeing uninitialized which resulted in a true test sometimes.
2013-09-16check_procs: fix test with sleeping processesSven Nierlein1-1/+1
at least on freebsd, there are a processes with state 'S', they always use two character status.
2013-09-16check_http: tests use supplied value if possibleSven Nierlein1-9/+3
2013-09-15check_tcp: use receive timeout for checks that expect responseSven Nierlein1-0/+14
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.
2013-09-14check_ping: increase test timeoutSven Nierlein1-1/+1
freebsds ping takes a few seconds till it returns, so a 1 second timeout does not work for the test.
2013-09-14check_load: add alternative uptime syntaxSven Nierlein1-1/+10
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
2013-09-14check_udp: try nc.traditional tooSven Nierlein1-1/+4
nc.traditional is available on (at least) ubuntu systems and uses traditional nc syntax
2013-09-14tests: move ipv6 detection into NPTest moduleSven Nierlein2-18/+18
2013-09-13unified nc syntaxSven Nierlein1-3/+15
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.
2013-09-13fping: some fping versions set loss to 0% by mistakeSven Nierlein1-0/+7
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
2013-09-12check_snmp: add timeout handler befor running snmpgetSven Nierlein1-0/+10
2013-09-12check_tcp: only test ipv6 if ping6 worksSven Nierlein1-3/+18
2013-09-12check_tcp: Fix checks without --expect stringHolger Weiss1-5/+7
Commit e8044713d41f5ef1d9ce814df4a079d8f92306b0 broke check_tcp checks without --expect string, this commit fixes that regression.
2013-09-12check_tcp: Properly deal will partial recv(3)sHolger Weiss1-11/+16
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.
2013-09-12Improve interface of np_expect_match() functionHolger Weiss1-14/+9
Replace the three boolean parameters of lib/utils_tcp.c's np_expect_match() function with a single "flags" parameter.
2013-09-10Don't mark SSL_METHOD variable as "const"Holger Weiss1-1/+1
The SSL_CTX_new(3) function expects a non-"const" SSL_METHOD value.
2013-09-10Move global variables from .h to .c filesHolger Weiss5-21/+13
Simplify things by moving the definition of global variables into .c files, where they belong.
2013-09-10Fix GCC's -Wimplicit-function-declaration warningsHolger Weiss4-13/+14
Fix the issues found by GCC when the -Wimplicit-function-declaration flag is specified.
2013-09-10Fix GCC's -Wuninitialized warningsHolger Weiss2-13/+13
Fix the issues found by GCC when the -Wuninitialized flag is specified.
2013-09-10check_tcp: Don't close connection too earlyjuliopedreira1-4/+1
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!
2013-09-09s/--proxy_authorization/--proxy-authorization/Holger Weiss1-1/+1
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.
2013-09-04check_snmp: Initialize size_t value to 0, not NULLHolger Weiss1-1/+1
2013-08-27Partially revert "check_snmp: Close potential for using uninitialized memory"Holger Weiss1-3/+3
This reverts the changes to plugins/common.h applied by commit a20611d4357c3c3ebe0a62776a1642e7904c1410. - Clang defines __GNUC__. - The new name of the __attribute__ parameter was misleading.
2013-08-27check_snmp: Fix --help segfaultHolger Weiss1-1/+1
2013-08-27Merge branch 'master' of https://github.com/ozamosi/nagios-pluginsHolger Weiss2-24/+64
* '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
2013-08-26Merge branch 'master' of https://github.com/bugness-chl/nagios-pluginsHolger Weiss1-4/+17
* 'master' of https://github.com/bugness-chl/nagios-plugins: check_disk: option to ignore reserved space Conflicts: plugins/check_disk.c
2013-08-21fixed check_tcp testSven Nierlein1-1/+1
A check with thresholds 9000,1 must exit with warning if the certificate expires in less than 9000 but more than one day.
2013-08-21check_snmp: added threshold testsSven Nierlein1-137/+156
2013-08-21check_snmp: Fix support for inverse thresholdsHolger Weiss1-5/+7
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.
2013-08-20Set SSL_MODE_AUTO_RETRY flagHolger Weiss1-0/+1
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).
2013-08-20check_users: Use utmpx(5) only if availableHolger Weiss2-1/+48
For systems that don't provide an utmpx(5) interface, restore the code that was replaced in commit 3e622f3a47bc7d31f22513a79892c3c52febd2d3.
2013-08-20added missing header to fix build on freebsdSven Nierlein1-2/+0
2013-08-19check_ide_smart: "__linux__" instead of "linux"Holger Weiss1-8/+8
C compilers in standards compliance mode will not define "linux", as it doesn't begin with an underscore.
2013-08-19check_ide_smart: Add support for NetBSDHolger Weiss1-1/+108
Thanks to Emmanuel Dreyfus for providing the patch.
2013-08-19Clean up check for _SC_NPROCESSORS_ONLNHolger Weiss1-7/+5
Closes #62.
2013-08-19Merge branch 'master' of https://github.com/bbense/nagios-pluginsHolger Weiss1-3/+7
* 'master' of https://github.com/bbense/nagios-plugins: Bug fix for ncpus if hyperthreading turned off in linux
2013-08-19Bug fix for ncpus if hyperthreading turned off in linuxrefs/pull/62/headBooker C. Bense1-3/+7
2013-08-18check_http: Document the new -E optionHolger Weiss1-1/+3
Mention the -E/--extended-perfdata flag in the --help output.
2013-08-18Abbreviate function nameHolger Weiss3-4/+4
Make a very long function name at least a little bit shorter.
2013-08-18Merge branch 'master' of https://github.com/cern-mig/nagios-pluginsHolger Weiss3-5/+54
* 'master' of https://github.com/cern-mig/nagios-plugins: added support for client authentication via SSL Conflicts: plugins/check_http.c
2013-08-18check_mysql: Don't accept new positional argumentsHolger Weiss1-4/+0
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).
2013-08-18check_mysql: Use xasprintf instead of asprintfHolger Weiss1-1/+1