Age | Commit message (Collapse) | Author |
|
Fix parsing of the long options --help and --version. The special
handling must be done before calling getopt().
This fixes erroneous output like:
./check_icmp --version
./check_icmp: invalid option -- '-'
./check_icmp: invalid option -- 'e'
./check_icmp: invalid option -- 'r'
./check_icmp: invalid option -- '-'
./check_icmp: invalid option -- 'e'
./check_icmp: invalid option -- 'r'
Signed-off-by: Aksel Sjögren <asjogren@itrsgroup.com>
|
|
address family and not sockaddr_storage (#1771)
Co-authored-by: Erik Sejr <eriks@ssimicro.com>
Co-authored-by: Lorenz <12514511+RincewindsHat@users.noreply.github.com>
|
|
* Fix different overflows
* Less includes
* Add testcases
* Remove unused variable
* Remove unused and commented includes
|
|
- add a test to check '-s'
|
|
|
|
|
|
Add missing "warn" threshold field in "pkt" perfdata output.
Perfdata should be interpreted as;
'label'=value[UOM];[warn];[crit];[min];[max]
With one field missing, the hardcoded min value '0' ended up in the
"crit" field, making applications interpreting the perfdata thining that
critical threshold is always exceeded.
Signed-off-by: Aksel Sjögren <asjogren@itrsgroup.com>
|
|
* try to use "/usr/sbin/ip" before "ifconfig" since the latter is
obsolete on Linux to figure out interface to listen for DHCP messages.
But keeping ifconfig method just in case.
Without this, tests fail on boxes without ifconfig AND the correct
interface named ethX.
* amend possible failure responses, as check_dhcp might get a DHCPOFFER,
but from an unexpected address - which happens if the box running
tests are on a network with a DHCP server.
|
|
Fixes "No rule to make target 'test-debug'" when running "make
test-debug" in root dir.
|
|
There is a small typo in plugins-root/check_icmp.c.
Should read `conspicuously` rather than `conspicuosly`.
|
|
Otherwise, it writes sizeof(size_t) bytes to &oldlen, smashing the stack.
|
|
In case we needed to do a lookup, we previously overwrote the
address_family to IPv6, even if we supplied -4 as a cmd line argument.
This commit should ensure the cmd line argument is always followed.
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
As we do not support checking both IPv4 and IPv6 hosts in one execution
we emit an error if multiple protocol versions are defined in the cmd
line args.
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
This commit moves the opts string into a variable as it is now used
twice.
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
If a hostname is supplied instead of an IP address, the automatic
address family detection would fail to correctly set the IP protocol
version (it would always be IPv6).
We now supply AF_UNSPEC to getaddrinfo, which should then return the
correct address family in the result.
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
Detection of protocol version is in the previous patch implemented in
the add_target() function, which is called when adding the -H command
line argument. That means that if a protocal version argument (-4, -6)
is added after the -H then the protocol version might be incorrectly
set.
This patch ensures that we first process the protocol version arguments,
and then we process the rest of the arguments.
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
This patch automatically detects whether the protocol version is IPv4 or
IPv6
All credits to: https://github.com/ghciv6
Signed-off-by: Jacob Hansen <jhansen@op5.com>
|
|
|
|
This commit adds IPv6 capabilities to check_icmp. It is now possible to
specify the address family using the arguments -4 (default) or -6.
To make the change possible we had to move the argument parsing previous
to creating the socket to be able to create it with the correct address
family.
This commit also fixes some gcc 4.9.2 compiler warnings. It has been
tested with several current linux distributions (debian, ubuntu, rh,
sles).
This commit fixes monitoring-plugins/monitoring-plugins#1291
|
|
|
|
|
|
|
|
|
|
Don't just use the current time(2) to seed the PRNG that generates the
xid. A DHCP server might be checked multiple times per second.
|
|
Omit a recvfrom(3) call which has the MSG_PEEK flag set and should have
no effect at all. According to a comment in the code, this call was
meant to be a workaround to an opaque issue. If anyone runs into that
issue, we should fix it properly instead.
|
|
(Closes #1371)
(Closes #1203)
|
|
* maint:
sslutils: Remove superfluous parenthesis for sslv3 function too
sslutils: remove superfluous parenthesis
check_snmp: modified tests
check_snmp.c: switched DEFAULT_TIMEOUT to DEFAULT_SOCKET_TIMEOUT (provided by utils.h), already used by help description, see issue #1318
install snmpd on travis tests
enable libtab on travis builds
add perl snmp to travis dependencies
NEWS: Mention check_ups performance data fix
Fix incorrect performance data thresholds
check_dhcp: Fix option parsing
Fixes segfaults when running via monitoring worker (off-by-one)
travis: fix http test host
sslutils: Check if OpenSSL supports SSLv3.
Conflicts:
NEWS
plugins/sslutils.c
|
|
On Solaris, check_procs uses pst3 instead of /bin/ps (see
http://monitoring-plugins.org/doc/faq/ps-on-solaris.html for background). There's
a small bug in pst3 which causes it to NOT report some processes that are at
the end of the process table, at least on very busy systems (we noticed this
on a CoolThreads T5240 with load averages up to 90).
The bug is that a filehandle is not properly closed.
Thanks to jwinkle01 for finding and patching the bug.
(Closes #1203)
|
|
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|
|
The call_getopt() function didn't always return the correct number of
processed arguments. However, since check_dhcp doesn't support
non-option arguments, the caller doesn't need this number anyway.
Closes #1345.
|
|
(off-by-one)
Grabed from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198318
|
|
since MSG_CONFIRM is a linux thing and only available on linux kernels >= 2.3.15, see send(2)
|
|
Convert size_t values to unsigned long for printf(3) in order to
maximize portability.
|
|
|
|
We still support pre-C99 compilers.
|
|
This commit uses the SO_TIMESTAMP feature of setsockopt to fetch
kernel reception time of ICMP packets. This avoids invalid
computations of rtt on machines with heavy load and/or heavy
network traffic.
|
|
As it is possible to use capabilities(7) on linux or solaris
privileges for example, it is not necessary in all cases to
have those binaries making use of setuid.
|
|
Coverity 66488 - offer_packet->options has a max size of 312. It was being used in a loop verifying less than 311, but increasing by 2 per loop, causing a possible array index out of bounds. Changed to checking less than max length - 1. - SR
|
|
"Monitoring Plugins" is a name.
|
|
|
|
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.
|
|
newer (or x86) solaris implementations have interface names like e1000g0
which includes numbers. So we reverse the interface number detection to
get the last number, instead of the first number.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|