#!/bin/sh

# This systemd generator creates dependency symlinks that make all MLVPN
# tunnels listed in /etc/default/mlvpn's AUTOSTART be started/stopped/reloaded
# when mlvpn.service is started/stopped/reloaded.

set -eu

GENDIR="$1"
WANTDIR="$1/mlvpn.service.wants"
SERVICEFILE="/lib/systemd/system/mlvpn@.service"
AUTOSTART="all"
CONFIG_DIR=/etc/mlvpn

mkdir -p "$WANTDIR"

if test -e /etc/default/mlvpn ; then
    . /etc/default/mlvpn
fi

# No VPNs automatically started
if test "x$AUTOSTART" = "xnone" ; then
    exit 0
fi

if test "x$AUTOSTART" = "xall" -o -z "$AUTOSTART" ; then
    for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
        NAME=${CONFIG%%.conf}
        ln -s "$SERVICEFILE" "$WANTDIR/mlvpn@$NAME.service"
    done
else
    for NAME in $AUTOSTART ; do
        if test -e $CONFIG_DIR/$NAME.conf ; then
            ln -s "$SERVICEFILE" "$WANTDIR/mlvpn@$NAME.service"
        fi
    done
fi

exit 0
