Merge pull request #2014 from RincewindsHat/check_curl_regex_state
[monitoring-plugins.git] / NEWS
blobfd43fd3a215eba86a3942720e13eab44232255c8
1 This file documents the major additions and syntax changes between releases.
3 2.4.0 25th Jul 2024
4         FIXES
5         * check_dbi: Compiler warning for uninitialized variable
6         * check_curl: Initialize pointer before usage
7         * check_ntp: Initialize intermediate results in any case
8         * Fixes for -Wsign-compare
9         * check_tcp: Fixes an error with using the wrong type for a variable
10         * check_mailq: exit on empty strings and exit early
11         * check_users: Change option for sanity checking arguments to avoid segfault
12         * check_users: Update help to properly show that thresholds are ranges
13         * check_users: fix segfault
14         * check_dbi: Fix compiler warning for uninitialized variable
15         * check_curl: Initialize pointer before usage
16         * check_ntp: Initialize intermediate results in any case
17         * Fix logic in is_uint64_t to fix type-limit warning
18         * check_ntp_peer: Fixes for Wmaybe-unitialized and some restructuring
19         * check_dns: Remove unused variable
20         * check_disk: fix ignore-missing in combination with includes
21         * check_procs: ignore our own children
22         * Prevent -lcrypto from showing up in Makefile dependencies
23         * Change irritating NULL assignment
24         * check_http: Remove self assignment of a variable and add some comments
25         * check_snmp: Remove unused variable
26         * check_dhcp: Make implicit conversion explicit to dismiss warning
27         * Ini Parser: Avoid freeing symbols from text section
28         * check_icmp: keep performance data order in case of none-reachable hosts
29         * check_swap: Change another fake boolean to a real one
30         * check_swap: Rename type since *_t is reserved for C standard types
31         * check_ssh: Fix a typo in "remote-protocol parameter
32         * check_ssh: Handle non-alpha software versions
33         * check_ssh: properly parse a delayed version control string
34         * check_disk: Fail on missing arguments for --warning and --critical and fix a test case
35         * check_disk: Use new test function for percentage expressions
36         * check_load: remove unused code
37         * check_curl/check_http: clarified format of POST data
39         ENHANCEMENTS
40         * Use C99 booleans
41         * check_mailq: remove trailing whitespaces
42         * check_mailq: unify tabs/spaces
43         * check_oracle: Shellcheck fixes
44         * check_ups: output ups.realpower if supported
45         * check_disk: add -n short option for --ignore-missing
46         * check_procs: Improve help text, mentioning excluded processes
47         * check_procs: Generalise wording, remove mentioning of nrpe
48         * check_curl: add haproxy protocol option
49         * Improve negate plugin helptext
50         * check_disk: increase alert precision
51         * check_ircd: IPv6 support
52         * check_nwstat: adds percentage used space
53         * Add new test function for percentage expressions
54         * check_swap: Possibility to run check_swap without thresholds
55         * check_ups: additional alarm conditions
56         * check_http/check_curl: added a --regex-state option to change the state of a regex check
58 2.3.5 18th Oct 2023
59         FIXES
60         * Include maxfd.h in lib Makefile
62 2.3.4 18th Oct 2023
63         ENHANCEMENTS
64         * check_curl: added --cookie-jar and doing proper cleanup of libcurl
65         * check_curl: Include all IPs from getaddrinfo() in curl DNS cache
66         * check_dhcp: Add dhcp rogue detection
67         * check_disk: add ignore-missing option to return OK for missing fs
68         * check_disk_smb: allow checking 0-sized resource (ex. IPC$)
69         * check_disk: The options to include or exclude specific file systems now allow the usage of regex(7)
70         * check_icmp: Add support to Jitter, MOS and Score
71         * check_mysql: Detect running mysqldump and handle it more gracefully
72         * check_procs: Implement --exclude-process to exclude specific processes
73         * check_smtp: add new longoption --tls
74         * check_smtp: Add option to prefix PROXY header
75         * check_smtp: Add support for SMTP over TLS
76         * check_smtp: Add support for SNI
77         * check_snmp: Implement option to ignore mib file parsing errors
78         * check_users: prefer systemd-logind over utmp
80         FIXES
81         * check_disk: Display SI units correctly
82         * check_ircd: use pack_sockaddr_in rather than hand-rolled
83         * check_log/check_oracle/check_sensors: fixed the outputs of the help functionality
84         * check_mysql: Add mysql_close to avoid spamming the server logs
85         * check_smtp: add missing -r option in usage
86         * check_snmp: disable multiplier when unused
87         * check_wave: Use compile time determined path to snmpget
88         
89         GENERAL
90         * Sync with the Gnulib code 668c0b8ffa
91         * Set autoconf prerequisite version to 2.64
92         * Remove sha1 and use sha256 in some parts of the plugin structure
93         * A lot of compiler warnings were fixed
94         * Some code was refactored a little bit
96 2.3.3 2nd Feb 2023
97         ENHANCEMENTS
98         using PRId64 and PRIu64 instead of %ld directly
99         check_http: Make faster with larger files
100         check_snmp: add 'multiplier' to modify current value
101         check_http: Implement chunked encoding decoding
102         check_http/check_curl: add chunked encoding test
103         check_log: Added --exclude to exclude patterns
104         check_log: Add tests
105         check_disk: Clarify usage possibilities
107         FIXES
108         fixed two PRId64 to PRIu64 in perfdata_uint64
109         check_pgsql: Removing is_pg_dbname altogether,using postgres API.
110         check_http: Remove superfluous CRLF in HTTP-Requests
111         check_curl: detect ipv6
112         check_icmp: fix parsing help/version long options
113         check_http: fix test plan
114         check_disk: Find accessible mount path if multiple are available
115         check_apt: Fix unknown escape sequence error output
116         check_curl: fix checking large bodys
117         check_snmp: Improve tests for check_snmp & multiply option
118         check_snmp: always apply format when applying multiplier
119         check_http: Use real booleans instead of ints
120         check_http: Document process_arguments a little bit better
121         check_http: Remove dead code
122         check_http: Fix several bug in the implementation of unchunking
123         check_http: Reformat a part to increase readability
124         check_apt: Put upgrade options in the root sections
125         check_apt: Fix comment
126         check_apt: Use real booleans
127         check_mailq: Fixing nullmailer regex
128         check_snmp: Fix regex matches
129         check_log: Fixed a bug when using --all
130         check_log: Cleaned up duplicated code in the args
131         check_http: Fix memory reallocation error in chunk decoding logic
132         check_http: Add space for ending NULL byte in array for chunked encoding
134 2.3.2 20th Oct 2022
135         GENERAL
136         Use netcat-openbsd for debian explicitly (by @RincewindsHat #1704)
137         Replace egrep with grep -E (by @RincewindsHat #1791)
138         Use silent automake by default (by @RincewindsHat #1747)
140         SINGLE PLUGINS
141         check_by_ssh: added option to exit with an warning, if there is output on STDERR (by @nafets #1301)
142         check_by_ssh: Add "-U" flag (#1123). (by @archiecobbs #1774)
143         check_by_ssh: Let ssh decide if a host is valid, enables usage of ssh .config file (by @RincewindsHat #1691)
144         check_curl: Add an option to check_curl to verify the peer certificate & host using the system CA's (by @bazzisoft #1669)
145         check_curl: fixed -ffollow for HTTP/2.0 (Fixes #1685): added major_version parsing to PicoHTTPParser (by @andreasbaumann #1742)
146         check_curl: fixes check_curl: "CRITICAL - Cannot retrieve certificate subject." (by @andreasbaumann #1689)
147         check_curl: fix if http header contains leading spaces (by @sni #1666)
148         check_curl: Update check_curl.c to display a specific human-readable error message where possible (by @bazzisoft #1668)
149         check_curl: verify certificates option should not force SSL to be used (by @bazzisoft #1688)
150         check_disk: Description for -M was the wrong way around (by @RincewindsHat #1746)
151         check_disk: Fixing the stuff that is broken on btrfs (by @waja #1388)
152         check_disk: Fix perfdata for big values for check disk (by @RincewindsHat #1714)
153         check_disk_smb: Add configfile feature (by @Napsty #1402)
154         check_disk_smb: Add timeout (by @cdruee #1770)
155         check_dns: Add --expect-nxdomain (by @Jonny007-MKD #1623)
156         check_dns: split multiple IP addresses passed in one -a argument (by @DerDakon #1649)
157         check_file_age: Make size parameter a little bit more intelligible (by @RincewindsHat #1730)
158         check_fping: Implements 'host-alive' mode (Closes. #1027) (by @waja #1740)
159         check_game: Update Url to qstat (by @RincewindsHat #1725)
160         check_http: changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loop (by @xFuture603 #1690)
161         check_http: Increase regexp limit (by @hydrapolic #1566)
162         check_http: Support http redirect (by @waja #1449)
163         check_icmp: buffer offerflow (by @RincewindsHat #1733)
164         check_icmp: delay set_source_ip() until address_family is detected (by @ghciv6 #1735)
165         check_icmp: Fix "Invalid Argument" from sendmsg() under FreeBSD 13.1 and "setsockopt failed" for TTL setting (by @eriksejr #1771)
166         check_icmp: Fix pkt perfdata in check_host mode (by @sjoegren #1721)
167         check_ldap: Allows check_ldap to read password from environment variable (by @mullumaus #1724)
168         check_load: add LOAD prefix to load plugin (by @haraldj #1694)
169         check_load: Display total and scaled load values if check_load scales the values (by number of CPUs by @RincewindsHat #1778)
170         check_log: Missing oldlog now aborts check_log (by @RincewindsHat #1732)
171         check_mailq: Add mailq -C option for config dir or config file (by @leeclemens #1490)
172         check_mailq: Check mailq domain specific warnings (by @RincewindsHat #1731)
173         check_mailq: Fix regexp for nullmailer "mailq" output (by @darksoul42 #1493)
174         check_mysql: fix segfaults with mysql-connector-c #1562 (by @ghciv6 #1644)
175         check_pgsql: add --queryname parameter to check_pgsql (by @datamuc #1741)
176         check_ping: Do not show RTA if no connection was possible (by @RincewindsHat #1697)
177         check_ping: understang ping6 output from iputils package (by @glensc #1412)
178         check_proc: Fix check proc ps detection (by @sni #1712)
179         check_procs: exchange needle and haystack in strstr() for proper st… (by @wolfgangkarall #1654)
180         check_smtp: add -L flag to support LMTP (LHLO instead of HELO/EHLO). (by @ghen2 #1715)
181         check_snmp: Added option for null zero length string exit codes (by @FracKenA #1496)
182         check_snmp: fix performance thresholds when using multiple oids (by @sni #1722)
183         check_snmp fix segfaults (by @adrb #1589)
184         check_snmp: put the "c" (to mark a counter) after the perfdata value (by @lausser #1465)
185         check_swap: fix parsing swap values (by @sni #1780)
186         check_swap: Fix perfdata for check swap (by @RincewindsHat #1707)
187         check_swap: Fix unit for total in perfdata (by @RincewindsHat #1779)
188         check_swap: Handle cached swap (by @mdavranche #1642)
189         check_swap: Small fix to threshold validation and style (indentation) fixes (by @RincewindsHat #1723)
190         check_ups: Fix possible overflow in check_ups (by @phibos #1727)
191         check_uptime: Add option to report uptime in days instead of seconds (by @amotl #1750)
192         check_uptime: Fix/improve output message "Uptime is ..." (by @amotl #1751)
194         MULTIPLE PLUGINS
195         check_http, check_curl: added --max-redirs=N option (feature #1684) (by @andreasbaumann #1744)
196         check_http, check_curl: Enhancement --continue-after-certificate (backport from nagios-plugins) (by @andreasbaumann #1762)
197         check_http, check_curl: Remove check_http and check_curl test which are somehow always failing (by @RincewindsHat #1777)
198         check_log, check_oracle, check_sensors: Several fixes shellcheck complaining about (by @waja #1459)
199         sslutils: use chain from client certificates (by @tobiaswiese #1664)
201         NON FUNCTIONAL CHANGES
202         Trivial source code whitespace formatting fixes to standard. (by @ziesemer #1424)
203         docs: fix simple typo, conspicuosly -> conspicuously (by @timgates42 #1652)
204         Migrate to GitHub actions (by @jacobbaungard #1686)
205         Point to Icinga Exchange instead of dead Monitoring Exchange (by @RincewindsHat #1737)
206         github actions: fix check_users test case (by @sni #1713)
207         Add CodeQL checks (by @phibos #1682)
208         Fix some QL problems (by @RincewindsHat #1729)
209         Update CodeQL and update runner before installing (by @RincewindsHat #1775)
210         check_disk: Check disk compiler warnings (by @RincewindsHat #1758)
211         check_disk: Trivial printf fix and a little bit of code style (by @RincewindsHat #1695)
212         check_http: Docs: make -C obvious (by @stblassitude #1554)
213         check_ifoperstatus: Re-attach a comment to where it actually belongs (by @peternewman #1699)
214         check_ircd: Restrict the nickname length of the test user for check_ircd (by @RincewindsHat #1710)
215         check_load: Check load compiler warnings (by @RincewindsHat #1759)
216         check_log: Modernize check log (by @RincewindsHat #1692)
217         check_mailq: remove duplicate W=i/C=i args in check_mailq.pl (by @ichdasich #1755)
218         check_ntp: Check ntp remove unused variables (by @RincewindsHat #1781)
219         check_pgsql: Using snprintf which honors the buffers size and guarantees null termination. (Closes: #1601) (by @waja #1663)
220         check_procs: Fix double percentage sign in usage (by @RincewindsHat #1743)
221         check_sensors.sh: Make shellcheck happier (by @RincewindsHat #1679)
222         check_snmp: Fixed option description authpassword -> authpasswd + whitespaces (by @RincewindsHat #1676)
223         check_swap: Check swap compiler warnings (by @RincewindsHat #1756)
225 2.3.1 10 April 2021
226         ENHANCEMENTS
227         check_curl: Add an option to verify the peer certificate & host using the system CA's
229         FIXES
230         check_icmp: fix simple typo, conspicuosly -> conspicuously
231         check_curl: fixed help, usage and errors for TLS 1.3
232         check_curl: fixed a potential buffer overflow in url buffer
233         check_dns: split multiple IP addresses passed in one -a argument
234         check_curl: added string_statuscode function for printing HTTP/1.1 and HTTP/2 correctly
235         check_curl: fix crash if http header contains leading spaces
236         check_curl: display a specific human-readable error message where possible
237         check_pgsql: Using snprintf which honors the buffers size and guarantees null termination.
238         check_snmp: put the "c" (to mark a counter) after the perfdata value
239         check_http: Increase regexp limit
240         check_http: make -C obvious
241         check_curl: Increase regexp limit (to 1024 as in check_http)
242         check_curl: make -C obvious (from check_http)
243         check_curl: backported --show-body/-B to print body (from check_http)
245 2.3 10th December 2020
246         ENHANCEMENTS
247         check_dns: allow 'expected address' (-a) to be specified in CIDR notation
248           (IPv4 only).
249         check_dns: allow for IPv6 RDNS
250         check_dns: Accept CIDR
251         check_dns: allow unsorted addresses
252         check_dns: allow forcing complete match of all addresses
253         check_dns: option to expect NXDOMAIN
254         check_apt: add --only-critical switch
255         check_apt: add -l/--list option to print packages
256         check_file_age: add range checking
257         check_file_age: enable to test for maximum file size
258         check_apt: adding packages-warning option
259         check_load: Adding top consuming processes option
260         check_http: Adding Proxy-Authorization and extra headers
261         check_snmp: make calculation of timeout value in help output more clear
262         check_uptime: new plugin for checking uptime to see how long the system is running
263         check_curl: check_http replacement based on libcurl
264         check_http: Allow user to specify HTTP method after proxy CONNECT
265         check_http: Add new flag --show-body/-B to print body
266         check_cluster: Added data argument validation
267         check_icmp: Add IPv6 support
268         check_icmp: Automatically detect IP protocol
269         check_icmp: emit error if multiple protocol version
270         check_disk: add support to display inodes usage in perfdata
271         check_hpjd: Added -D option to disable warning on 'out of paper'
272         check_http: support the --show-body/-B flag when --expect is used
273         check_mysql: allow mariadbclient to be used
274         check_tcp: add --sni
275         check_dns: detect unreachable dns service in nslookup output
277         FIXES
278         Fix regression where check_dhcp was rereading response in a tight loop
279         check_dns: fix error detection on sles nslookup
280         check_disk_smb: fix timeout issue
281         check_swap: repaired "-n" behaviour
282         check_icmp: Correctly set address_family on lookup
283         check_icmp: Do not overwrite -4,-6 on lookup
284         check_smtp: initializes n before it is used
285         check_dns: fix typo in parameter description
286         check_by_ssh: fix child process leak on timeouts
287         check_mysql: Allow sockets to be specified to -H
288         check_procs: improve command examples for 'at least' processes
289         check_swap: repaired "-n" behaviour
290         check_disk: include -P switch in help
291         check_mailq: restore accidentally removed options
293 2.2 29th November 2016
294         ENHANCEMENTS
295         The check_http -S/--ssl option now accepts the arguments "1.1" and "1.2"
296           to force TLSv1.1 and TLSv1.2 connections, respectively
297         The check_http -S/--ssl option now allows for specifying the desired
298           protocol with a "+" suffix to also accept newer versions
299         Let check_http check HTTPS web sites via proxies
300         check_http: add timeout to performance data as max value
301         check_http: report certificate expiry date in UTC
302         check_snmp: add IPv6 support
303         check_snmp's performance data now also includes warning/critical
304           thresholds
305         New check_snmp -N option to specify SNMPv3 context name
306         Let check_smtp's -D option imply -S
307         Let check_smtp's -e option match against the full SMTP response
308         check_dig: expected response is now case-insensitive
309         New check_mailq -s option which tells the plugin to use sudo(8)
310         New check_nt -l parameters: seconds|minutes|hours|days
311         New -W/-C option for check_ldap to check number of entries
312         check_users: add support for range thresholds
313         check_fping now auto-detects IPv6 addresses
314         check_radius now supports the radcli library
315         Support OpenSSL 1.1
317         FIXES
318         check_http: fix host header port handling
319         Let check_real terminate lines with CRLF when talking to the server, as
320           mandated by RFC 2326
321         Fix check_procs on HP-UX
322         check_smtp's -e/--expect option can now be combined with -S/--starttls
323         Fix incorrect performance data thresholds emitted by check_ups
324         Don't let check_procs miss some processes on busy Solaris systems
326         WARNINGS
327         The format of the performance data emitted by check_mrtgtraf has been
328           changed to comply with the development guidelines
329         check_ssh now returns CRITICAL for protocol/version errors
330         If a plugin is invoked with -h/--help or -V/--version, the exit status
331           is now UNKNOWN
332         The superseded check_ntp.pl was removed, please use check_ntp_peer or
333           check_ntp_time instead
335 2.1.2 16th October 2015
336         FIXES
337         Fix incorrect performance data thresholds emitted by check_ups
338         Fix check_dhcp's option parsing to not crash with certain arguments
339         Fix check_snmp using correct timeout
341 2.1.1 2nd December 2014
342         FIXES
343         Fix check_ntp's jitter checking
344         Fix check_ntp's handling of invalid server responses
345         Fix check_apt's handling of invalid regular expressions
346         Fix check_real's server response processing
347         Fix backslash escaping in check_tcp's --help output
349 2.1 15th October 2014
350         ENHANCEMENTS
351         New check_hpjd -p option for port specification
352         New ./configure --with-qmail-qstat-command option to specify the path to
353           qmail-qstat(8)
354         New check_ifstatus -n option to ignore interfaces by name
355         check_ntp_peer has now specific state output for each metric
356         New check_mysql -n option to ignore authentication failures
357         Added IP and port or socket name to error messages
358         New check_ntp_time -o option to add expected offset
359         check_disk shows now troubled partitions in verbose mode
360         check_dig has now support for drill and dig
361         check_dig has now support for -6 option
362         Add performance data to check_file_age
364         FIXES
365         Fix check_jabber to work with Openfire servers
366         Fix check_oracle bad string matching when testing TNS server
367         Fixed check_ifstatus performance data output
368         Fixed expire time output for sslutils
369         check_dns now verifies if the answer is returning from the queried
370           server
371         Fix check_by_ssh to accept --hostname as argument
373         WARNINGS
374         This release doesn't ship with an RPM spec file, please contribute to
375           PR #1283 if you are interested in it
377 2.0 11th July 2014
378         ENHANCEMENTS
379         check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with
380           fallback to sendmail
381         check_ide_smart now defaults to plugin output, original output appended with -v
382         Extra-Opts are now enabled by default, see:
383           https://www.monitoring-plugins.org/doc/extra-opts.html
384         check_swap now supports a configurable state when there is no swap
385         check_radius now supports the FreeRADIUS Client library
386         New check_mysql_query -f option to specify a client options file
387         New check_mysql_query -g option to specify a client options group
388         Add performance data to check_mysql_query
389         New check_file_age -i/--ignore-missing option to return OK on nonexistent files
390         Make check_ping, check_users, and check_disk work on Windows
391         New check_ssh -P option to specify the expected SSH protocol version
392         check_dns now emits the warning and critical thresholds with the performance data
394         FIXES
395         Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified
396         Don't have check_http's -N option expect an argument
397         check_ide_smart could disable offline auto tests but could not re-enable them.
398           For this reason all SMART command modes have been disabled.
399         check_dig: fix wrong IPv6 arguments order
400         check_dig: make sure not to give up too early when a timeout is specified with -t
401         check_log: don't stumble over log lines that include a "%" character
402         check_nt: add UPTIME to perfdata
403         Handle SNMPv3 noAuthNoPriv properly with check_snmp
404         Fix compilation with GnuTLS
406         WARNINGS
407         New default installation prefix: /usr/local instead of /usr/local/nagios
408         check_snmp now evaluates negative values properly, which means it might return CRITICAL
409           in cases where it used to return OK. If this is undesired, the warning/critical
410           threshold(s) must be fixed by specifying e.g. ~:100 instead of 100
411         check_procs now ignores its parent process to avoid unexpected results when invoked via
412           certain shells
413         utils.sh no longer defines ECH
414         check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatible output) are now deprecated
415           but accepted for backward-compatibility
416         check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have
417           been disabled because they were broken
418         State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been
419           renamed MP_STATE_PATH. The old variable will continue to work in v2.0.x
420         Add the UID of the invoking user to the state retention file path. This helps solving
421           permission issues when different users run the same plugin
422         check_swap used to allow returning OK on a system without swap when only percent thresholds
423           were used. This is no longer the case and one must now use -n/--no-swap=<state>
424         The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path
425           option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default
427 1.5 2nd October 2013
428         ENHANCEMENTS
429         New check_dbi plugin for checking an (SQL) database using DBI
430         Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page)
431         Add performance data to check_apt
432         Add performance data to check_procs
433         Added -4/-6 options to check_dig
434         New check_oracle --connect option to perform real login
435         New check_nagios -t option to override the default timeout
436         New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root
437         New check_disk -N/--include-type option to limit the filesystem types to check
438         Allow for building the plugins in parallel
439         Add --without-{dbi,ldap,radius} options to ./configure
440         Made Verbose output of check_sensors compliant
441         New switch -E/--extended-perfdata for check_http to print additional performance data
442         New check_http -d option to specify a string to expect within the response headers
443         New check_http -J/-K options for client certificate authentication support
444         Add support for executing queries to check_pgsql
445         Let check_pgsql accept a UNIX socket directory as hostname
446         New check_pgsql -o option to specify additional connection parameters
447         New check_fping -S option to specify the source IP address
448         New check_fping -I option to specify the interface to bind to
449         Let check_fping support IPv6
450         New check_procs -k option to ignore kernel threads (on Linux)
451         Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified
452         Let check_mysql support SSL
453         Let check_mysql add performance metrics for all checks
454         New check_mysql -f option to specify a client options file
455         New check_mysql -g option to specify a client options group
456         New check_snmp --offset option to allow for adding/subtracting an offset value to sensor data
457         Let check_snmp support an arbitrary number of OIDs
458         Let check_ide_smart support NetBSD
460         FIXES
461         Change the MAIL FROM command generated by check_smtp to be RFC compliant
462         Fix compilation of check_http without SSL support
463         Fix check_snmp reversed threshold ranges (backward-compatibility)
464         Fix check_snmp memory violation when using more than 8 oids
465         Fix check_apt security regular expression
466         Fix check_http handling extra header (-k) containing semicolons
467         Fix check_apt handling unknown exit codes from apt-get
468         Fix deprecated imports of check_nmap.py
470         WARNINGS
471         check_http behaviour of -k/--header changed since it does not separate multiple headers by semicolons anymore. Use multiple -k switches instead.
472         check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way)
473         The contrib directory has been removed from this distribution
475 1.4.16 27th June 2012
476         ENHANCEMENTS
477         check_nt UPTIME accepts warning/critical thresholds
478         check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
479         check_http now uses standard threshold functions (enables floating point and ranges)
480         check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks
481         check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166)
482         Add perfdata to check_ssh (#3244097)
483         New option to check_smtp to ignore failures when sending QUIT (#3358348)
484         New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334)
485         check_sensors now detects faulty sensors unless --ignore-fault is specified
486         utils.sh now provides a check_range function
487         Improved the performance of check_users
488         Add perfdata to check_disk_smb (Debian #654259)
489         Updated Nagios::Plugin perl module
490         Add warning threshold to certificate expiration checks of check_tcp/http/smtp
491         Add --perf-oids option for check_snmp
493         FIXES
494         Fix check_disk free space calculation if blocksizes differ within a disk group (#2973603)
495         check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696)
496         Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds
497         Fix check_ldap overriding the port when --ssl was specified after -p
498         Fix check_procs where regex input of '|' would get displayed in output - now replaced with ','
499         Fix segfault in check_host when hostname returns multiple IP addresses
500         Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors
501         Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638)
502         Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921)
503         Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions
504         Fix performance data label containing spaces in check_snmp
506 1.4.15 27th July 2010
507         ENHANCEMENTS
508         New check_ntp_peer -m and -n options to check the number of usable time sources ("truechimers")
509         New check_disk_smb -a option which allows for specifying the IP address of the remote server
510         New check_radius -N option which allows for specifying the value of the NAS-IP-Address attribute
511         New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin}
512         check_snmp -l label option now also changes the perfdata label. See WARNINGS
513         check_snmp has an --invert-search option which reverses status of the string and regexp searches
514         check_http now displays the missing search string and the URL in the output when failed (#2999924)
515         Updated Nagios::Plugin perl module
516         Updated gnulib to June 2010
518         FIXES
519         Fix check_ircd binding to wrong interface (#668778)
520         Add proxy-authorization option to check_http (#1323230, #2863925)
521         check_icmp now increment the sequence counter in each packet
522         Fix usage of repeated -o options in check_snmp
523         Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
524         Fix memory leak in check_http for large pages (#2957455)
525         Fix compilation with GCC 2.96 (#2977105)
526         Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
527         Fix regression in check_http ssl checks on some servers - make SNI an option
528         Fix guest mode support in check_disk_smb
529         Fix check_disk_smb and check_ircd failures when run via ePN
530         check_ldap now allows for specifying an empty LDAP base
531         Fix compilation error of pst3 in Solaris 8
532         Fix check_radius returning OK on unexpected results (#2911752)
533         Fix translations when extra-opts aren't enabled (#2832884)
534         Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451)
535         Fix detection of pst3 64-bit compile flags with Sun CC
536         Fix cmd_run overwriting the environment, which would break some commands that needed it
537         Allow check_ifstatus to accept version=2c - used to only allow version=2
538         Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters
540         WARNINGS
541         Updated developer documentation to say that performance labels should not have an equals sign or
542         single quote in the label
543         check_http 1.4.14 introduced SSL SNI support - you now have to enable it explicitly with "--sni"
544         check_snmp -l label option is also used for the performance label. This could change history from previous uses
546 1.4.14 16th September 2009
547         check_http has options to specify the HTTP method (#2155152)
548         check_users thresholds were not working exactly as documented (>= rather than >)
549         Updated tinderbox_build script to point to new tinderbox server
550         check_ifoperstatus -n flag now works as expected (#1569488)
551         check_ifoperstatus now supports ifType based lookup for ifIndex
552         check_ups now sends a LOGOUT string (Debian #387001)
553         Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P)
554         Extra-opts (C plugins) does not allow trailing comments anymore (like N::P)
555         Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
556         Fixed segfault in extra-opts under some circumstance when reading multiple sections
557         Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp
558         Add missing long options for check_nt (for use with extra-opts)
559         check_icmp now reports min and max round trip time perfdata
560         Fixed check_http bug where additional headers with redirection caused a segfault (2089159)
561         check_disk: make autofs mount paths specified with -p before we determine the mount list
562         Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265)
563         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
564         Fixed check_mrtg returning UNKNOWN instead of OK (#2378068)
565         Fixed check_http behaviour: all check are now performed as long as a valid response is returned (#1460312)
566         check_http --onredirect=sticky follows using the same IP address (#2550208)
567         check_http --onredirect=stickyport also follows the same port
568         Fixed coredump from check_nt when invalid drive is specified (#2179754)
569         Fixed crash from check_nt when -H unspecified or given multiple times (#2731755, Debian #521097)
570         Fixed passing of quotes in OID for check_snmp (#1985230)
571         Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765)
572         Fixed check_http not timing-out on redirects
573         Fixed negate not printing the real timeout in ALRM handler when left to default
574         negate timeout result is now configurable
575         Fixed segfault in check_mysql with old slaves (#2696823)
576         check_nt can return UNKNOWN on timeouts (-u)
577         Fixed typos for check_disk
578         Fixed check_mysql* not using password set in my.cnf (#2531905) - Specify an empty password explicitly if you need to override it.
579         Fixed awk subst.in/subst script path error (#2722832)
580         check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022)
581         Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308)
582         Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675)
583         check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds
584         check_fping now supports passing target timeout and interval to fping (#2347686)
585         Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438)
586         check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments
587         pst3 compile fix for Sun Studio Compiler
589 1.4.13 25th Sept 2008
590         Fix Debian bug #460097: check_http --max-age broken
591         Optimised pst3 for systems with large number of processes
592         Updated Nagios::Plugin to 0.27
593         Fix Debian bug #479013: check_dig's -l is mandatory now (#1986306)
594         check_dig now returns CRITICAL instead of WARNING when no answer section is found
595         check_procs now captures stderr in external command and adds to plugin output
596         check_snmp now only prints perfdata for non numeric values (#1867716)
597         check_icmp now supports packet size modification
598         check_http -e now accepts a comma-delimited list of expected status codes
599         libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
600         check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
601         Fix possible segfault in check_ntp_peer with deliberately invalid packets
603 1.4.12 27th May 2008
604         Added ./check_nt -v INSTANCES to count number of instances
605         New check_icmp -s option to specify the source IP address
606         check_dns now sorts addresses for testing results for more than one returned IP
607         Fix segfault in check_ntp_time and (deprecated) check_ntp (#1862300)
608         check_disk should now work with large file systems (2TB+) on all archs that supports it
609         Fixed check_disk disk usage calculation when using --group=NAME (related to #1348746)
610         Fix help text of check_ntp* (#1880095)
611         Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp
612         check_ntp_peer now checks for the LI_ALARM flag
613         Sync to latest Gnulib (includes new floorf function)
614         check_pgsql now successfully builds with postgres lib v8.3 (#1878972)
615         check_procs now accepts --ereg-argument-array for a regular expression match to the argument array
616         Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems
617         If applicable, Gettext linked dynamically instead of statically
618         check_dig can now pass arguments to dig by using -A/--dig-arguments (#1874041/#1889453)
619         check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help
620         check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers)
621         check_mysql and check_radius now try clearing password in processlist just like check_mysql_query
622         check_mysql and check_mysql_query now support sockets explicitly (-s, --socket)
623         negate now has the ability to replace the status text as well (-s, --substitute)
624         Added performance data to check_ping
625         Added support for --extra-opts in all C plugins (disabled by default, see configure --help)
626         Fixed passive option in check_by_ssh
627         On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN.
628         Fix linking against OpenSSL where libdl is required
630 1.4.11 13th December 2007
631         Fixed check_http regression in 1.4.10 where following redirects to
632           relative URLs on virtual hosts failed if both "-H" and "-I" were used
633         Merged two new checks that deprecates check_ntp: check_ntp_peer and check_ntp_time.
634           You should read the --help output so see which one is suitable for you. check_ntp_peer
635           implement stratum thresholds support (feature request #1703823).
636         check_ntp now returns UNKNOWN instead of WARNING if jitter is unavailable (jitter=-1.000000)
637           as long as the thresholds range include -1. If no offset threshold is specified
638           and the offset is unavailable, will return UNKNOWN as well.
639           NOTE: If jitter thresholds are specified as integers it will return CRITICAL if jitter
640           is "-1" as the default range starts at 0. See Examples in --help output.
641         Fixed broken usage2 in check_snmp and check_cluster
642         check_cluster now accepts all valid characters in its thresholds ("-", "@", "~")
643         Fixed check_disk reporting OK if disk usage grows over 100% (#1348746).
644           The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c
645         Fixed check_load argument handling when not passing triplets (#1831890)
646         Fixed buffer overflow in check_snmp (CVE-2007-5623)
647         Tinderbox builds now runs tests in a verbose mode
648         Updated Nagios::Plugin to 0.22
649         VPATH problem fixed for compiling plugins-root
651 1.4.10 28th September 2007
652         Fix check_http buffer overflow vulnerability when following HTTP redirects (CVE-2007-5198)
653         check_http now explicitly asks HTTP/1.1 servers to close the connection
654           after completion of the response
655         Check_ldaps' guessing which secure method to use (starttls vs. ssl on connect)
656           is now deprecated. See --help for further information.
657         Check_disk now calls stat() on all filesystems to check. (Old: only the ones selected using -p)
658           A meaningful error message (eg "Stale NFS Handle") is printed if stat fails.
659         New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too.
660           Thus accessibility of remote filesystems can be checked without any threshold comparison.
661         Check_disk's --help now prints some examples for the new features introduced in 1.4.8
662         New check_disk -i/-I option to ignore paths/partitions based on regular expressions
663         New check_disk -A option to select all filesystems explicitly
664         WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments
665           Passing -E after -p or -r results in UNKNOWN state, now
666           This is needed due to the new ignore feature
667         Fix check_disk bug when mixing case sensitive and case insensitive regex arguments
668         New check_dhcp -u/--unicast option for emulating a DHCP relay in order
669           to check DHCP servers on remote networks
670         New check_dhcp -m/--mac option which allows for specifying the MAC
671           address to use in the DHCP request
672         The check_dhcp -r and -s options now accept host names, too
673         Fix possible check_icmp bus errors on some (non-x86/AMD64) platforms
674         Fix check_smtp's handling of multiple-packet server responses
675         WARNING: Fix for negate which may break existing commands:
676           - stop evaluating command line options through shell twice
677           - enforce a full path for the command to run
678         The "negate" utility can now remap custom states
679         Check_radius now supports radiusclient-ng
680         The (undocumented) positional parameter parsing which check_radius used
681           instead of getopt(3) if 8 arguments were given is no longer available
682         Check_by_ssh now supports multiline output
683         IPv6 support can now be disabled using ./configure --without-ipv6
684         Fix check_ntp now honor ntp flags
686 1.4.9 4th June 2007
687         Inclusion of contrib/check_cluster2 as check_cluster with some improvements
688         New/improved -E/--skip-stderr and -S/--skip-stdout options for check_by_ssh
689         check_snmp now supports Counter64
690         Fix compilation of check_ldap, check_radius and check_pgsql
691         check_load can optionally divide by number of cpus
692         Fix check_time returning wrong OK when time is before the epoch on some arch
693         Make check_http output more consistent
694         Fix possible check_http segfaults when following HTTP redirects
695         check_snmp don't warn anymore if something is printed on stderr
696         Fix check_tcp segfault when multiple expect strings are given
697         New option for check_tcp: -A/--all to test if all given expect strings match
699 1.4.8 11th April 2007
700         Respects --without-world-permissions for setuid plugins
701         check_disk extra options for regex matching of filesystems and grouping of filesystems
702         for collective thresholds
703         Better configure test for mysqlclient availability
704         Various check_ntp fixes
706 1.4.7 29th March 2007
707         check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris
708         Fixed MKINSTALLDIRS problem in po/
709         ./configure now detects if possible to compile check_mysql
710         Fixed broken HELO in check_smtp
711         check_icmp now allows to set a minimum number of hosts required for success (-m)
712         check_icmp fix for *BSD when running for long time
713         check_ping times out 1 second quicker if host is unreachable
714         Root plugins installed with world executable
715         check_sybase from contrib now maintained in MonitoringExchange
716         --with-nagios-user/group reinstated ./configure option
717         New --without-world-permissions ./configure option
719 1.4.6 5th February 2007
720         Reduced number of DNS lookups in check_ping and netutils.c for IPv6 configurations
721         Fixed compile problems with *BSD re: alloca.h
722         Fixed Solaris problems with check_swap (tested on Solaris 9)
723         Fixed check_swap for HP/UX where swapinfo command was incorrect
724         Fixed check_disk inode threshold checks, regressed at r1.4.4.
725         Fixed crit/warn for check_disk perf data
726         Fixed buffer overflow in check_procs
727         Fixed error handling for UNIX sockets in netutils.c
728         New -q and -o options for check_by_ssh which are handed over to ssh(1) as is
729         Synced with latest GNUlib
730         Fixed check_jabber always returns warning
732 1.4.5
733         Fixed bug in perl's is_hostname routine
735 1.4.4
736         New C based check_ntp. The perl version is now deprecated.
737         New check_apt plugin
738         Notice: plugins in contrib/ will start to be removed from this distribution.
739           Please check at http://www.monitoringexchange.org for contributed plugins
740         Major bug fixes to check_disk where values were incorrectly calculated and alerted on.
741         check_udp2 removed. check_udp is now linked to check_tcp.c
742         check_mailq now errors if the sub-program run returns non-zero return code. This would appear
743           as if mailqs were okay when the nagios user could not query the mail-queues
744         Compile problems with check_snmp fixed
746 1.4.3
747         Setuid plugins (check_dhcp, check_icmp) separated into plugins-root/. Run make install as root to install
748         SSL plugins work with gnutls as well as OpenSSL
749         check_mysql_query added to run arbitrary SQL commands, with threshold checking
750         libtool now required for development systems
751         Notice: check_udp (compiled from check_udp.c) will be deprecated in the next release.
752           check_udp2 should be used instead and will be renamed to check_udp
754 1.4.2
755         Fix for Redhat ES4 for check_dns and check_dig
758         IPv6 support in check_ping, check_by_ssh, check_http, check_ldap, check_smtp, check_tcp
759         Internationalisation support
760         Performance data added to most plugins
761         check_disk now using GNU coreutils code
762         New plugins - check_dhcp, check_icmp
763         contrib/check_citrix has been replaced by contrib/check_ica* (requires packet_utils.pm in libexec)
764         check_http --min changed to --pagesize, added max so min:max in check
765         check_vsz and check_rss deprecated - functionality moved into check_procs
766         check_swap % thresholds changed to measure amount free, instead of amount used
767         check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB
768         check_procs -C expects no path for the command name