From: Daniel Lenski Date: Tue, 30 Mar 2021 23:05:05 +0000 (-0700) Subject: vpnc-script-win: add legacy IP split-exclude handling X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b4dedabc1e36d1d59e6065df188214a67cb84a94;p=users%2Fdwmw2%2Fvpnc-scripts.git vpnc-script-win: add legacy IP split-exclude handling Based on https://lists.infradead.org/pipermail/openconnect-devel/2020-June/004869.html Signed-off-by: Daniel Lenski --- diff --git a/vpnc-script-win.js b/vpnc-script-win.js index 6eac059..5a3ac57 100644 --- a/vpnc-script-win.js +++ b/vpnc-script-win.js @@ -147,6 +147,17 @@ case "connect": run("route add 128.0.0.0 mask 128.0.0.0 " + internal_gw); } } + + // Add excluded routes + if (env("CISCO_SPLIT_EXC")) { + for (var i = 0 ; i < parseInt(env("CISCO_SPLIT_EXC")); i++) { + var network = env("CISCO_SPLIT_EXC_" + i + "_ADDR"); + var netmask = env("CISCO_SPLIT_EXC_" + i + "_MASK"); + var netmasklen = env("CISCO_SPLIT_EXC_" + i + "_MASKLEN"); + run("route add " + network + " mask " + netmask + + " " + gw); + } + } echo("Legacy IP route configuration done."); if (env("INTERNAL_IP6_ADDRESS")) { @@ -189,4 +200,14 @@ case "connect": case "disconnect": // Delete direct route for the VPN gateway run("route delete " + env("VPNGATEWAY") + " mask 255.255.255.255"); + + // Delete Legacy IP split-exclude routes + if (env("CISCO_SPLIT_EXC")) { + for (var i = 0 ; i < parseInt(env("CISCO_SPLIT_EXC")); i++) { + var network = env("CISCO_SPLIT_EXC_" + i + "_ADDR"); + var netmask = env("CISCO_SPLIT_EXC_" + i + "_MASK"); + var netmasklen = env("CISCO_SPLIT_EXC_" + i + "_MASKLEN"); + exec("route delete " + network + " mask " + netmask ); + } + } }