#!/bin/sh # This systemd generator creates dependency symlinks that make all OpenVPN # tunnels listed in /etc/default/openvpn's AUTOSTART be started/stopped/reloaded # when openvpn.service is started/stopped/reloaded. set -eu GENDIR="$1" WANTDIR="$1/openvpn.service.wants" SERVICEFILE="/lib/systemd/system/openvpn@.service" AUTOSTART="all" CONFIG_DIR=/etc/openvpn mkdir -p "$WANTDIR" if test -e /etc/default/openvpn ; then . /etc/default/openvpn 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/openvpn@$NAME.service" done else for NAME in $AUTOSTART ; do if test -e $CONFIG_DIR/$NAME.conf ; then ln -s "$SERVICEFILE" "$WANTDIR/openvpn@$NAME.service" fi done fi exit 0