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