808a36ef65
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
104 lines
2.7 KiB
Bash
Executable File
104 lines
2.7 KiB
Bash
Executable File
#!/bin/sh -
|
|
#
|
|
# $FreeBSD$
|
|
# From: @(#)netstart 5.9 (Berkeley) 3/30/91
|
|
|
|
# Note that almost all the user-configurable behavior is no longer in
|
|
# this file, but rather in /etc/sysconfig. Please check this file
|
|
# first before contemplating any changes here. If you do need to change
|
|
# this file for some reason, we would like to know about it.
|
|
|
|
# If there is a global system configuration file, suck it in.
|
|
if [ -f /etc/sysconfig ]; then
|
|
. /etc/sysconfig
|
|
fi
|
|
|
|
# Set the host name if it is not already set
|
|
if [ -z "`hostname -s`" ] ; then
|
|
hostname $hostname
|
|
fi
|
|
|
|
# Set the domainname if we're using NIS
|
|
if [ -n "$defaultdomainname" -a "x$defaultdomainname" != "xNO" ] ; then
|
|
domainname $defaultdomainname
|
|
fi
|
|
|
|
# If IP filtering
|
|
if [ -n "$firewall" -a "x$firewall" != "xNO" -a -f /etc/rc.firewall ] ; then
|
|
sh /etc/rc.firewall
|
|
fi
|
|
|
|
#
|
|
# XXX This is known to cause an error if /usr is nfs mounted since it
|
|
# will not be available until after the network is up :-(. Once the
|
|
# relocation of sysctl to /sbin is done that problem will go away.
|
|
#
|
|
if [ -n "$tcp_extensions" -a "x$tcp_extensions" = "xNO" ] ; then
|
|
sysctl -w net.inet.tcp.rfc1323=0
|
|
sysctl -w net.inet.tcp.rfc1644=0
|
|
fi
|
|
|
|
# Set up all the network interfaces, calling startup scripts if needed
|
|
for ifn in ${network_interfaces}; do
|
|
if [ -e /etc/start_if.${ifn} ]; then
|
|
. /etc/start_if.${ifn} ${ifn}
|
|
fi
|
|
# Do the primary ifconfig if specified
|
|
eval ifconfig_args=\$ifconfig_${ifn}
|
|
if [ -n "${ifconfig_args}" ] ; then
|
|
ifconfig ${ifn} ${ifconfig_args}
|
|
fi
|
|
# Check to see if aliases need to be added
|
|
alias=0
|
|
while :
|
|
do
|
|
eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
|
|
if [ -n "${ifconfig_args}" ]; then
|
|
ifconfig ${ifn} ${ifconfig_args} alias
|
|
alias=`expr ${alias} + 1`
|
|
else
|
|
break;
|
|
fi
|
|
done
|
|
# Do ipx address if specified
|
|
eval ifconfig_args=\$ifconfig_${ifn}_ipx
|
|
if [ -n "${ifconfig_args}" ]; then
|
|
ifconfig ${ifn} ${ifconfig_args}
|
|
fi
|
|
ifconfig ${ifn}
|
|
done
|
|
|
|
if [ -n "$defaultrouter" -a "x$defaultrouter" != "xNO" ] ; then
|
|
static_routes="default ${static_routes}"
|
|
route_default="default ${defaultrouter}"
|
|
fi
|
|
|
|
# Set up any static routes. This should be done before router discovery.
|
|
if [ "x${static_routes}" != "x" ]; then
|
|
for i in ${static_routes}; do
|
|
eval route_args=\$route_${i}
|
|
route add ${route_args}
|
|
done
|
|
fi
|
|
|
|
if [ "x$gateway" != "xNO" ]; then
|
|
echo 'configuring host as a gateway.'
|
|
sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
|
|
fi
|
|
|
|
if [ "x$router" != "xNO" ] ; then
|
|
echo -n starting routing daemon:
|
|
echo -n " ${router}"; ${router} ${routerflags}
|
|
echo '.'
|
|
fi
|
|
|
|
if [ "x$ipxgateway" != "xNO" ]; then
|
|
echo 'configuring host as an ipx gateway.'
|
|
sysctl -w net.ipx.ipx.ipxforwarding=1 >/dev/null 2>&1
|
|
fi
|
|
|
|
if [ "x$ipxrouted" != "xNO" ] ; then
|
|
echo -n "starting IPXrouted"; IPXrouted ${ipxrouted}
|
|
echo '.'
|
|
fi
|