#!/usr/bin/bash
set -e

[[ -z $NETNS ]] && {
    printf "$0"': $NETNS is not set! Please set it to the name of the desired namespace\n' >&2
    exit 1
}

etc_path=/var/ns-etc/$NETNS

case $reason in
    connect)
        ip netns exec "$NETNS" ip link set dev lo up
        ip link set dev "$TUNDEV" up netns "$NETNS" mtu "$INTERNAL_IP4_MTU"
        # Setup only IPv4 for now
        ip netns exec "$NETNS" ip addr add "$INTERNAL_IP4_ADDRESS" dev "$TUNDEV"
        ip netns exec "$NETNS" ip route add default dev "$TUNDEV"

        # Put DNS servers in namespace-specific resolv.conf
        mkdir -p "$etc_path"
        {
            printf '# Generated by vpnc-script-netns\n'
            for dns_server in $INTERNAL_IP4_DNS; do
                printf 'nameserver %s\n' "$dns_server"
            done
        } >"$etc_path/resolv.conf"
    ;;
esac
