svn commit: r368078 - in head: . rescue/rescue sbin/ping sbin/ping/tests tools/build/mk

Alan Somers asomers at FreeBSD.org
Thu Nov 26 18:33:05 UTC 2020


Author: asomers
Date: Thu Nov 26 18:33:04 2020
New Revision: 368078
URL: https://svnweb.freebsd.org/changeset/base/368078

Log:
  ping: add a ping6 hard link for backwards compatibility
  
  When invoked as "ping6", ping will now attempt to use ICMPv6 for hostnames
  that resolve both IPv4 and IPv6 addresses.
  
  Reviewed by:	bz, manu
  MFC-With:	r368045
  Differential Revision:	https://reviews.freebsd.org/D27384

Modified:
  head/ObsoleteFiles.inc
  head/rescue/rescue/Makefile
  head/sbin/ping/Makefile
  head/sbin/ping/main.c
  head/sbin/ping/ping.8
  head/sbin/ping/tests/ping_test.sh
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/ObsoleteFiles.inc	Thu Nov 26 18:33:04 2020	(r368078)
@@ -37,8 +37,6 @@
 # done
 
 # 20201124: ping6(8) was merged into ping(8)
-OLD_FILES+=sbin/ping6
-OLD_FILES+=rescue/ping6
 OLD_FILES+=usr/lib/debug/sbin/ping6.debug
 OLD_FILES+=usr/share/man/man8/ping6.8.gz
 OLD_FILES+=usr/tests/sbin/ping6/Kyuafile

Modified: head/rescue/rescue/Makefile
==============================================================================
--- head/rescue/rescue/Makefile	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/rescue/rescue/Makefile	Thu Nov 26 18:33:04 2020	(r368078)
@@ -103,6 +103,7 @@ CRUNCH_PROGS_sbin+= ccdconfig
 .endif
 
 .if ${MK_INET6_SUPPORT} != "no"
+CRUNCH_ALIAS_ping= ping6
 CRUNCH_PROGS_sbin+= rtsol
 .endif
 

Modified: head/sbin/ping/Makefile
==============================================================================
--- head/sbin/ping/Makefile	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/sbin/ping/Makefile	Thu Nov 26 18:33:04 2020	(r368078)
@@ -15,6 +15,7 @@ LIBADD=	m
 CFLAGS+= -DINET6 -DKAME_SCOPEID
 SRCS+=	ping6.c
 LIBADD+= md
+LINKS=	${BINDIR}/ping ${BINDIR}/ping6
 .endif
 
 .if ${MK_DYNAMICROOT} == "no"

Modified: head/sbin/ping/main.c
==============================================================================
--- head/sbin/ping/main.c	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/sbin/ping/main.c	Thu Nov 26 18:33:04 2020	(r368078)
@@ -66,7 +66,10 @@ main(int argc, char *argv[])
 	struct in6_addr a6;
 	bool ipv6;
 
-	ipv6 = false;
+	if (strcmp(getprogname(), "ping6") == 0)
+		ipv6 = true;
+	else
+		ipv6 = false;
 #endif
 	ipv4 = false;
 

Modified: head/sbin/ping/ping.8
==============================================================================
--- head/sbin/ping/ping.8	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/sbin/ping/ping.8	Thu Nov 26 18:33:04 2020	(r368078)
@@ -28,7 +28,7 @@
 .\"     @(#)ping.8	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd November 24, 2020
+.Dd November 26, 2020
 .Dt PING 8
 .Os
 .Sh NAME
@@ -141,6 +141,9 @@ the specific IP version can be requested by
 or
 .Fl 6
 options, respectively.
+For backwards-compatibility, ICMPv6 can also be selected by invoking the binary
+as
+.Nm ping6 .
 .Ss Options common to both IPv4 and IPv6 targets
 .Bl -tag -width indent
 .It Fl A

Modified: head/sbin/ping/tests/ping_test.sh
==============================================================================
--- head/sbin/ping/tests/ping_test.sh	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/sbin/ping/tests/ping_test.sh	Thu Nov 26 18:33:04 2020	(r368078)
@@ -53,9 +53,23 @@ ping_6_c1_s8_t1_body() {
     check_ping_statistics std.out $(atf_get_srcdir)/ping_6_c1_s8_t1.out
 }
 
+atf_test_case ping6_c1_s8_t1
+ping6_c1_s8_t1_head() {
+    atf_set "descr" "Use IPv6 when invoked as ping6"
+}
+ping6_c1_s8_t1_body() {
+    if ! getaddrinfo -f inet6 localhost 1>/dev/null 2>&1; then
+	atf_skip "IPv6 is not configured"
+    fi
+    atf_check -s exit:0 -o save:std.out -e empty \
+	      ping6 -c 1 -s 8 -t 1 localhost
+    check_ping_statistics std.out $(atf_get_srcdir)/ping_6_c1_s8_t1.out
+}
+
 atf_init_test_cases() {
     atf_add_test_case ping_c1_s56_t1
     atf_add_test_case ping_6_c1_s8_t1
+    atf_add_test_case ping6_c1_s8_t1
 }
 
 check_ping_statistics() {

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc	Thu Nov 26 18:16:32 2020	(r368077)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc	Thu Nov 26 18:33:04 2020	(r368078)
@@ -2583,6 +2583,7 @@ OLD_DIRS+=usr/share/i18n/csmapper/GB
 .endif
 
 .if ${MK_INET6} == no
+OLD_FILES+=sbin/ping6
 OLD_FILES+=sbin/rtsol
 OLD_FILES+=usr/sbin/ip6addrctl
 OLD_FILES+=usr/sbin/mld6query
@@ -2611,6 +2612,7 @@ OLD_FILES+=usr/share/man/man8/traceroute6.8.gz
 .endif
 
 .if ${MK_INET6_SUPPORT} == no
+OLD_FILES+=rescue/ping6
 OLD_FILES+=rescue/rtsol
 .endif
 


More information about the svn-src-all mailing list