Commit graph

178 commits

Author SHA1 Message Date
Stephane Lapie
35811848da Handle negative values properly with check_snmp
check_snmp becomes capable of evaluating negative values properly,
but it might be returning CRITICALs where it used to return OK and was ignored,
if a negative value turns out to actually be a valid value.
If negative values are valid, this can be worked around,
by adding "~:" to the warning/critical threshold : 100 -> ~:100
2014-01-31 00:49:18 -05:00
Thomas Guyot-Sionnest
bc92b93920 Add tests for negative thresholds in test_utils 2014-01-31 00:04:23 -05:00
Thomas Guyot-Sionnest
7310030ae7 Add tests for mp_translate_state() 2014-01-29 22:03:04 -05:00
Thomas Guyot-Sionnest
8fc9e5ac4b Move negate' translate_state() to utils_base.h mp_translate_state()
Also use strcasecmp imported from gnulib for simplicity
2014-01-29 03:20:23 -05:00
Thomas Guyot-Sionnest
189e2aa344 Rename MP_STATE_DIRECTORY to MP_STATE_PATH 2014-01-27 08:35:23 -05:00
Thomas Guyot-Sionnest
4a10a9493a And release notes for previous change (MP_STATE_DIRECTORY)
The change has also been updated in
https://www.monitoring-plugins.org/doc/state-retention.html
2014-01-27 02:18:06 -05:00
Thomas Guyot-Sionnest
68fe713335 Ignore MP_STATE_DIRECTORY in suid plugins
If a plugin still has suid privileges at the time np_enable_state() is
called, the MP_STATE_DIRECTORY environment will be ignored.

There is no need for a NEWS entry as no suid plugins use np_enable_state
yet.
2014-01-25 04:22:09 -05:00
Thomas Guyot-Sionnest
25a289f307 Clean up parse_ini error messages, add missing newlines 2014-01-25 04:13:32 -05:00
Thomas Guyot-Sionnest
4caf4ce4fe Rename ENV variable, keep backward compatibility
Rename NAGIOS_PLUGIN_STATE_DIRECTORY to MP_STATE_DIRECTORY
2014-01-25 03:35:46 -05:00
Thomas Guyot-Sionnest
c2c24bc564 Use access() instead of stat() in parse_ini.c 2014-01-24 08:30:57 -05:00
Thomas Guyot-Sionnest
f1e9ebd037 Update comments
1. libtab is now bundled, so suggest to enable it rather than install it
2. "parse-ini" feature has been called "extra-opts"
2014-01-24 02:32:45 -05:00
Holger Weiss
01e570f4a4 Capitalize "Monitoring Plugins"
"Monitoring Plugins" is a name.
2014-01-21 16:19:20 +01:00
Holger Weiss
a8c9b696f4 Minor fixes to be amended into "rename" commit 2014-01-20 03:01:55 +01:00
Monitoring Plugins Development Team
63734f52ab Project rename initial commit.
This is an initial take at renaming the project to Monitoring Plugins.
It's not expected to be fully complete, and it is expected to break
things (The perl module for instance). More testing will be required
before this goes mainline.
2014-01-19 14:18:47 -05:00
Holger Weiss
7573aa1616 Minor cosmetic changes 2013-09-12 21:50:18 +02:00
Holger Weiss
e8044713d4 check_tcp: Properly deal will partial recv(3)s
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-12 21:37:20 +02:00
Holger Weiss
662997251d Improve interface of np_expect_match() function
Replace the three boolean parameters of lib/utils_tcp.c's
np_expect_match() function with a single "flags" parameter.
2013-09-12 17:42:10 +02:00
Holger Weiss
b48cb1f130 Fix GCC's -Wimplicit-function-declaration warnings
Fix the issues found by GCC when the -Wimplicit-function-declaration
flag is specified.
2013-09-10 22:29:46 +02:00
Holger Weiss
d4a781817c Fix GCC's -Wuninitialized warnings
Fix the issues found by GCC when the -Wuninitialized flag is specified.
2013-09-10 20:52:13 +02:00
Sven Nierlein
4083622f86 added missing header to fix build on freebsd 2013-08-20 17:02:02 +02:00
Dominique Broeglin
30bf8025d2 Adding tests for range @1:1 2013-08-17 17:19:34 +02:00
Andreas Ericsson
364ce21b10 lib/utils_base.c: Stop dumping core on bad args to check_snmp
Since the state patch introduction, we've been freeing uninitialized
memory in lib/utils_base.c::np_cleanup(), which caused coredumps
with check_snmp when illegal threshold ranges (for example) were
passed, or when we called 'die' without having read any state.

This patch fixes it by replacing the malloc() calls in there (all of
them, since using malloc() is almost always an error) with calloc().

malloc() either doesn't initialize the memory at all, or taints it
with a special marker so it can tell us when we're free()'ing memory
that hasn't been initialized. calloc() explicitly initializes the
allocated memory to nul bytes, which is a zero-cost operation when
we get the memory from the kernel (which alread does that) and almost
always desirable everywhere else.

Signed-off-by: Andreas Ericsson <ae@op5.se>
2012-11-02 22:25:37 -04:00
Matthias Eble
77f2c84d2f Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603)
Various values (dused_pct, dfree_pct, inodes_free, inodes_total, ...) are now carried in
the parameter_list structure. Assignments have been moved to a subroutine preventing
code redundancies.
Group metrics are now calculated based on units rather than blocks. This fixes freespace calculation
when blocksizes differ within a group.
2010-11-15 23:59:35 +01:00
Thomas Guyot-Sionnest
cf2bcf6c7a Fix cmd_run overwriting the environment
Some commands need the environment to function properly. One such
example is check_ssh and check_by_ssh when a SOCKS proxy is required.

This patch use setenv and extern char **environ to alter and pass the
new environment to the child process Those modules have been added to
Gnulib for portability.
2010-07-02 12:55:19 -04:00
tonvoon
f324f5b94f Add test file directory 2010-06-25 07:52:59 +00:00
Ton Voon
2ad344a47b Cleanup some warnings displayed from IRIX tinderbox server 2010-06-24 10:08:13 +01:00
Ton Voon
18f6835eda Added state retention APIs. Implemented for check_snmp with --rate option.
See http://nagiosplugin.org/c-api-private for more details on the API.

Also updated check_snmp -l option to change the perfdata label.
2010-06-23 13:30:34 +00:00
Thomas Guyot-Sionnest
6e5d12b5d0 Use a more "natural" way of writing argument lists in extra-opts tests. 2009-06-11 00:14:23 -04:00
Holger Weiss
9eabd8d054 Fix the memory allocation for the thresholds data
Allocate the appropriate amount of memory for storing the thresholds
data.  Before, we allocated the amount of memory required for storing a
_pointer_ to the thresholds data.  This crashed (at least) check_mysql
when using its "-S" option on FreeBSD/amd64 (as reported and analyzed by
Nikita Kalabukhov - 2797757).

Signed-off-by: Holger Weiss <holger@zedat.fu-berlin.de>
2009-06-02 01:11:19 +02:00
Thomas Guyot-Sionnest
7cb3ae0933 check_snmp: Make use of standard threshold functions
This patch makes use of standard threshold functions. This allows using
	doubles as thresholds.

	Since SNMP supports only integers, double precision numbers are only
	printed when parsed from a STRING type.

	In addition, support for printing properly Timeticks type has been added,
	and the code has been thoroughly cleaned.
2009-05-28 08:10:49 -04:00
Thomas Guyot-Sionnest
ba132e9e52 Make extract_value more generic:
Add a separator argument passed using defines.
2009-01-26 02:05:21 -05:00
Thomas Guyot-Sionnest
0a74b6fda0 Remove the commented out blocks
The die tests are implemented in the test_*3.t files
2009-01-24 07:41:45 -05:00
Thomas Guyot-Sionnest
1b1dc7a48b Fix paths in test_ini tests 2009-01-24 00:41:00 -05:00
Thomas Guyot-Sionnest
8b103c0c77 Add die tests for parse_ini 2009-01-23 02:43:59 -05:00
Thomas Guyot-Sionnest
485f306868 Return UNKNOWN if none of the default files can be found.
It makes no sense to return unknown if an implicit section is not found, but
go on if the file is missing
2009-01-22 02:24:39 -05:00
Thomas Guyot-Sionnest
bf4abd5395 Add die tests for extra-opts 2009-01-22 02:04:31 -05:00
Thomas Guyot-Sionnest
a4647be424 Move check_ntp's extract_value to utils_base.c.
This function can also be used to parse performance data strings which
could be useful in the future.
2009-01-21 01:27:40 -05:00
Thomas Guyot-Sionnest
81871eaa82 Accidentally included built executables - also updated .gitignore 2009-01-21 01:25:06 -05:00
Thomas Guyot-Sionnest
3b69f13467 Some platform are missing setenv
Instead of adding the gnulib module for solving tests only I split the test
in two, setting environment from Perl for the later.
2009-01-20 23:58:02 -05:00
Thomas Guyot-Sionnest
26bf63a5bb Fix (or try at least) for IRIX compile to tap tests
Gnulib says: "$(LTLIBINTL) when linking with libtool, $(LIBINTL) otherwise"
Everywhere else we use LTLIBINTL so I assume the tests should use it as well.
2009-01-20 22:28:30 -05:00
Thomas Guyot-Sionnest
82674792c7 Re-apply "Cleanup; fix the way libraries are linked; Make-It-Simple(tm)"
This reverts commit 7449b16b17.
2009-01-18 16:26:58 -05:00
Thomas Guyot-Sionnest
09f9ddd18d Typo 2009-01-15 06:12:04 -05:00
Thomas Guyot-Sionnest
301871bd6f Make /lib before /lib/tests to satisfy dependencies (building tests fails on IRIX) 2009-01-13 04:31:30 -05:00
Thomas Guyot-Sionnest
f8c6d8b52e Fix test from last commit 2009-01-09 08:16:52 -05:00
Thomas Guyot-Sionnest
4d5eb82a47 basename check in test_utils.c was accidentaly added again.
In 538b97c I reverted a serie of libtap patch by Ton Voon; it included
the removal of the useless basename check.

Relevant portion of the changelog from which it was removed (f31cd40):

  Removed basename test as we should use base_name from GNUlib which is
	tested separately
2009-01-09 02:44:36 -05:00
Thomas Guyot-Sionnest
7449b16b17 Revert "Cleanup; fix the way libraries are linked; Make-It-Simple(tm)"
Trying to see if this has any relation to the tinderbox failure. I doubt it
and will revert back as soon as it's tested.

This reverts commit a97e5fbda2.
2009-01-09 02:27:02 -05:00
Thomas Guyot-Sionnest
254baca111 Try to make IRIX happy (this fixes a similar warning in Solaris) 2009-01-08 08:14:19 -05:00
Thomas Guyot-Sionnest
a97e5fbda2 Cleanup; fix the way libraries are linked; Make-It-Simple(tm)
lib/Makefile.am       |    2 +-
 lib/tests/Makefile.am |   37 ++++---------------------------------
 2 files changed, 5 insertions(+), 34 deletions(-)
2009-01-07 04:41:54 -05:00
Thomas Guyot-Sionnest
2bbf2e6967 Add Libtap as a bundled library (does not change any behaviour without --enable-libtap)
Detects system library as pre-1.4.13 and does not install the built-in library anymore

Tested on:
  - Linux x86_64, with and without local libtap (System libtap installed)
	- Linux x86, with and without local libtap (System libtap NOT installed)
  - Solaris SPARC, with and without local libtap, with and without system libtap installed
2008-11-29 04:38:54 -05:00
Thomas Guyot-Sionnest
538b97cea6 Revert inclusion of libtap into nagiosplugins
(except for the NEWS file)

This reverts the following commits (latest first): f3e0909, 9f16b54, be8df51, f31cd40, 5270c7d, a25083f, f1bfe40, c503d85 and 6c476db
2008-11-28 03:22:39 -05:00