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>