1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Remove MPTCP over VPN interface if base interface was removed

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-10-09 16:27:23 +02:00
parent 8d2d93c82b
commit 0469411969

View file

@ -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
}