Annotation of elwix/config/etc/default/racoon/roadwarrior/client/phase1-down.sh, revision 1.1

1.1     ! misho       1: #!/bin/sh
        !             2: 
        !             3: #
        !             4: # sa-down.sh local configuration for a new SA
        !             5: #
        !             6: 
        !             7: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
        !             8: 
        !             9: case `uname -s` in
        !            10: NetBSD)
        !            11:        DEFAULT_GW=`netstat -rn | awk '($1 == "default"){print $2}'`
        !            12:        ;;
        !            13: Linux)
        !            14:        DEFAULT_GW=`netstat -rn | awk '($1 == "0.0.0.0"){print $2}'`
        !            15:        ;;
        !            16: esac
        !            17: 
        !            18: echo $@
        !            19: echo "LOCAL_ADDR = ${LOCAL_ADDR}"
        !            20: echo "LOCAL_PORT = ${LOCAL_PORT}"
        !            21: echo "REMOTE_ADDR = ${REMOTE_ADDR}"
        !            22: echo "REMOTE_PORT = ${REMOTE_PORT}"
        !            23: echo "DEFAULT_GW = ${DEFAULT_GW}"
        !            24: echo "INTERNAL_ADDR4 = ${INTERNAL_ADDR4}"
        !            25: echo "INTERNAL_DNS4 = ${INTERNAL_DNS4}"
        !            26: 
        !            27: echo ${INTERNAL_ADDR4} | grep '[0-9]' > /dev/null || exit 0
        !            28: echo ${DEFAULT_GW} | grep '[0-9]' > /dev/null || exit 0
        !            29: 
        !            30: test -f /etc/resolv.conf.bak && cp /etc/resolv.conf.bak /etc/resolv.conf
        !            31: 
        !            32: case `uname -s` in
        !            33: NetBSD)
        !            34:        if=`netstat -rn|awk '($1 == "default"){print $7}'`
        !            35:        ifconfig ${if} delete ${INTERNAL_ADDR4}
        !            36:        route delete default
        !            37:        route delete ${REMOTE_ADDR}
        !            38:        route add default ${DEFAULT_GW} -ifa ${LOCAL_ADDR}
        !            39:        ;;
        !            40: Linux)
        !            41:        if=`netstat -rn|awk '($1 == "0.0.0.0"){print $8}'`
        !            42:        route delete default
        !            43:        route delete ${REMOTE_ADDR}
        !            44:        ifconfig ${if}:1 del ${INTERNAL_ADDR4}
        !            45:        route add default gw ${DEFAULT_GW}
        !            46: 
        !            47:        #
        !            48:        # XXX This is a workaround because Linux seems to ignore
        !            49:        # the deleteall commands below. This is bad because it flushes
        !            50:        # any SAD instead of flushing what needs to be flushed.
        !            51:        # Someone using Linux please fix it
        !            52:        #
        !            53:        setkey -F
        !            54:        ;;
        !            55: esac
        !            56: 
        !            57: # Use this for a NAT-T setup
        !            58: LOCAL="${LOCAL_ADDR}[${LOCAL_PORT}]"
        !            59: REMOTE="${REMOTE_ADDR}[${REMOTE_PORT}]"
        !            60: 
        !            61: # Use this for a non NAT-T setup
        !            62: #LOCAL="${LOCAL_ADDR}"
        !            63: #REMOTE="${REMOTE_ADDR}"
        !            64: 
        !            65: echo "
        !            66: deleteall ${REMOTE_ADDR} ${LOCAL_ADDR} esp;
        !            67: deleteall ${LOCAL_ADDR} ${REMOTE_ADDR} esp; 
        !            68: spddelete ${INTERNAL_ADDR4}/32[any] 0.0.0.0/0[any] any
        !            69:        -P out ipsec esp/tunnel/${LOCAL}-${REMOTE}/require;
        !            70: spddelete 0.0.0.0/0[any] ${INTERNAL_ADDR4}[any] any
        !            71:        -P in ipsec esp/tunnel/${REMOTE}-${LOCAL}/require;
        !            72: " | setkey -c
        !            73: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>