diff --git a/src/packages/fff/fff-fastd/files/usr/lib/vpn-select.d/fastd b/src/packages/fff/fff-fastd/files/usr/lib/vpn-select.d/fastd index 0fde6809..2474ae17 100644 --- a/src/packages/fff/fff-fastd/files/usr/lib/vpn-select.d/fastd +++ b/src/packages/fff/fff-fastd/files/usr/lib/vpn-select.d/fastd @@ -1,7 +1,7 @@ protocol=fastd fastd_clear() { - rm /tmp/fastd_fff_peers/* + rm /tmp/fastd_fff_peers/* 2>/dev/null } fastd_addpeer() { @@ -21,14 +21,9 @@ fastd_addpeer() { } fastd_start_stop() { - /etc/init.d/fastd reload # does nothing if fastd was not running - - # fastd start/stop for various situations - # this is needed for first start and if fastd comes up or disappears in hoodfile - pidfile="/tmp/run/fastd.fff.pid" - if [ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ]; then - ([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) || /etc/init.d/fastd start + if ls /etc/fastd/fff/peers/* &>/dev/null; then + /etc/init.d/fastd reload else - ([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) && /etc/init.d/fastd stop + /etc/init.d/fastd stop fi } diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select index 8f9be37e..565b1daa 100755 --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select @@ -24,19 +24,21 @@ done # configure vpn -if [ -n "$hoodfile" ] && [ -s "$hoodfile" ] ; then - json_load "$(cat "$hoodfile")" - json_select hood - json_get_var id id - json_select ".." - json_select vpn - json_get_keys vpn_keys - for key in $vpn_keys; do - json_select $key - json_get_var protocol protocol - "${protocol}_addpeer" - json_select ".." # back to vpn - done +if [ "$0" != "/usr/sbin/vpn-stop" ] ; then + if [ -n "$hoodfile" ] && [ -s "$hoodfile" ] ; then + json_load "$(cat "$hoodfile")" + json_select hood + json_get_var id id + json_select ".." + json_select vpn + json_get_keys vpn_keys + for key in $vpn_keys; do + json_select $key + json_get_var protocol protocol + "${protocol}_addpeer" + json_select ".." # back to vpn + done + fi fi # start/restart/stop vpnservices