Nagios Plugins 2.1.0 Released

The Nagios Plugins Development Team is proud to announce that nagios-plugins 2.1.0 has been released and is available for download.

As promised, both the findbin and timeout_state branches have included in this release. The nasty awk script for perl plugin paths has been removed and replaced with the functionality of FindBin.  Enhancements to the timeout (-t) switch were included in the timeout_state branch.  See below for details:

-t <interval>:<state>

Interval is a positive integer.
State is case insensitive and one of:
State name: ok/warning/critical/unknown
Or stateid: 0/1/2/3

For example:
-t 5:0 = 5 seconds timeout with state ok
-t :warning = default timeout with state warning
-t 5 = 5 second timeout with default state

Additionally, check_http now supports chunked-encoded pages, check_radius now supports the FreeRADIUS Client library, and  check_snmp now support IPv6.

There were many other small fixes from coverity and our fantastic community, as well as a large number of smaller enhancements,  bug fixes, localization fixes, and typo corrections.

Download Nagios-Plugins 2.1.0 here.

A full list of included enhancements and fixes are listed below:

SECURITY FIXES
ssl_utils.c – Disable SSLv3 & SSLv2 autonegotiation by default to limit poodle and other weak cipher attacks (sreinhardt)

ENHANCEMENTS
Timeout States Implemented – Plugins that support a timeout state will now also support specifying the exit state in case of timeout with the syntax -t <timeout>:<state> (abrist)
Perl plugins now use FindBin for path discovery, obsoleting the nasty AWK script (evgeni, abrist)
check_http.c – Added support for chunked transfer-encoding (koenwtje, dermoth, sreinhardt)
check_radius.c – Added support for the FreeRADIUS Client library (weiss)
check_snmp.c – Added thresholds to performance data (seemuellera)
check_snmp.c – Added new option (-N) for SNMPv3 context (Johannes Engel)
check_snmp.c – Added IPv6 support (abrist)
check_ldap.c – Added a new option (-U) for LDAP URI support (qris)
check_ifstatus.pl – Added new option (-n) to exclude interfaces (peelman, weiss)
check_file_age.pl – Performance data output added (hggh)
check_mailq.pl – Now supports sudo (Christopher Schultz, weiss)
check_log.sh – Added a new option (-w) defining upper value to return a warning code (arvanus)

Download Nagios-Plugins 2.1.0 here.

FIXES
check_by_ssh.c – Added –hostname support (sni)
check_dbi.c – Spelling corrections (sreinhardt)
check_dig.c – Fixed to work with dig/drill tools and ip version switch is now respected (abgandar)
check_disk.c – Fix for hanging filesystems (Gerhard Lausser)
check_disk.c – Partitions in problem state now reported in verbose mode (waja)
check_disk.c – Prevent large tide values from truncation (JesperForsberg)
check_dns.c – Server specific fixes and other cleanup (sreinhardt)
check_http.c – Some small changes for readability (koenwtje)
check_mrtgtraf.c – Added verbose output (sreinhardt)
check_mrtgtraf.c – Perfdata now complies with UOM definition (Bobzikwick)
check_ntp_peer.c – No longer uses uninitialized results for max state (sni)
check_procs.c – Rare race condition fixed (Mikael Falkvidd)
check_ssh.c – Now exits with CRITICAL when version/protocol string check fails to match (sni)
check_tcp.c – Help description of escape characters now correct (Sebastian Herbszt)
check_tcp.c – Fix to support Openfire servers with check_jabber (weiss)
check_ups.c – Spelling corrections (sreinhardt)
pst3.c – Fix for unclosed file handle in pst3 on Solaris (jwinkle01)
plugins-scripts/*.sh – Trusted path fixes (waja)
netutils.h – Decreased max path to 104 bytes to compensate for BSD paths (sreinhardt)
configure.ac – Fix for HP-UX ps command (Tontonitch)
lib/utils_cmd.c – Fix for potential segfault when ulimits are set to unlimited (nafets)
lib/parse_ini.c – Many small fixes from coverity scans and the community (sreinhardt, weiss)
lib/util_base.c – Code cleanup (sreinhardt)
lib/utils_base.c – Add EIUD to state retention path for multi-user permissions support (sreinhardt)
po/* – Spelling corrections (sreinhardt)
Multiple resource leaks fixed (sreinhardt)
Many other small fixes and cleanup caught by coverity (multiple contributors)

Download Nagios-Plugins 2.1.0 here.

TESTS
Many small fixes to tests (multiple contributors)

LOCALIZATION
Many small fixes for locales and localizations (multiple contributors)

Thanks to all who have contributed toward this release. If you need assistance installing or using the plugins, please visit our general support forum. Bug reports, feature requests, and additional comments are welcome and may be posted to our plugin development forum.

Download Nagios-Plugins 2.1.0 here.

Nagios Plugins 2.0.3 Released

The Nagios Plugins Development Team is proud to announce that nagios-plugins 2.0.3 has been released and is available for download.

This release is mostly small bug fixes and additional protections against the SUID vulnerability discovered by Dawid Golunski. As we are now using coverity to scan for small bugs, there will be a number of small commits in the near future.

The mailq autodetection commits were reverted as there were issues with parsing performed by the awk script. We decided to use FindBin in lieu of shimming the awk regex. You can try out the proposed FindBin changes in the branch “findbin”.  Expect the branches findbin and timeout_state to be merged into the next major release (2.1.0).

A full list of included enhancements and fixes are listed below:

SECURITY FIXES

  • parse_ini.c – Additional fixes for the SUID plugins vulnerabilities (sreinhardt)
  • Added Gnulib module idpriv-droptemp (weiss)

FIXES

  • check_dns.c – Resolved issues with reverse lookup (sreinhardt)
  • check_dns.c – Changed query types from ALL to ANY (sreinhardt)
  • common.h – Include fixes for esoteric AIX compile issues (emislivec)
  • negate.c – Small fixes from coverity (66479) (66480) (sreinhardt)
  • check_dhcp.c – Small fix from coverity (66488) (sreinhardt)
  • check_http.c – Potential memory leak and overflow fixed from coverity (66514) (sreinhardt)
  • check_ntp.c – Small fix from coverity (66524) (sreinhardt)
  • utils_cmd.c – Small file descriptor fix from coverity (66502) (sreinhardt)
  • check_apt.c – Small fix for from coverity (66531) (sreinhardt)

REVERTS

  • check_mailq – Reverted autodetection commits to avoid awk parsing issues. Autodetection will return in version 2.1.0 as part of the changes in the FindBin branch (abrist)

Thanks to all who have contributed toward this release. If you need assistance installing or using the plugins, please visit our general support forum. Bug reports, feature requests, and additional comments are welcome and may be posted to our plugin development forum.

Nagios Plugins 2.0.2 Released

The Nagios Plugins Development Team is proud to announce that nagios-plugins 2.0.2 has been released and is available for download.

This release was prompted a bit earlier than originally expected by a newly discovered security vulnerability reported by Dawid Golunski on exploit-db. It concerned an arbitrary file access vulnerability with the SUID binaries (check_icmp, check_dhcp) and the extra-opts configure flag (which is enabled by default).  Fixes were applied globally, so the new restrictions on fopen should apply to all plugins.

Additionally, a few plugins were updated to successfully build on windows under cygwin, and some small changes were made to plugin output and verbosity.

A full list of included enhancements and fixes are listed below:

SECURITY FIXES

  • Fixed file access vulnerability with SUID binaries (check_icmp, check_dhcp) and extra-opts.  Fixes were applied globally, so the new resrictions on fopen should apply to all plugins. Special thanks to Dawid Golunski for the submission. More information: http://www.exploit-db.com/exploits/33387/  (sreinhardt) (emislivec)

ENHANCEMENTS

  • check_disk – Now compiles in cygwin on windows (Gunnar Beutner)
  • check_ping – Now compiles in cygwin on windows (Gunnar Beutner)
  • check_users – Now compiles in cygwin on windows (Gunnar Beutner)
  • netutils.c – Connection error verbosity increased. C plugins will now differentiate file socket errors from connection errors (Davide Madrisan)

FIXES

  • check_nt.c – Changed ‘Mb’ to ‘MB’ in MEMUSE output for clarity (abrist)

Thanks to all who have contributed toward this release. If you need assistance installing or using the plugins, please visit our general support forum. Bug reports, feature requests, and additional comments are welcome and may be posted to our plugin development forum.

Nagios Plugins 2.0.1 Released

The Nagios Plugins Development Team is proud to announce that nagios-plugins 2.0.1 has been released and is available for download. This is mostly a maintenance release, focusing on check_dns stability and some bugs in the new check_uptime plugin. A full list of included enhancements and fixes are listed below:

ENHANCEMENTS

  • check_snmp.c – Added thresholds to performance data (jccomputing)
  • check_http.c – Added */* MIME support (Alex Gottschalk)
  • check_mailq.pl – Added autodetection for mailq implementation (evgeni)
  • check_mailq.pl – Added autodetected version to output (evgeni)

FIXES

  • check_dns.c – Record type corrections for default check (sreinhardt)
  • utils.c – Changed comment type – now supported by AIX and should no longer fail compile (hkpatv)
  • check_uptime.c – Fixed timeout option (abrist)
  • check_uptime.c – Fixed help output and updated verbose usage (abrist)
  • check_uptime.c – Removed executable permissions on check_uptime.c (abrist)
  • check_uptime.c – Removed old code (madrisian)
  • check_pgsql.c – Fixed help output (weiss)
  • lib/Makefile.am – Avoid deprecated includes (madrasian)
  • lib/tests/Makefile.am – Avoid deprecated includes (madrasian)
  • plugins/Makefile.am – Avoid deprecated includes (madrasian)
  • check_apt.c – Removed the verbose flag suggestion (skottler)
  • check_oracle.c – Changed regex to compensate for tns string match edge cases (waja)
  • check_snmp.c – Always privides the security name when noAuthPriv is specified (catharsis)

Thanks to all who have contributed toward this release. If you need assistance installing or using the plugins, please visit our general support forum. Bug reports, feature requests, and additional comments are welcome and may be posted to our plugin development forum.

Nagios Plugins 2.0 Released

The Nagios Plugins Development Team is proud to announce that nagios-plugins 2.0 has been released and is available for download.  In addition to numerous bug fixes and new options, we have included a new plugin – check_uptime (only supported on Linux at the moment – more platforms to follow in the future).

ADDITIONS

  • check_uptime – New plugin (only supports Linux due to dependency on clock.gettime()).  More supported platforms to follow.

ENHANCEMENTS

  • check_mysql_query – Added performance data (sreinhardt)
  • check_file_age – New option -i/–ignore-missing which returns OK if file is missing (waja)
  • check_nt – Added performance data to UPTIME -l seconds|minutes|hours|days (abrist)
  • check_hpjd – New -p option for port specification (abrist)
  • check_disk – new -n option for multi-line output (tmcnag)
  • check_mysql_query – New -f/-g options for reading for mysql options file (awiddersheim)
  • check_mailq – New -M option for nullmailer support in the mailserver (Luca Corti)
  • check_dig – New -r option for specifying number of retries (abrist)
  • check_ntp_peer – Added state output for each checked metric (abrist)
  • check_dns – Warning and critical thresholds added to perfdata (jccomputing) (abrist)
  • check_dns – New -q options for several query types (AAAA,TXT,SRV,MX) (sreinhardt)
  • check_tcp – Status output now includes hostname when host_specified is set (madrisan)
  • check_mysql – New -n/–ignore_auth option to ignore authentication failure (Julius Kriukas)
  • check_ssh – New -P/–remote-protocol option to monitor the ssh protocol version (monitoring-user)
  • check_ntp – New -o/–time-offset option to compensate for the ntp server’s offset relative to the local server (monitoring-user)
  • configure.ac – Added support for –disable-maintainer-mode (weiss)

FIXES

  • check_http – The -C option no longer resets SSL version if e.g. -S 1 -C 5 is specified
  • check_ide_smart – Now defaults to nagios-compatible output (sreinhardt)
  • Fixed misleading timeout message for non-network plugins (sreinhardt)
  • check_swap – Now fails with 100% usage and a new status output when swap is disabled or missing (abrist)
  • check_ifstatus – Removed commas from perfdata – should now output valid perfdata in nagios format (waja)
  • check_ping – Now gracefully handle the “time of day goes back” error.  This issue is rare, most will not notice the change (waja)
  • check_disk – Help output was clarified that it supports mount paths or partitions instead of just paths and partitions (waja)
  • check_ide_smart – Fixed attribute comparison (waja)
  • check_ntp_time – Fixed average time calculation (larsi)
  • NPTest.cache – Empty or Missing file no longer blocks writing to the file (dermoth)
  • parse.ini – Fixed newlines in output (dermoth)
  • check_dig – Fixed wrong IPv6 arguments order (Stéphane Bortzmeyer)
  • check_dig – Now honors timeout value specified by switch -t (Jethro Carr) (abrist)
  • configure.in – Renamed to configure.ac to avoid deprecation warning (abrist)
  • configure.ac – The option –enable-extra-opts is now enabled by default (dermoth)
  • check_snmp – Now handles negative values properly (Stephane Lapie)

WARNINGS

  • check_procs – Now ignores its parent process to avoid unexpected results when invoked via certain shells
  • utils.sh – No longer defines ECHO (weiss)
  • check_ide_smart now default to nagios output, -n kept for legacy support (sreinhardt)
  • check_ntp_peer – Status output changed, now includes individual state for offset, truechimers, stratum, and jitter (abrist)
  • check_tcp – Status output has changed, now includes hostname (madrisan)

TESTS

  • check_procs – Performance data tests added (dermoth)
  • check_snmp – Added tests for negative thresholds (dermoth)
  • check_hpjd – Added tests for port options (abrist)
  • check_dns – Added new tests for query types (abrist)
  • check_pop – Added option to enable ssl for the test (abrist)
  • check_jabber – Fixed status output tests to account for hostname (abrist)
  • check_procs – Tests no longer fail if uid 501 is not present (sni)
  • check_mysql – Test prompts clarified (dermoth)
  • check_file_age – Added tests for –ignore-missing (waja)

OTHER

  • Numerous small typos fixed.
  • Help output has been changed in many places for clarity and verbosity.

Thanks to all who have contributed toward this release. If you need assistance installing or using the plugins, please visit our general support forum. Bug reports, feature requests, and additional comments are welcome and may be posted to our plugin development forum.

Introducing the Nagios-Plugins Security Team Lead — Spenser Reinhardt

We would like to introduce the second team member in charge of maintaining the Nagios-Plugins Project — Spenser Reinhardt.  Spenser has been named the Nagios-Plugins Security Team Lead and has already begun contributing to critical bug fixes and plugin improvements.

Like our Project Team Lead Andy Brist, we also subjected Spenser to a rigorous interview in order to give community members an inside look at the latest addition to the Nagios-Plugins Development Team.  View the interview below and get to know the new Nagios-Plugins Security Lead — Spenser Reinhardt:

Introducing the Nagios-Plugins Team Lead — Andy Brist

As you may have heard, there have been some changes to the Nagios-Plugins Development Team.  The greatest of which comes in the form of new project maintainers.  Both Andy Brist and Spencer Reinhardt will be heading the Nagios Plugins project moving forward and have the knowledge and expertise to do so.

We thought that the best way to introduce the new team members to the community was to subject them to a grueling interview process.  This short video introduces Andy Brist, the New Nagios-Plugins Team Lead, and sheds some light on his Nagios credentials as well as his personal interests.

Uncomfortable Info On The Plugin Team Changes

Change isn’t always easy, but sometimes its necessary. Recently, the Nagios Plugins website and team have undergone some changes, and for good reason.  There have been a few people who have caused a stir about the changes, and there’s been some misunderstanding as to the reasons behind those changes, so we thought we’d share some relevant info with the community.

The changes were made because there was an organized effort by some individuals to undermine the project and move people to another solution.  Some of the previous team members decided “recently” to switch development to a new project after we started to employ some changes.  Except their decision to switch wasn’t recent – they made it months ago.  This can be evidenced in part by their Git commits which show them beginning to make a switch as early as last September.  You’ll notice the screenshot below showing a change that was made to start transitioning the Nagios plugins project to a new domain and project (original URL).

plugin-swtich

In addition to this and other similar changes, some of the previous team members started promoting competitors of Nagios in an effort to move people away from the project.  Our attempts to get a response from the previous team lead on multiple occasions to clarify what was happening was met with silence.  So we acted.

We stepped in to prevent these individuals from subverting the project.  We’ll do what we need to do to preserve the various Nagios projects from people and companies with ulterior motives.

Its been an interesting study to watch what some people try to get away with in order to promote their ulterior motives.  One example of this is the outright lies and FUD promoted by Michael Friedrich, as can be seen in his calls for the Fedora/RedHat maintainers to automatically switch Nagios users to a competing solution.  Not surprising that Michael works for Netways GmbH – the same company that recently wrongfully filed Nagios trademark and domain registrations in secret in order to undermine Nagios and the community.  Only after we shamed them by publicly disclosing the details, did Netways finally return the trademarks and domains they were leveraging.  I think its safe to say that words like honesty, integrity, and ethics aren’t valued or even understood by Netways and its employees.

We understand that it can get uncomfortable for individuals when evidence is presented that shows they acted less than honorably.  We at Nagios believe that who you work with is just as important as what it is that you’re working on.  We will always chose to work with individuals with high ethical standards and a great attitude.  If you have skills, but you don’t have values, you won’t be on our team.  Period.

– Ethan Galstad, Nagios Founder and Defender

Nagios Plugins Mailing Lists Moved To New Server

As part of our efforts to improve the Nagios Plugins project, we’ve moved from using the old SourceForge mailing lists for the Nagios Plugins project to a new dedicated list server.  The new mailing list server runs Mailman (which is what the old SourceForge lists ran), so you should find it familiar.  If you were a subscriber to one of the old Nagios Plugins mailing lists, you should have been automatically subscribed to the appropriate new list(s).

The main email list addresses for the Nagios plugins projects are now as follows:

We weren’t able to migrate list membership preferences from SourceForge, so if you prefer a digest subscription or other options, you’ll have to manage your subscription by visiting:

http://lists.nagios.com/mailman/listinfo/

The Nagios Plugins team, as well as the support staff at Nagios Enterprises will be helping to provide support for anyone who has problems or questions related to compiling, installing, or using the plugins

Questions for the Community

I am excited to be the new lead for the nagios-plugins project and look forward to working with the community and other plugin developers to better the project.  Even though we have started to fix some low hanging issues, we have larger plans for the project overall.  Once we finish setting up the automated build and testing servers, the team will open the project up for new plugin submissions.  I have a few questions for the community below, which you can respond to through the mailing lists (Nagiosplugin-commits, Nagiosplugin-devel, Nagiosplugin-help), forum, or directly in the comments below.

1. What distributions (if any) have had problems with building in the past and should be targeted for the automated tests?

2. Are there any plugins that you wish were included in the official nagios-plugins package? (We will be perusing the exchange for popular abandoned gpl perl/c plugins, but user input and submissions are always appreciated)

-Andy Brist