Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jul 2011 03:35:37 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        kevlo@kevlo.org
Cc:        freebsd-rc@FreeBSD.org
Subject:   Re: [patch] /etc/rc.d/routing
Message-ID:  <20110717.033537.180999432921199548.hrs@allbsd.org>
In-Reply-To: <1310623300.37158.8.camel@srgsec>
References:  <1310623300.37158.8.camel@srgsec>

next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart0(Sun_Jul_17_03_35_37_2011_849)--
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Sun_Jul_17_03_35_37_2011_750)--"
Content-Transfer-Encoding: 7bit

----Next_Part(Sun_Jul_17_03_35_37_2011_750)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Kevin Lo <kevlo@kevlo.org> wrote
  in <1310623300.37158.8.camel@srgsec>:

ke> Hi,
ke>
ke> This patch removes "-n" from the echo.
ke>
ke> without the patch:
ke> Additional routing options: IPv4 gateway=YESadd net ::ffff:0.0.0.0:
ke> gateway ::1
ke> add net ::0.0.0.0: gateway ::1
ke> add net fe80::: gateway ::1
ke> add net ff02::: gateway ::1
ke> .
ke>
ke> with the patch:
ke> Additional routing options: IPv4 gateway=YES
ke> add net ::ffff:0.0.0.0: gateway ::1
ke> add net ::0.0.0.0: gateway ::1
ke> add net fe80::: gateway ::1
ke> add net ff02::: gateway ::1
ke>
ke> dougb@ doesn't see any problem. Per his request, send it to rc@ to be
ke> sure.
ke>
ke> Index: routing
ke> ===================================================================
ke> --- routing	(revision 223907)
ke> +++ routing	(working copy)
ke> @@ -287,7 +287,7 @@
ke>
ke>  	if checkyesno gateway_enable; then
ke>  		ropts_init
ke> -		echo -n ' IPv4 gateway=YES'
ke> +		echo ' IPv4 gateway=YES'
ke>  		${SYSCTL} net.inet.ip.forwarding=1 > /dev/null
ke>  	else
ke>  		${SYSCTL} net.inet.ip.forwarding=0 > /dev/null
ke> @@ -322,7 +322,7 @@
ke>  {
ke>  	if checkyesno ipv6_gateway_enable; then
ke>  		ropts_init
ke> -		echo -n ' IPv6 gateway=YES'
ke> +		echo ' IPv6 gateway=YES'
ke>  		${SYSCTL} net.inet6.ip6.forwarding=1 > /dev/null
ke>  	else
ke>  		${SYSCTL} net.inet6.ip6.forwarding=0 > /dev/null

 This change is inconsistent and does not work for other combinations
 of the options.  The cause of the ugly output is that adding routes
 and applying routing options are done in order in a per-AF basis, but
 the "Additional routing options..." line is displayed only once.

 What do you think about the attached change?

-- Hiroki

----Next_Part(Sun_Jul_17_03_35_37_2011_750)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="etc_routing.20110716.diff"

Index: routing
===================================================================
--- routing	(revision 224105)
+++ routing	(working copy)
@@ -250,19 +250,22 @@
 {
 }

-_ropts_initdone=
 ropts_init()
 {
-	if [ -z "${_ropts_initdone}" ]; then
-		echo -n 'Additional routing options:'
-		_ropts_initdone=yes
+	local _i
+
+	eval _i=\${_ropts_initdone_$1}
+	if [ -z "$_i" ]; then
+		echo -n "Additional routing options for $1:"
+		eval _ropts_initdone_$1=yes
 	fi
 }

 options_inet()
 {
+	_ropts_initdone_inet=
 	if checkyesno icmp_bmcastecho; then
-		ropts_init
+		ropts_init inet
 		echo -n ' broadcast ping responses=YES'
 		${SYSCTL} net.inet.icmp.bmcastecho=1 > /dev/null
 	else
@@ -270,7 +273,7 @@
 	fi

 	if checkyesno icmp_drop_redirect; then
-		ropts_init
+		ropts_init inet
 		echo -n ' ignore ICMP redirect=YES'
 		${SYSCTL} net.inet.icmp.drop_redirect=1 > /dev/null
 	else
@@ -278,7 +281,7 @@
 	fi

 	if checkyesno icmp_log_redirect; then
-		ropts_init
+		ropts_init inet
 		echo -n ' log ICMP redirect=YES'
 		${SYSCTL} net.inet.icmp.log_redirect=1 > /dev/null
 	else
@@ -286,15 +289,15 @@
 	fi

 	if checkyesno gateway_enable; then
-		ropts_init
-		echo ' IPv4 gateway=YES'
+		ropts_init inet
+		echo -n ' IPv4 gateway=YES'
 		${SYSCTL} net.inet.ip.forwarding=1 > /dev/null
 	else
 		${SYSCTL} net.inet.ip.forwarding=0 > /dev/null
 	fi

 	if checkyesno forward_sourceroute; then
-		ropts_init
+		ropts_init inet
 		echo -n ' do source routing=YES'
 		${SYSCTL} net.inet.ip.sourceroute=1 > /dev/null
 	else
@@ -302,7 +305,7 @@
 	fi

 	if checkyesno accept_sourceroute; then
-		ropts_init
+		ropts_init inet
 		echo -n ' accept source routing=YES'
 		${SYSCTL} net.inet.ip.accept_sourceroute=1 > /dev/null
 	else
@@ -310,7 +313,7 @@
 	fi

 	if checkyesno arpproxy_all; then
-		ropts_init
+		ropts_init inet
 		echo -n ' ARP proxyall=YES'
 		${SYSCTL} net.link.ether.inet.proxyall=1 > /dev/null
 	else
@@ -320,9 +323,10 @@

 options_inet6()
 {
+	_ropts_initdone_inet6=
 	if checkyesno ipv6_gateway_enable; then
-		ropts_init
-		echo ' IPv6 gateway=YES'
+		ropts_init inet6
+		echo -n ' IPv6 gateway=YES'
 		${SYSCTL} net.inet6.ip6.forwarding=1 > /dev/null
 	else
 		${SYSCTL} net.inet6.ip6.forwarding=0 > /dev/null
@@ -335,8 +339,9 @@

 options_ipx()
 {
+	_ropts_initdone_ipx=
 	if checkyesno ipxgateway_enable; then
-		ropts_init
+		ropts_init ipx
 		echo -n ' IPX gateway=YES'
 		${SYSCTL} net.ipx.ipx.ipxforwarding=1 > /dev/null
 	else

----Next_Part(Sun_Jul_17_03_35_37_2011_750)----

----Security_Multipart0(Sun_Jul_17_03_35_37_2011_849)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEABECAAYFAk4h2fkACgkQTyzT2CeTzy1wxACfWk1/uv6Makj/ONZjzxo0hsss
THAAn3wU7MepRZVXvfQDnIGNl4Xbdc62
=GHE7
-----END PGP SIGNATURE-----

----Security_Multipart0(Sun_Jul_17_03_35_37_2011_849)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110717.033537.180999432921199548.hrs>