Date: Fri, 17 Apr 2026 18:21:56 +0000 From: Jose Luis Duran <jlduran@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros <chris.longros@gmail.com> Subject: git: 9a4a9f623bba - main - ping6: treat setsockopt failures as fatal Message-ID: <69e27a44.3af4e.6e191bfa@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=9a4a9f623bbaf991b3ba580593d47f2ee9f7b03b commit 9a4a9f623bbaf991b3ba580593d47f2ee9f7b03b Author: Christos Longros <chris.longros@gmail.com> AuthorDate: 2026-04-17 18:19:24 +0000 Commit: Jose Luis Duran <jlduran@FreeBSD.org> CommitDate: 2026-04-17 18:19:39 +0000 ping6: treat setsockopt failures as fatal ping6 needs IPV6_RECVPKTINFO and IPV6_RECVHOPLIMIT to process incoming replies. When these options fail, replies are silently dropped and ping6 appears to hang. Use err(3) instead of warn(3) so the user gets a clear error and immediate exit. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: pouria, jlduran, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56237 --- sbin/ping/ping6.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/ping/ping6.c b/sbin/ping/ping6.c index 356f0f72a6f8..f81de062e59a 100644 --- a/sbin/ping/ping6.c +++ b/sbin/ping/ping6.c @@ -1083,21 +1083,21 @@ ping6(int argc, char *argv[]) #ifdef IPV6_RECVPKTINFO if (setsockopt(srecv, IPPROTO_IPV6, IPV6_RECVPKTINFO, &optval, sizeof(optval)) < 0) - warn("setsockopt(IPV6_RECVPKTINFO)"); /* XXX err? */ + err(1, "setsockopt(IPV6_RECVPKTINFO)"); #else /* old adv. API */ if (setsockopt(srecv, IPPROTO_IPV6, IPV6_PKTINFO, &optval, sizeof(optval)) < 0) - warn("setsockopt(IPV6_PKTINFO)"); /* XXX err? */ + err(1, "setsockopt(IPV6_PKTINFO)"); #endif #endif /* USE_SIN6_SCOPE_ID */ #ifdef IPV6_RECVHOPLIMIT if (setsockopt(srecv, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &optval, sizeof(optval)) < 0) - warn("setsockopt(IPV6_RECVHOPLIMIT)"); /* XXX err? */ + err(1, "setsockopt(IPV6_RECVHOPLIMIT)"); #else /* old adv. API */ if (setsockopt(srecv, IPPROTO_IPV6, IPV6_HOPLIMIT, &optval, sizeof(optval)) < 0) - warn("setsockopt(IPV6_HOPLIMIT)"); /* XXX err? */ + err(1, "setsockopt(IPV6_HOPLIMIT)"); #endif cap_rights_clear(&rights_srecv, CAP_SETSOCKOPT);home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69e27a44.3af4e.6e191bfa>
