aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-10-06Revert "Make use of xasprintf instead of asprintf"Gravatar Holger Weiss
This reverts commit a143739ed286cf9ae003792dbb1ce26ce43f3312. Our current setup doesn't allow lib/*.c files to call functions defined in plugins/utils.[ch].
2014-07-30Make use of xasprintf instead of asprintfGravatar Jan Wagner
--- Closes #1278
2014-07-30lib/utils_base.c: if asprintf fails, string is undefinedGravatar Ricardo Maraschini
if asprintf fails, string content becomes invalid. we need to check if it ran OK by checking the returned value. in case of fail, asprintf returns -1, otherwise the number of writen bytes is returned. also, on ubuntu 13.10 i've receiving a lot of warnings: "warning: ignoring return value of ‘asprintf’" this patches fixes some of them Signed-off-by: Ricardo Maraschini <ricardo.maraschini@gmail.com> --- Closes #1227
2014-07-06check_icmp/check_dhcp: disable check, if we are rootGravatar Jan Wagner
As it is possible to use capabilities(7) on linux or solaris privileges for example, it is not necessary in all cases to have those binaries making use of setuid.
2014-06-28lib/utils_cmd.c - Free file descriptorGravatar Spenser Reinhardt
Coverity 66502 - File descriptor fd in cmd_file_read is never closed, and thus file is left open after usage throughout runtime. - SR
2014-06-21Add UID to state retention file pathGravatar Holger Weiss
Add the UID of the invoking user to the state retention file path. This helps solving permission issues when different users run the same plugin.
2014-06-18lib/parse_ini.c: Print proper read error messageGravatar Holger Weiss
Print a useful error message if opening the configuration file fails.
2014-06-18lib/parse_ini.c: Drop privileges for reading fileGravatar Holger Weiss
Read the configuration file with privileges temporarily dropped if the code is used by a setuid plugin.
2014-06-18lib/parse_ini.c: Add newline to die() callsGravatar Holger Weiss
Our die() function doesn't append a newline character to the message.
2014-06-18lib/parse_ini.c: Cosmetic changeGravatar Holger Weiss
Replace an "if" with the ternary operator.
2014-06-18lib/parse_ini.c: Search for INI file in subdirsGravatar Holger Weiss
Add two path names to the list of default INI file locations, as some users/distributions prefer to put configuration files into subdirectories.
2014-06-18lib/parse_ini.c: Add comment on NAGIOS_CONFIG_PATHGravatar Holger Weiss
We might want to spit out a warning when NAGIOS_CONFIG_PATH is used. While at it, move the function that handles this environment variable to the bottom.
2014-06-18lib/parse_ini.c: Cosmetic changes to commentsGravatar Holger Weiss
2014-06-18lib/parse_ini.c: Fix Clang warningsGravatar Holger Weiss
2014-06-18lib/parse_ini.[ch]: Change code formattingGravatar Holger Weiss
Change the indentation and formatting of the code in lib/parse_ini.c. This breaks patches against that file and makes it harder to track its history, but it (hopefully) improves readability a lot.
2014-06-18lib/parse_ini.c: Don't cast malloc(3) resultGravatar Holger Weiss
There's no need to cast malloc(3)'s return value.
2014-06-18lib/parse_ini.c: Remove outdated comment and codeGravatar Holger Weiss
The lib/parse_ini.c:np_get_defaults() function now dies if no configuration file is found.
2014-06-18lib/parse_ini.c: Read $MP_CONFIG_FILEGravatar Holger Weiss
Read $MP_CONFIG_FILE if that variable is set in the environment.
2014-06-18lib/parse_ini.c: Read "monitoring-plugins.ini"Gravatar Holger Weiss
Read "monitoring-plugins.ini" if that file exists, but fall back to reading "plugins.ini" or "nagios-plugins.ini" for backward compatibility.
2014-06-18lib/parse_ini.[ch]: Simplify codeGravatar Holger Weiss
Rewrite the code that looks up the INI configuration file path (used by the Extra-Opts feature) in order to improve readability. The behaviour should not have changed.
2014-03-09build - avoid deprecated INCLUDESGravatar Davide Madrisan
Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
2014-01-31Handle negative values properly with check_snmpGravatar Stephane Lapie
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-31Add tests for negative thresholds in test_utilsGravatar Thomas Guyot-Sionnest
2014-01-29Add tests for mp_translate_state()Gravatar Thomas Guyot-Sionnest
2014-01-29Move negate' translate_state() to utils_base.h mp_translate_state()Gravatar Thomas Guyot-Sionnest
Also use strcasecmp imported from gnulib for simplicity
2014-01-27Rename MP_STATE_DIRECTORY to MP_STATE_PATHGravatar Thomas Guyot-Sionnest
2014-01-27And release notes for previous change (MP_STATE_DIRECTORY)Gravatar Thomas Guyot-Sionnest
The change has also been updated in https://www.monitoring-plugins.org/doc/state-retention.html
2014-01-25Ignore MP_STATE_DIRECTORY in suid pluginsGravatar Thomas Guyot-Sionnest
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-25Clean up parse_ini error messages, add missing newlinesGravatar Thomas Guyot-Sionnest
2014-01-25Rename ENV variable, keep backward compatibilityGravatar Thomas Guyot-Sionnest
Rename NAGIOS_PLUGIN_STATE_DIRECTORY to MP_STATE_DIRECTORY
2014-01-24Use access() instead of stat() in parse_ini.cGravatar Thomas Guyot-Sionnest
2014-01-24Update commentsGravatar Thomas Guyot-Sionnest
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-21Capitalize "Monitoring Plugins"Gravatar Holger Weiss
"Monitoring Plugins" is a name.
2014-01-20Minor fixes to be amended into "rename" commitGravatar Holger Weiss
2014-01-19Project rename initial commit.Gravatar Monitoring Plugins Development Team
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.
2013-09-12Minor cosmetic changesGravatar Holger Weiss
2013-09-12check_tcp: Properly deal will partial recv(3)sGravatar Holger Weiss
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() functionGravatar Holger Weiss
Replace the three boolean parameters of lib/utils_tcp.c's np_expect_match() function with a single "flags" parameter.
2013-09-10Fix GCC's -Wimplicit-function-declaration warningsGravatar Holger Weiss
Fix the issues found by GCC when the -Wimplicit-function-declaration flag is specified.
2013-09-10Fix GCC's -Wuninitialized warningsGravatar Holger Weiss
Fix the issues found by GCC when the -Wuninitialized flag is specified.
2013-08-20added missing header to fix build on freebsdGravatar Sven Nierlein
2013-08-17Adding tests for range @1:1Gravatar Dominique Broeglin
2012-11-02lib/utils_base.c: Stop dumping core on bad args to check_snmpGravatar Andreas Ericsson
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>
2010-11-15Fix check_disk free space calculation if blocksizes differ within a disk ↵Gravatar Matthias Eble
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-07-02Fix cmd_run overwriting the environmentGravatar Thomas Guyot-Sionnest
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-06-25Add test file directoryGravatar tonvoon
2010-06-24Cleanup some warnings displayed from IRIX tinderbox serverGravatar Ton Voon
2010-06-23Added state retention APIs. Implemented for check_snmp with --rate option.Gravatar Ton Voon
See http://nagiosplugin.org/c-api-private for more details on the API. Also updated check_snmp -l option to change the perfdata label.
2009-06-11Use a more "natural" way of writing argument lists in extra-opts tests.Gravatar Thomas Guyot-Sionnest
2009-06-02Fix the memory allocation for the thresholds dataGravatar Holger Weiss
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>