I have an icinga-instance running on openbsd.amsterdam. Here I found
that sometimes check_ping from the monitoring-plugins package fails,
because ping(8) sends "failed to get receiving hop limit", but still
receives all the ping replies. These packets/annomalies are clearly
not meant for us.

Since this check is done before the ICMP6_ECHO_REPLY check and our
manpage states:
-v      Verbose output.  ICMP packets other than ECHO_REPLY that are
        received are listed.
I think the following diff is warranted and solves my false warning
states.

OK?

martijn@

Index: ping.c
===================================================================
RCS file: /cvs/src/sbin/ping/ping.c,v
retrieving revision 1.240
diff -u -p -r1.240 ping.c
--- ping.c      11 Feb 2020 18:41:39 -0000      1.240
+++ ping.c      20 Oct 2020 07:19:49 -0000
@@ -1180,7 +1180,8 @@ pr_pack(u_char *buf, int cc, struct msgh
                icp6 = (struct icmp6_hdr *)buf;
 
                if ((hoplim = get_hoplim(mhdr)) == -1) {
-                       warnx("failed to get receiving hop limit");
+                       if (options & F_VERBOSE)
+                               warnx("failed to get receiving hop limit");
                        return;
                }
 

Reply via email to