tests: get current directory the perl way
[monitoring-plugins.git] / NEWS
blobaef68e248bf278767a5d152fe32898903b379164
1 This file documents the major additions and syntax changes between releases.
3 2.1
4         ENHANCEMENTS
5         New check_hpjd -p option for port specification (abrist)
6         New ./configure --with-qmail-qstat-command option to specify the path to
7           qmail-qstat(8)
9 2.0 11th July 2014
10         ENHANCEMENTS
11         check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with
12           fallback to sendmail
13         check_ide_smart now defaults to plugin output, original output appended with -v
14         Extra-Opts are now enabled by default, see:
15           https://www.monitoring-plugins.org/doc/extra-opts.html
16         check_swap now supports a configurable state when there is no swap
17         check_radius now supports the FreeRADIUS Client library
18         New check_mysql_query -f option to specify a client options file
19         New check_mysql_query -g option to specify a client options group
20         Add performance data to check_mysql_query
21         New check_file_age -i/--ignore-missing option to return OK on nonexistent files
22         Make check_ping, check_users, and check_disk work on Windows
23         New check_ssh -P option to specify the expected SSH protocol version
24         check_dns now emits the warning and critical thresholds with the performance data
26         FIXES
27         Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified
28         Don't have check_http's -N option expect an argument
29         check_ide_smart could disable offline auto tests but could not re-enable them.
30           For this reason all SMART command modes have been disabled.
31         check_dig: fix wrong IPv6 arguments order (Stéphane Bortzmeyer)
32         check_dig: make sure not to give up too early when a timeout is specified with -t
33         check_log: don't stumble over log lines that include a "%" character
34         check_nt: add UPTIME to perfdata
35         Handle SNMPv3 noAuthNoPriv properly with check_snmp
36         Fix compilation with GnuTLS
38         WARNINGS
39         New default installation prefix: /usr/local instead of /usr/local/nagios
40         check_snmp now evaluates negative values properly, which means it might return CRITICAL
41           in cases where it used to return OK. If this is undesired, the warning/critical
42           threshold(s) must be fixed by specifying e.g. ~:100 instead of 100
43         check_procs now ignores its parent process to avoid unexpected results when invoked via
44           certain shells
45         utils.sh no longer defines ECH
46         check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatible output) are now deprecated
47           but accepted for backward-compatibility
48         check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have
49           been disabled because they were broken
50         State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been
51           renamed MP_STATE_PATH. The old variable will continue to work in v2.0.x
52         Add the UID of the invoking user to the state retention file path. This helps solving
53           permission issues when different users run the same plugin
54         check_swap used to allow returning OK on a system without swap when only percent thresholds
55           were used. This is no longer the case and one must now use -n/--no-swap=<state>
56         The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path
57           option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default
59 1.5 2nd October 2013
60         ENHANCEMENTS
61         New check_dbi plugin for checking an (SQL) database using DBI
62         Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page)
63         Add performance data to check_apt
64         Add performance data to check_procs
65         Added -4/-6 options to check_dig (Ville Mattila)
66         New check_oracle --connect option to perform real login
67         New check_nagios -t option to override the default timeout
68         New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root
69         New check_disk -N/--include-type option to limit the filesystem types to check
70         Allow for building the plugins in parallel
71         Add --without-{dbi,ldap,radius} options to ./configure
72         Made Verbose output of check_sensors compliant (Gabriele Tozzi)
73         New switch -E/--extended-perfdata for check_http to print additional performance data (Sebastian Nohn)
74         New check_http -d option to specify a string to expect within the response headers
75         New check_http -J/-K options for client certificate authentication support
76         Add support for executing queries to check_pgsql
77         Let check_pgsql accept a UNIX socket directory as hostname
78         New check_pgsql -o option to specify additional connection parameters
79         New check_fping -S option to specify the source IP address
80         New check_fping -I option to specify the interface to bind to
81         Let check_fping support IPv6
82         New check_procs -k option to ignore kernel threads (on Linux)
83         Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified
84         Let check_mysql support SSL
85         Let check_mysql add perfromance metrics for all checks
86         New check_mysql -f option to specify a client options file
87         New check_mysql -g option to specify a client options group
88         New check_snmp --offset option to allow for adding/substracting an offset value to sensor data
89         Let check_snmp support an arbitrary number of OIDs
90         Let check_ide_smart support NetBSD
92         FIXES
93         Change the MAIL FROM command generated by check_smtp to be RFC compliant
94         Fix compilation of check_http without SSL support
95         Fix check_snmp reversed threshold ranges (backward-compatibility)
96         Fix check_snmp memory violation when using more than 8 oids (Robin Sonefors)
97         Fix check_apt security regular expression (Alex Bradley)
98         Fix check_http handling extra header (-k) containing semicolons (Richard Leitner)
99         Fix check_apt handling unknown exit codes from apt-get (Richard Leitner)
100         Fix deprecated imports of check_nmap.py (Fabio Rueda)
102         WARNINGS
103         check_http behaviour of -k/--header changed since it does not seperate multiple headers by semicolons anymore. Use multiple -k switches instead.
104         check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way)
105         The contrib directory has been removed from this distribution
107 1.4.16 27th June 2012
108         ENHANCEMENTS
109         check_nt UPTIME accepts warning/critical thresholds (Ryan Kelly)
110         check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
111         check_http now uses standard threshold functions (enables floating point and ranges)
112         check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks (Stéphane Urbanovski)
113         check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166 - Jason Lunn)
114         Add perfdata to check_ssh (#3244097 - Marco Beck)
115         New option to check_smtp to ignore failures when sending QUIT (#3358348 - Duncan Ferguson)
116         New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334 - Sven Nierlein)
117         check_sensors now detects faulty sensors unless --ignore-fault is specified (Jan Wagner)
118         utils.sh now provides a check_range function (Alex Griffin)
119         Improved the performance of check_users (Marc Remy)
120         Add perfdata to check_disk_smb (Debian #654259 - Charles-Henri Larose)
121         Updated Nagios::Plugin perl module
122         Add warning threshold to certificate expiration checks of check_tcp/http/smtp (William Leibzon)
123         Add --perf-oids option for check_snmp (Jochen Bern)
125         FIXES
126         Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603)
127         check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696)
128         Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds
129         Fix check_ldap overriding the port when --ssl was specified after -p
130         Fix check_procs where regex input of '|' would get displayed in output - now replaced with ','
131         Fix segfault in check_host when hostname returns multiple IP addresses (Sebastian Harl)
132         Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors
133         Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638 - Matej Vela)
134         Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921)
135         Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions
136         Fix performance data label containing spaces in check_snmp (Jochen Bern)
138 1.4.15 27th July 2010
139         ENHANCEMENTS
140         New check_ntp_peer -m and -n options to check the number of usable time sources ("truechimers")
141         New check_disk_smb -a option which allows for specifying the IP address of the remote server
142         New check_radius -N option which allows for specifying the value of the NAS-IP-Address attribute
143         New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin}
144         check_snmp -l label option now also changes the perfdata label. See WARNINGS
145         check_snmp has an --invert-search option which reverses status of the string and regexp searches
146         check_http now displays the missing search string and the URL in the output when failed (Duncan Ferguson - #2999924)
147         Updated Nagios::Plugin perl module
148         Updated gnulib to June 2010
150         FIXES
151         Fix check_ircd binding to wrong interface (#668778)
152         Add proxy-authorization option to check_http (Marcel Kuiper - #1323230, Bryan Irvine - #2863925)
153         check_icmp now increment the sequence counter in each packet
154         Fix usage of repeated -o options in check_snmp
155         Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
156         Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455)
157         Fix compilation with GCC 2.96 (Konstantin Khomoutov - #2977105)
158         Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
159         Fix regression in check_http ssl checks on some servers - make SNI an option
160         Fix guest mode support in check_disk_smb
161         Fix check_disk_smb and check_ircd failures when run via ePN
162         check_ldap now allows for specifying an empty LDAP base
163         Fix compilation error of pst3 in Solaris 8
164         Fix check_radius returning OK on unexpected results (Craig Leres - #2911752)
165         Fix translations when extra-opts aren't enabled (Jan Wagner - #2832884)
166         Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451)
167         Fix detection of pst3 64-bit compile flags with Sun CC
168         Fix cmd_run overwriting the environment, which would break some commands that needed it
169         Allow check_ifstatus to accept version=2c - used to only allow version=2 (Brian Landers)
170         Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters
172         WARNINGS
173         Updated developer documentation to say that performance labels should not have an equals sign or
174         single quote in the label
175         check_http 1.4.14 introduced SSL SNI support - you now have to enable it explicitly with "--sni"
176         check_snmp -l label option is also used for the performance label. This could change history from previous uses
178 1.4.14 16th September 2009
179         check_http has options to specify the HTTP method (#2155152)
180         check_users thresholds were not working exactly as documented (>= rather than >)
181         Updated tinderbox_build script to point to new tinderbox server
182         check_ifoperstatus -n flag now works as expected (sf.net #1569488)
183         check_ifoperstatus now supports ifType based lookup for ifIndex
184         check_ups now sends a LOGOUT string (debian bug #387001)
185         Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P)
186         Extra-opts (C plugins) does not allow trailing comments anymore (like N::P)
187         Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
188         Fixed segfault in extra-opts under some circumstance when reading multiple sections
189         Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp
190         Add missing long options for check_nt (for use with extra-opts)
191         check_icmp now reports min and max round trip time perfdata (Steve Rader)
192         Fixed check_http bug where additional headers with redirection caused a segfault (Dieter Van de Walle - 2089159)
193         check_disk: make autofs mount paths specified with -p before we determine the mount list (Erik Welch)
194         Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265)
195         Re-bundled libtap as a built-in library (--enable-libtap): detects system library as pre-1.4.13 and does not install the built-in library anymore
196         Fixed check_mrtg returning UNKNOWN instead of OK (bug #2378068)
197         Fixed check_http behaviour: all check are now performed as long as a valid response is returned (sf.net #1460312)
198         check_http --onredirect=sticky follows using the same IP address (sf.net #2550208)
199         check_http --onredirect=stickyport also follows the same port
200         Fixed coredump from check_nt when invalid drive is specified (#2179754 - Olli Hauer)
201         Fixed crash from check_nt when -H unspecified or given multiple times (sf.net #2731755, debian #521097)
202         Fixed passing of quotes in OID for check_snmp (#1985230 - Jan Wagner, patch by John Barbuto)
203         Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765)
204         Fixed check_http not timing-out on redirects
205         Fixed negate not printing the real timeout in ALRM handler when left to default
206         negate timeout result is now configurable
207         Fixed segfault in check_mysql with old slaves (#2696823 - Oskar Ahner)
208         check_nt can return UNKNOWN on timeouts (-u)
209         Fixed typos for check_disk (Chris Pepper)
210         Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it.
211         Fixed awk subst.in/subst script path error (#2722832 - Martin Foster)
212         check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022 - Joe Presbrey)
213         Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308 - Gavin Williams)
214         Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675)
215         check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds
216         check_fping now supports passing target timeout and interval to fping (#2347686 - Martin Foster)
217         Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438 - Robin Schroeder)
218         check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments
219         pst3 compile fix for Sun Studio Compiler (Grant Byers)
221 1.4.13 25th Sept 2008
222         Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)
223         Optimised pst3 for systems with large number of processes (Duncan Ferguson)
224         Updated Nagios::Plugin to 0.27
225         Fix Debian bug #479013: check_dig's -l is mandatory now (sf.net #1986306)
226         check_dig now returns CRITICAL instead of WARNING when no answer section is found
227         check_procs now captures stderr in external command and adds to plugin output
228         check_snmp now only prints perfdata for non numeric values (#1867716)
229         check_icmp now supports packet size modification
230         check_http -e now accepts a comma-delimited list of expected status codes (Sven Nierlein)
231         libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
232         check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
233         Fix possible segfault in check_ntp_peer with deliberately invalid packets
235 1.4.12 27th May 2008
236         Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren)
237         New check_icmp -s option to specify the source IP address
238         check_dns now sorts addresses for testing results for more than one returned IP (Matthias Urlichs)
239         Fix segfault in check_ntp_time and (deprecated) check_ntp (Bug #1862300)
240         check_disk should now work with large file systems (2TB+) on all archs that supports it
241         Fixed check_disk disk usage calculation when using --group=NAME (related to bug #1348746)
242         Fix help text of check_ntp* (Bug #1880095)
243         Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp
244         check_ntp_peer now checks for the LI_ALARM flag
245         Sync to latest Gnulib (includes new floorf function)
246         check_pgsql now successfully builds with postgres lib v8.3 (Bug #1878972)  
247         check_procs now accepts --ereg-argument-array for a regular expression match to the argument array
248         Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems
249         If applicable, Gettext linked dynamically instead of statically
250         check_dig can now pass arguments to dig by using -A/--dig-arguments (#1874041/#1889453)
251         check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help
252         check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers)
253         check_mysql and check_radius now try clearing password in processlist just like check_mysql_query
254         check_mysql and check_mysql_query now support sockets explicitely (-s, --socket)
255         negate now has the ability to replace the status text as well (-s, --substitute)
256         Added performance data to check_ping (Christian Schneemann)
257         Added support for --extra-opts in all C plugins (disabled by default, see configure --help)
258         Fixed passive option in check_by_ssh
259         On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN.
260         Fix linking against OpenSSL where libdl is required
262 1.4.11 13th December 2007
263         Fixed check_http regression in 1.4.10 where following redirects to
264           relative URLs on virtual hosts failed if both "-H" and "-I" were used
265         Merged two new checks that deprecates check_ntp: check_ntp_peer and check_ntp_time.
266           You should read the --help output so see which one is suitable for you. check_ntp_peer
267           implement stratum thresholds support (feature request #1703823).
268         check_ntp now returns UNKNOWN instead of WARNING if jitter is unavailable (jitter=-1.000000)
269           as long as the thresholds range include -1. If no offset threshold is specified
270           and the offset is unavailable, will return UNKNOWN as well.
271           NOTE: If jitter thresholds are specified as integers it will return CRITICAL if jitter
272           is "-1" as the default range starts at 0. See Examples in --help output.
273         Fixed broken usage2 in check_snmp and check_cluster
274         check_cluster now accepts all valid characters in its thresholds ("-", "@", "~")
275         Fixed check_disk reporting OK if disk usage grows over 100% (bug #1348746).
276           The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c
277         Fixed check_load argument handling when not passing triplets (bug #1831890)
278         Fixed buffer overflow in check_snmp (CVE-2007-5623)
279         Tinderbox builds now runs tests in a verbose mode
280         Updated Nagios::Plugin to 0.22
281         VPATH problem fixed for compiling plugins-root
283 1.4.10 28th September 2007
284         Fix check_http buffer overflow vulnerability when following HTTP redirects (CVE-2007-5198)
285         check_http now explicitly asks HTTP/1.1 servers to close the connection
286           after completion of the response
287         Check_ldaps' guessing which secure method to use (starttls vs. ssl on connect)
288           is now deprecated. See --help for further information.
289         Check_disk now calls stat() on all filesystems to check. (Old: only the ones selected using -p)
290           A meaningful error message (eg "Stale NFS Handle") is printed if stat fails.
291         New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too.
292           Thus accessibility of remote filesystems can be checked without any threshold comparison.
293         Check_disk's --help now prints some examples for the new features introduced in 1.4.8
294         New check_disk -i/-I option to ignore pathes/partitions based on regular expressions
295         New check_disk -A option to select all filesystems explicitly
296         WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments
297           Passing -E after -p or -r results in UNKNOWN state, now
298           This is needed due to the new ignore feature
299         Fix check_disk bug when mixing case sensitive and case insensitive regex arguments
300         New check_dhcp -u/--unicast option for emulating a DHCP relay in order
301           to check DHCP servers on remote networks
302         New check_dhcp -m/--mac option which allows for specifying the MAC
303           address to use in the DHCP request
304         The check_dhcp -r and -s options now accept host names, too
305         Fix possible check_icmp bus errors on some (non-x86/AMD64) platforms
306         Fix check_smtp's handling of multiple-packet server responses
307         WARNING: Fix for negate which may break existing commands:
308           - stop evaluating command line options through shell twice
309           - enforce a full path for the command to run
310         The "negate" utility can now remap custom states
311         Check_radius now supports radiusclient-ng
312         The (undocumented) positional parameter parsing which check_radius used
313           instead of getopt(3) if 8 arguments were given is no longer available
314         Check_by_ssh now supports multiline output
315         IPv6 support can now be disabled using ./configure --without-ipv6
316         Fix check_ntp now honor ntp flags
318 1.4.9 4th June 2007
319         Inclusion of contrib/check_cluster2 as check_cluster with some improvements
320         New/improved -E/--skip-stderr and -S/--skip-stdout options for check_by_ssh
321         check_snmp now supports Counter64
322         Fix compilation of check_ldap, check_radius and check_pgsql
323         check_load can optionally divide by number of cpus
324         Fix check_time returning wrong OK when time is before the epoch on some arch
325         Make check_http output more consistent
326         Fix possible check_http segfaults when following HTTP redirects
327         check_snmp don't warn anymore if something is printed on stderr
328         Fix check_tcp segfault when multiple expect strings are given
329         New option for check_tcp: -A/--all to test if all given expect strings match
331 1.4.8 11th April 2007
332         Respects --without-world-permissions for setuid plugins
333         check_disk extra options for regex matching of filesystems and grouping of filesystems
334         for collective thresholds
335         Better configure test for mysqlclient availability
336         Various check_ntp fixes
338 1.4.7 29th March 2007
339         check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris
340         Fixed MKINSTALLDIRS problem in po/
341         ./configure now detects if possible to compile check_mysql
342         Fixed broken HELO in check_smtp
343         check_icmp now allows to set a minimum number of hosts required for successs (-m)
344         check_icmp fix for *BSD when running for long time
345         check_ping times out 1 second quicker if host is unreachable
346         Root plugins installed with world executable
347         check_sybase from contrib now maintained in MonitoringExchange
348         --with-nagios-user/group reinstated ./configure option
349         New --without-world-permissions ./configure option
351 1.4.6 5th February 2007
352         Reduced number of DNS lookups in check_ping and netutils.c for IPv6 configurations
353         Fixed compile problems with *BSD re: alloca.h
354         Fixed Solaris problems with check_swap (tested on Solaris 9)
355         Fixed check_swap for HP/UX where swapinfo command was incorrect
356         Fixed check_disk inode threshold checks, regressed at r1.4.4.
357         Fixed crit/warn for check_disk perf data
358         Fixed buffer overflow in check_procs
359         Fixed error handling for UNIX sockets in netutils.c
360         New -q and -o options for check_by_ssh which are handed over to ssh(1) as is
361         Synced with latest GNUlib
362         Fixed check_jabber always returns warning
364 1.4.5
365         Fixed bug in perl's is_hostname routine
367 1.4.4
368         New C based check_ntp. The perl version is now deprecated.
369         New check_apt plugin
370         Notice: plugins in contrib/ will start to be removed from this distribution.
371           Please check at http://www.monitoringexchange.org for contributed plugins
372         Major bug fixes to check_disk where values were incorrectly calculated and alerted on.
373         check_udp2 removed. check_udp is now linked to check_tcp.c
374         check_mailq now errors if the sub-program run returns non-zero return code. This would appear
375           as if mailqs were okay when the nagios user could not query the mail-queues
376         Compile problems with check_snmp fixed
378 1.4.3
379         Setuid plugins (check_dhcp, check_icmp) separated into plugins-root/. Run make install as root to install
380         SSL plugins work with gnutls as well as OpenSSL
381         check_mysql_query added to run arbitrary SQL commands, with threshold checking
382         libtool now required for development systems
383         Notice: check_udp (compiled from check_udp.c) will be deprecated in the next release.
384           check_udp2 should be used instead and will be renamed to check_udp
386 1.4.2
387         Fix for Redhat ES4 for check_dns and check_dig
390         IPv6 support in check_ping, check_by_ssh, check_http, check_ldap, check_smtp, check_tcp
391         Internationalisation support
392         Performance data added to most plugins
393         check_disk now using GNU coreutils code
394         New plugins - check_dhcp, check_icmp
395         contrib/check_citrix has been replaced by contrib/check_ica* (requires packet_utils.pm in libexec)
396         check_http --min changed to --pagesize, added max so min:max in check
397         check_vsz and check_rss deprecated - functionality moved into check_procs
398         check_swap % thresholds changed to measure amount free, instead of amount used
399         check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB
400         check_procs -C expects no path for the command name