summaryrefslogtreecommitdiffstats
path: root/src/openvpn/tun.c
diff options
context:
space:
mode:
authorGert Doering <gert@greenie.muc.de>2014-04-13 13:12:02 +0200
committerGert Doering <gert@greenie.muc.de>2014-04-13 21:34:44 +0200
commit4b4fac9184fcea1eab4f4223309211780cee188a (patch)
treeee572a34e2ae8ae708d48cf7b0fc33dfcdcfb57a /src/openvpn/tun.c
parent2903eba5dfe35c981329a833845e24de3882161a (diff)
downloadopenvpn-4b4fac9184fcea1eab4f4223309211780cee188a.tar.gz
openvpn-4b4fac9184fcea1eab4f4223309211780cee188a.tar.xz
openvpn-4b4fac9184fcea1eab4f4223309211780cee188a.zip
IPv6 address/route delete fix for Win8
Use "store=active" for IPv6 address and route deletion - seems to be required on Windows 8 and up, and not doing it will break OpenVPN reconnection (old addresses are not properly deleted, thus address can not be configured on connect). Reported-by: Cedric <cedric+openvpn@bgtn.net> Signed-off-by: Gert Doering <gert@greenie.muc.de> Acked-by: Cedric Tabary <cedric+openvpn@bgtn.net> Message-Id: <20140413170648.GU16637@greenie.muc.de> URL: http://article.gmane.org/gmane.network.openvpn.devel/8499
Diffstat (limited to 'src/openvpn/tun.c')
-rw-r--r--src/openvpn/tun.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index 4df271d..482f640 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -5305,10 +5305,14 @@ close_tun (struct tuntap *tt)
/* remove route pointing to interface */
delete_route_connected_v6_net(tt, NULL);
+ /* "store=active" is needed in Windows 8(.1) to delete the
+ * address we added (pointed out by Cedric Tabary).
+ */
+
/* netsh interface ipv6 delete address \"%s\" %s */
ifconfig_ipv6_local = print_in6_addr (tt->local_ipv6, 0, &gc);
argv_printf (&argv,
- "%s%sc interface ipv6 delete address %s %s",
+ "%s%sc interface ipv6 delete address %s %s store=active",
get_win_sys_path(),
NETSH_PATH_SUFFIX,
tt->actual_name,