Commit graph

157 commits

Author SHA1 Message Date
Lorenz Kästle
bbb83b6ed4 fixup! check_tcp: implement ok summary 2026-06-04 22:47:33 +02:00
Lorenz Kästle
37ef488ce1 check_tcp: implement ok summary 2026-06-04 22:39:03 +02:00
Lorenz Kästle
1db493092c
added CHECK_EOF to work around warnings about EOF and -1 being the same (#2254)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Spellcheck / codespell (push) Waiting to run
Tests / Running unit and integrationt tests (push) Waiting to run
Tests / Running rpm build test on almalinux:9 (push) Waiting to run
Tests / Running rpm build test on fedora:latest (push) Waiting to run
Tests / Running rpm build test on rockylinux:8 (push) Waiting to run
Co-authored-by: Andreas Baumann <mail@andreasbaumann.cc>
2026-04-08 18:26:03 +02:00
Lorenz Kästle
3a6f9292f1
Rename USE_OPENSSL to MOPL_USE_OPENSSL (#2253)
net-snmp uses the same pre processor name "USE_OPENSSL" as we do.
To avoid the conflict, this commit renames it on our side to
"MOPL_USE_OPENSSL".
"MOPL" (better "MoPl"?) stands for Monitoring Plugins.
2026-04-08 18:06:29 +02:00
Lorenz Kästle
0f0865c910
Make IPv6 unconditional (#2219)
Some checks failed
Tests Debian:Testing and Fedora:Rawhide / Running unit and integrationt tests (push) Has been cancelled
Tests Debian:Testing and Fedora:Rawhide / Running rpm build test on fedora:rawhide (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Spellcheck / codespell (push) Has been cancelled
Tests / Running unit and integrationt tests (push) Has been cancelled
Tests / Running rpm build test on almalinux:9 (push) Has been cancelled
Tests / Running rpm build test on fedora:latest (push) Has been cancelled
Tests / Running rpm build test on rockylinux:8 (push) Has been cancelled
This commits removes the detection of IPv6 availability.
The IPv6 code in the plugins is used unconditionally now.
2026-02-06 12:59:58 +01:00
Alvar
cef40299a9
OpenBSD: pledge(2) some network-facing checks (#2225)
OpenBSD's pledge(2) system call allows the current process to
self-restrict itself, being reduced to promised pledges. For example,
unless a process says it wants to write to files, it is not allowed to
do so any longer.

This change starts by calling pledge(2) in some network-facing checks,
removing the more dangerous privileges, such as executing other files.

My initial motivation came from check_icmp, being installed as a setuid
binary and (temporarily) running with root privileges. There, the
pledge(2) calls result in check_icmp to only being allowed to interact
with the network and to setuid(2) to the calling user later on.

Afterwards, I went through my most commonly used monitoring plugins
directly interacting with the network. Thus, I continued with
pledge(2)-ing check_curl - having a huge codebase and all -,
check_ntp_time, check_smtp, check_ssh, and check_tcp.

For most of those, the changes were quite similar: start with
network-friendly promises, parse the configuration, give up file access,
and proceed with the actual check.
2026-02-06 12:58:38 +01:00
Lorenz Kästle
802e46f8ea Run clang-format again 2025-09-15 12:59:37 +02:00
Lorenz Kästle
0111359c72 check_tcp: Actually account for certificate lifetime checks 2025-03-13 14:48:20 +01:00
Lorenz Kästle
c8014631de check_tcp: add output if answer matches expectations 2025-03-13 12:25:29 +01:00
Lorenz Kästle
a693cc0aa3 Fix TLS/non-TLS send/recv logic 2025-03-13 12:24:45 +01:00
Lorenz Kästle
be4618bf64 check_tcp: patch backwards compatibility in again 2025-03-13 11:37:52 +01:00
Lorenz Kästle
4dd024388e check_tcp: small cleanup 2025-03-13 11:37:20 +01:00
Lorenz Kästle
a2e9ade442 Fix typo 2025-03-13 00:50:51 +01:00
Lorenz Kästle
fa4a03e1a8 use new output picker 2025-03-13 00:49:16 +01:00
Lorenz Kästle
d5ed6a2d8f check_tcp: small improvement + output format picker 2025-03-13 00:43:22 +01:00
Lorenz Kästle
554bf3e525 Refactor check_tcp and implement new output format 2025-03-04 11:02:33 +01:00
Lorenz Kästle
6eb5be9e30 Fix argument order of calloc on several occasions 2024-11-09 10:49:21 +01:00
RincewindsHat
c1f337c653 check_tcp: style + linter fixes 2024-10-31 14:08:31 +01:00
RincewindsHat
ec70b39672 check_tcp: update_copyright 2024-10-31 14:02:57 +01:00
RincewindsHat
0be4dede6e check_tcp: clang-format 2024-10-31 14:02:13 +01:00
RincewindsHat
eead88edda check_tcp: Fixes an error with using the wrong type for a variable 2023-10-19 13:47:21 +02:00
RincewindsHat
81f3b41651 Fix fallout of the previous changes 2023-10-19 12:20:27 +02:00
RincewindsHat
07f9c438f3 Fixes for -Wsign-compare 2023-10-19 12:10:55 +02:00
RincewindsHat
00d58ad187 check_tcp: Use C99 booleans 2023-10-18 20:29:31 +02:00
Jan Wagner
0f3703e641 Fix a lot of typos reported by codespell 2023-04-14 18:35:00 +00:00
Alexander A. Klimov
f53ea7afd8 check_tcp: add --sni 2020-01-07 21:32:15 +01:00
vagrant
fe1c4bb0e5 add openssl 1.1 support
changes:
  - CRYPTO_lock detection replaced in configure.ac. We don't use that
    function anywhere, so just replace it with the suggested one from
    https://wiki.openssl.org/index.php/Library_Initialization#Autoconf
  - OPENSSL_NO_SSL2 is no longer defined while ssl2 is not included.
    Set it ourself using the suggested openssl 1.1 version check from
    https://wiki.openssl.org/index.php/1.1_API_Changes#Backward_compatibility
  - openssl 1.1 sends a sigpipe if the connection is still open when
    calling SSL_shutdown(), so move the close before the shutdown.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2016-11-13 21:14:02 +00:00
Sven Nierlein
edca257e20 use unknown exit code for help/version in plugins
Signed-off-by: Sven Nierlein <sven@nierlein.de>
2015-10-04 19:24:30 +02:00
Sven Nierlein
0be10c669e Merge pull request #1257 from gcoxmoz/master
check_tcp: Fixing to return desired exit code
2015-10-02 19:54:31 +02:00
Andrew Widdersheim
500f8aec81 Readability fix 2015-04-13 14:16:34 +02:00
Sebastian Herbszt
22dfca20fd check_tcp: fix help description regarding escape option
The help description should print '\\' for backslash not just '\'.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
2014-12-01 01:08:58 +01:00
Holger Weiss
013ca2c508 Fix check_jabber to work with Openfire servers
The plugin expected:

	<?xml version='1.0'?>

But Openfire sends:

	<?xml version='1.0' encoding='UTF-8'?>
2014-09-16 12:28:51 +02:00
Greg Cox
4273dd06ff Merge remote-tracking branch 'upstream/master'
Conflicts:
	plugins/netutils.c
2014-07-29 18:52:12 -04:00
Jan Wagner
b62f2c14fb Merge PR #1265 from waja/check_tcp_server_addr 2014-06-30 15:13:39 +02:00
abrist
b5d78f9556 Cleaned up status output of check_tcp changes 2014-06-28 21:08:55 +02:00
Davide Madrisan
4231415878 check_tcp: also display the server addr when host_specified is set. This will help the admins when multiple checks are configured
Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
2014-06-28 20:47:51 +02:00
Eric J. Mislivec
6e246799b9 Include common.h before any system headers.
This should fix some problems building on AIX.
2014-06-28 18:09:28 +02:00
gcoxmoz
a3f0b96f32 Update check_tcp.c
Return the state asked for, if connection failed.
2014-05-17 00:55:40 -04:00
Thomas Guyot-Sionnest
11cf54ca78 Merge branch 'rename' 2014-01-21 07:59:07 -05:00
Spenser Reinhardt
212575b858 plugins/*.c: Alterations for timeout messages.
.c file changes for misleading timeout messages in help functions. Solution to pull request #1209 tracker by awiddersheim.

Files: plugins/check_apt.c, plugins/check_by_ssh.c, plugins/check_dbi.c, plugins/check_dig.c, plugins/check_disk.c, plugins/check_dns.c, plugins/check_game.c, plugins/check_http.c, plugins/check_ldap.c, plugins/check_ntp.c, plugins/check_ntp_peer.c, plugins/check_ntp_time.c, plugins/check_nwstat.c, plugins/check_overcr.c, plugins/check_pgsql.c, plugins/check_ping.c, plugins/check_procs.c, plugins/check_radius.c, plugins/check_real.c, plugins/check_smtp.c, plugins/check_snmp.c, plugins/check_ssh.c, plugins/check_tcp.c, plugins/check_time.c, plugins/check_ups.c, plugins/negate.c
2014-01-21 11:33:45 +01:00
Holger Weiss
c3e756a855 Capitalize "Monitoring" when it's the first word 2014-01-20 03:12:50 +01:00
Monitoring Plugins Development Team
63734f52ab Project rename initial commit.
This is an initial take at renaming the project to Monitoring Plugins.
It's not expected to be fully complete, and it is expected to break
things (The perl module for instance). More testing will be required
before this goes mainline.
2014-01-19 14:18:47 -05:00
Sven Nierlein
cb8390aec9 check_tcp: use receive timeout for checks that expect response
if check_imap expects a string that never occurs, it currently waits forever
because thats how the imap protocoll works. Use a receive timeout in that case
so we can exit early with a proper error message.
2013-09-15 20:49:36 +02:00
Holger Weiss
ffad261eab check_tcp: Fix checks without --expect string
Commit e8044713d4 broke check_tcp checks
without --expect string, this commit fixes that regression.
2013-09-12 22:36:35 +02:00
Holger Weiss
e8044713d4 check_tcp: Properly deal will partial recv(3)s
The np_expect_match() function now returns one of three possible states
instead of just TRUE or FALSE:

- NP_MATCH_SUCCESS
- NP_MATCH_FAILURE
- NP_MATCH_RETRY

The NP_MATCH_RETRY state indicates that matching might succeed if
np_expect_match() is called with a longer input string.  This allows
check_tcp to decide whether it makes sense to wait for additional data
from the server.
2013-09-12 21:37:20 +02:00
Holger Weiss
662997251d Improve interface of np_expect_match() function
Replace the three boolean parameters of lib/utils_tcp.c's
np_expect_match() function with a single "flags" parameter.
2013-09-12 17:42:10 +02:00
Holger Weiss
b48cb1f130 Fix GCC's -Wimplicit-function-declaration warnings
Fix the issues found by GCC when the -Wimplicit-function-declaration
flag is specified.
2013-09-10 22:29:46 +02:00
juliopedreira
cfb50add53 check_tcp: Don't close connection too early
Closing the connection because the bytes received are less than the
buffer size assumes that all the bytes will be received in one go.  This
is not always true!
2013-09-10 12:16:46 +02:00
Sven Nierlein
5fce5ceaeb check_tcp: don't ignore trailing options
"./check_tcp -6 -p 80 host" leads to an error:
TCP CRITICAL - Invalid hostname, address or socket: 127.0.0.1
because 127.0.0.1 is the fallback host, the tailing hostname
was ignored.
2013-02-10 23:09:49 +01:00
William Leibzon
6b844aea9f fixing bug in certificate experiation patch checking for bad warning threshold data 2012-08-10 13:03:00 +02:00