#!/bin/sh

#
# Remember to set up the network interface card with IRQ and base address
# in syslinux.cfg
#

#
# Grabbing the config.
#
. /etc/config

/bin/ifconfig lo 127.0.0.1

#
# Inside:
#
/bin/ifconfig ${INSIDE_DEV} ${INSIDE_IP} netmask ${INSIDE_NETMASK} broadcast ${INSIDE_BROADCAST}
[ ${INSIDE_DEV2} ] && /bin/ifconfig ${INSIDE_DEV2} ${INSIDE_IP2} netmask ${INSIDE_NETMASK2} broadcast ${INSIDE_BROADCAST2}
[ ${INSIDE_DEV3} ] && /bin/ifconfig ${INSIDE_DEV3} ${INSIDE_IP3} netmask ${INSIDE_NETMASK3} broadcast ${INSIDE_BROADCAST3}
[ ${INSIDE_DEV4} ] && /bin/ifconfig ${INSIDE_DEV4} ${INSIDE_IP4} netmask ${INSIDE_NETMASK4} broadcast ${INSIDE_BROADCAST4}
[ ${INSIDE_DEV5} ] && /bin/ifconfig ${INSIDE_DEV5} ${INSIDE_IP5} netmask ${INSIDE_NETMASK5} broadcast ${INSIDE_BROADCAST5}

echo "${INSIDE_IP}	${HOSTNAME}.${DOMAIN}" >> /etc/hosts
[ ${INSIDE_DEV2} ] && echo "${INSIDE_IP2}	${HOSTNAME}.${DOMAIN}" >> /etc/hosts
[ ${INSIDE_DEV3} ] && echo "${INSIDE_IP3}	${HOSTNAME}.${DOMAIN}" >> /etc/hosts
[ ${INSIDE_DEV4} ] && echo "${INSIDE_IP4}	${HOSTNAME}.${DOMAIN}" >> /etc/hosts
[ ${INSIDE_DEV5} ] && echo "${INSIDE_IP5}	${HOSTNAME}.${DOMAIN}" >> /etc/hosts

#
# Outside
#
if [ ${OUTSIDE_IP} = 'DHCP' ];
then 
        echo "Booting dhcpcd"
        mv -f /etc/dhcpc/dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-${OUTSIDE_DEV}.exe 2> /dev/null
        if /bin/dhcpcd -d -h ${HOSTNAME} ${OUTSIDE_DEV}; then
                tmphostname=${HOSTNAME}
                tmpdomain=${DOMAIN}
                . /etc/dhcpc/dhcpcd-${OUTSIDE_DEV}.info
                if [ ! ${tmphostname} = "" ]; then
                        HOSTNAME=${tmphostname}
                        DOMAIN=${tmpdomain}
                fi
                OUTSIDE_IP=${IPADDR}

                echo "dhcp successfully configured:"
                echo "Your address is ${IPADDR}"
                echo "The default gateway is is ${GATEWAY}"
                echo "The lease time is ${LEASETIME} seconds"
                echo "Next lease renewal in ${RENEWALTIME} seconds"
        else
                echo "duh!"     # Or some more useful error handling
        fi
else
        /bin/ifconfig ${OUTSIDE_DEV} ${OUTSIDE_IP} netmask ${OUTSIDE_NETMASK} broadcast ${OUTSIDE_BROADCAST}

        #
        # Default gateway
        #
        /bin/route add default gw ${DEFAULT_GATEWAY} metric 1

        echo "Setting up name server (etc/resolv.conf) "

        echo "domain ${DOMAIN}" >> /etc/resolv.conf
        echo "search ${DOMAIN}" >> /etc/resolv.conf

        echo "nameserver ${NAME_SERVER_IP1}" >> /etc/resolv.conf
        echo "nameserver ${NAME_SERVER_IP2}" >> /etc/resolv.conf
fi

echo "0" > /proc/sys/net/ipv4/tcp_ecn

echo "1" > /proc/sys/net/ipv4/tcp_syncookies

if [ -f /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
  echo "Enabling anti spoofing: "

  for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
     echo -n " $f "
       echo 1 > $f
     done
 else
  echo "Anti spoofing is not available, the author of this floppy spoofed, mail him."
fi

