From b99fa05ea36a7fc090602b4295a5a5edc95ca853 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 23 Oct 2014 10:39:58 +0200 Subject: be a bit more verbose and fix tun/tap detection --- 40-openvpn | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/40-openvpn b/40-openvpn index 502dc6b..7cc96b4 100755 --- a/40-openvpn +++ b/40-openvpn @@ -3,15 +3,22 @@ INTERFACE="${1}" STATUS="${2}" -# VPN interfaces managed by networkmanager send events vpn-{up,down}. -# If the connection is started by whatever networkmanager sees this -# and triggers event up or down. Ignore these. -if ! ip tuntap | grep -q "^${INTERFACE}:"; then - exit 0 -fi +case "${STATUS}" in + up) + # VPN interfaces managed by networkmanager send events vpn-{up,down}. + # If the connection is started by whatever networkmanager sees this + # and triggers event up or down. Ignore these. + if ip tuntap | grep -q "^${INTERFACE}:"; then + echo "${0}: ${INTERFACE} changed status to up, but is tun/tap. Ignoring." + exit 0 + fi -if [ "${STATUS}" == "up" ]; then - if pgrep -x openvpn >/dev/null; then - kill -USR1 $(pgrep -x openvpn) - fi -fi + if pgrep -x openvpn >/dev/null; then + echo "${0}: ${INTERFACE} changed status to up, sending restart to openvpn." + kill -USR1 $(pgrep -x openvpn) + fi + ;; + *) + echo "${0}: ${INTERFACE} changed status to ${STATUS}, ignoring." + ;; +esac -- cgit v1.2.3-54-g00ecf