svn commit: r255653 - head/etc

Hiroki Sato hrs at FreeBSD.org
Tue Sep 17 20:22:25 UTC 2013


Author: hrs
Date: Tue Sep 17 20:22:24 2013
New Revision: 255653
URL: http://svnweb.freebsd.org/changeset/base/255653

Log:
  Fix parsing lines of ifconfig output which include \t in the case of
  inet and inet6.
  
  Approved by:	re (delphij)

Modified:
  head/etc/network.subr

Modified: head/etc/network.subr
==============================================================================
--- head/etc/network.subr	Tue Sep 17 20:20:04 2013	(r255652)
+++ head/etc/network.subr	Tue Sep 17 20:22:24 2013	(r255653)
@@ -654,18 +654,16 @@ ipv4_down()
 
 	ifalias ${_if} inet -alias && _ret=0
 
-	inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet ' | tr "\n" "$_ifs"`"
+	inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet ' | tr "\n\t" "$_ifs"`"
 
 	oldifs="$IFS"
 	IFS="$_ifs"
 	for _inet in $inetList ; do
 		# get rid of extraneous line
 		case $_inet in
-		"")				break ;;
-		\	inet\ *|inet\ *)	;;
-		*)				continue ;;
+		inet\ *)	;;
+		*)		continue ;;
 		esac
-		[ -z "$_inet" ] && break
 
 		_inet=`expr "$_inet" : '.*\(inet \([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*'`
 
@@ -696,13 +694,16 @@ ipv6_down()
 	ipv6_prefix_hostid_addr_common ${_if} -alias && _ret=0
 	ifalias ${_if} inet6 -alias && _ret=0
 
-	inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet6 ' | tr "\n" "$_ifs"`"
+	inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet6 ' | tr "\n\t" "$_ifs"`"
 
 	oldifs="$IFS"
 	IFS="$_ifs"
 	for _inet6 in $inetList ; do
 		# get rid of extraneous line
-		[ -z "$_inet6" ] && break
+		case $_inet in
+		inet6\ *)	;;
+		*)		continue ;;
+		esac
 
 		_inet6=`expr "$_inet6" : '.*\(inet6 \([0-9a-f:]*\)\).*'`
 


More information about the svn-src-all mailing list