On Sat, 2013-12-21 at 13:09 +0100, Nikos Mavrogiannopoulos wrote: > Hello, > Attached is a patch for openconnect to compile under mingw32. Thanks. All this, and a little more to update it to current HEAD, is now committed. > That takes care the compilation, but I'm not sure whether the tun > handling is sufficient. It isn't. There's a fair amount more which needs to be done to use the tun device under Windows. See https://github.com/ndpgroup/vpnc/blob/master/sysdep.c#L162 We can't lift code from vpnc because OpenConnect is LGPL not GPL. There's some Win32 tun/tap code in http://i3.cs.berkeley.edu/ and it might be worth asking what their licence is; it's not clear. Reimplementing it from scratch shouldn't be impossible but I probably lack the wit to do it for myself without copying. If I bypass that issue though, with the following patch... diff --git a/main.c b/main.c index 9d246b1..6c1e0fb 100644 --- a/main.c +++ b/main.c @@ -1020,7 +1020,7 @@ int main(int argc, char **argv) } } else #endif - if (openconnect_setup_tun_device(vpninfo, vpnc_script, ifname)) { + if (0 && openconnect_setup_tun_device(vpninfo, vpnc_script, ifname)) { fprintf(stderr, _("Set up tun device failed\n")); openconnect_vpninfo_free(vpninfo); exit(1); ... I can make connections under wine. If I use OpenSSL I get DTLS connections. If I use GnuTLS (Fedora's mingw32-gnutls 3.1.16 package) it just says: DTLS handshake failed: Error in the pull function. (It does send a UDP packet and receive a response, but openconnect has closed the socket before the response comes in). The pull function isn't even being called. -- dwmw2 -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5745 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/openconnect-devel/attachments/20140206/81a3ca83/attachment.bin>