Hiya,

On Thu, Apr 10, 2014 at 01:25:27AM +0200, Cedric wrote:
> I get an error on latest release 2.3.3 (and previous ones), on windows 8.1.
> 
> NETSH: C:\WINDOWS\system32\netsh.exe interface ipv6 delete address OPENVPN 
> 2a02:xxxx:xxxx:ffff::1000

So.  here we go :-)

Patch (for 2.3.3, but should apply as well to master) is appended.

Windows installers for x32 and x64 can be found here:

  http://www.greenie.net/ipv6/openvpn-install-2.3.3-routefix-I099-i686.exe
  http://www.greenie.net/ipv6/openvpn-install-2.3.3-routefix-I099-x86_64.exe

Please test, and report if that fixes it for you.

The sources in there are "pristine 2.3.3 plus the appended patch", built
with pkcs11-helper 1.11 and openssl 1.0.1g.

gert
-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de
From fce0349d035b77e738cb19856d05d92f8cc907bd Mon Sep 17 00:00:00 2001
From: Gert Doering <g...@greenie.muc.de>
List-Post: openvpn-devel@lists.sourceforge.net
Date: Sun, 13 Apr 2014 13:12:02 +0200
Subject: [PATCH] IPv6 route delete fix for Win8

Use "store=active" for IPv6 route deletion as well - seems to be required
on Windows 8 and up, and will break OpenVPN reconnection, as old routes
are not properly deleted, thus new routes cannot be added.

Reported-by: Cedric <cedric+open...@bgtn.net>
Signed-off-by: Gert Doering <g...@greenie.muc.de>
---
 src/openvpn/route.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/openvpn/route.c b/src/openvpn/route.c
index 6333ee7..78d9c83 100644
--- a/src/openvpn/route.c
+++ b/src/openvpn/route.c
@@ -1974,10 +1974,16 @@ delete_route_ipv6 (const struct route_ipv6 *r6, const 
struct tuntap *tt, unsigne
     argv_printf_cat (&argv, "METRIC %d", r->metric);
 #endif
 
+  /* Windows XP to 7 "just delete" routes, wherever they came from, but
+   * in Windows 8(.1?), if you create them with "store=active", this is
+   * how you have to delete them as well (pointed out by Cedric)
+   */
+  argv_printf_cat( &argv, " store=active" );
+
   argv_msg (D_ROUTE, &argv);
 
   netcmd_semaphore_lock ();
-  openvpn_execve_check (&argv, es, 0, "ERROR: Windows route add ipv6 command 
failed");
+  openvpn_execve_check (&argv, es, 0, "ERROR: Windows route delete ipv6 
command failed");
   netcmd_semaphore_release ();
 
 #elif defined (TARGET_SOLARIS)
-- 
1.8.3.2

Attachment: pgpDqijaEp3iR.pgp
Description: PGP signature

Reply via email to