From 04694119698a36c1ee92392ed826a49b9c65f656 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 9 Oct 2020 16:27:23 +0200 Subject: [PATCH] Remove MPTCP over VPN interface if base interface was removed --- openmptcprouter/files/etc/init.d/mptcpovervpn | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/openmptcprouter/files/etc/init.d/mptcpovervpn b/openmptcprouter/files/etc/init.d/mptcpovervpn index c45828bc2..73f804191 100755 --- a/openmptcprouter/files/etc/init.d/mptcpovervpn +++ b/openmptcprouter/files/etc/init.d/mptcpovervpn @@ -16,6 +16,21 @@ mptcp_over_vpn() { local interface=$1 nbintf=$(($nbintf+1)) if [ "$(uci -q get openmptcprouter.${interface}.multipathvpn)" = "1" ]; then + if [ "$(uci -q get network.${interface})" = "" ]; then + uci -q batch <<-EOF >/dev/null + delete openmptcprouter.${interface} + delete network.ovpn${interface} + delete openvpn.${interface} + commit openvpn + delete openmptcprouter.${interface} + delete openmptcprouter.ovpn${interface} + commit openmptcprouter + commit network + del_list firewall.zone_vpn.network="ovpn${interface}" + commit firewall + EOF + return + fi nbintfvpn=$(($nbintfvpn+1)) if [ "$(uci -q get network.ovpn${interface})" = "" ]; then logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}" @@ -89,6 +104,21 @@ mptcp_over_vpn() { del_list firewall.zone_vpn.network="ovpn${interface}" commit firewall EOF + elif [ "$(uci -q get openmptcprouter.${interface}.vpn)" = "1" ]; then + intf="$(echo ${interface} | sed 's/ovpn//g')" + if [ -n "$intf" ] && [ "$intf" != "$interface" ] && [ "$(uci -q get network.${intf})" = "" ]; then + uci -q batch <<-EOF >/dev/null + delete network.${interface} + delete openvpn.${intf} + commit openvpn + delete openmptcprouter.${intf} + delete openmptcprouter.${interface} + commit openmptcprouter + commit network + del_list firewall.zone_vpn.network="${interface}" + commit firewall + EOF + fi fi }