From e4e737cd854d7d4c0e22ca863bdfc28d1e1111ed Mon Sep 17 00:00:00 2001 From: Jacques Vidrine Date: Wed, 8 Jul 1998 15:40:53 +0000 Subject: [PATCH] Allow either an IP address or an interface to be specified in the rc.conf variable ``natd_interface''. rc.network will determine whether it is an IP address or an interface name, and invoke natd with the -a or -n flag as appropriate. PR: 6947 Reviewed by: jkh@FreeBSD.ORG --- etc/network.subr | 16 +++++++++++----- etc/rc.d/netoptions | 16 +++++++++++----- etc/rc.d/network1 | 16 +++++++++++----- etc/rc.d/network2 | 16 +++++++++++----- etc/rc.d/network3 | 16 +++++++++++----- etc/rc.d/routing | 16 +++++++++++----- etc/rc.network | 16 +++++++++++----- 7 files changed, 77 insertions(+), 35 deletions(-) diff --git a/etc/network.subr b/etc/network.subr index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.d/netoptions b/etc/rc.d/netoptions index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.d/netoptions +++ b/etc/rc.d/netoptions @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.d/network1 b/etc/rc.d/network1 index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.d/network1 +++ b/etc/rc.d/network1 @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.d/network2 b/etc/rc.d/network2 index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.d/network2 +++ b/etc/rc.d/network2 @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.d/network3 b/etc/rc.d/network3 index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.d/network3 +++ b/etc/rc.d/network3 @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.d/routing b/etc/rc.d/routing index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.d/routing +++ b/etc/rc.d/routing @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES diff --git a/etc/rc.network b/etc/rc.network index 5c362b2b85b5..c41d7acc16f7 100644 --- a/etc/rc.network +++ b/etc/rc.network @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.network,v 1.26 1998/05/19 04:36:31 jkh Exp $ +# $Id: rc.network,v 1.27 1998/06/14 16:31:03 steve Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in @@ -269,10 +269,16 @@ network_pass3() { fi # Network Address Translation daemon - if [ "X${natd_enable}" = X"YES" -a "X${natd_interface}" != X"" \ - -a "X${firewall_enable}" = X"YES" ]; then - echo -n ' natd'; natd ${natd_flags} -n ${natd_interface} - fi + if [ "X${natd_enable}" = X"YES" -a X"${natd_interface}" != X"" \ + -a X"${firewall_enable}" = X"YES" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then + natd_ifarg="-a ${natd_interface}" + else + natd_ifarg="-n ${natd_interface}" + fi + echo -n ' natd'; natd ${natd_flags} ${natd_ifarg} + fi echo '.' network_pass3_done=YES