aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/socket_win/socket_win_socket.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-06-04 16:32:23 +0200
committerMartin Willi <martin@revosec.ch>2014-06-04 16:32:23 +0200
commitd2859f52516b228c27bdba2ea924c6ca74de5ffb (patch)
tree94fa5c78fa1a9456068694c18f9aa4f9086f7a1b /src/libcharon/plugins/socket_win/socket_win_socket.c
parent893e8ceee3acc39693d80c79f6f0953326b5ed74 (diff)
parent4732e29a1d5ed9bd136a804e180cb45d23d24f86 (diff)
downloadstrongswan-d2859f52516b228c27bdba2ea924c6ca74de5ffb.tar.bz2
strongswan-d2859f52516b228c27bdba2ea924c6ca74de5ffb.tar.xz
Merge branch 'win-kernel'
Adds the kernel-iph and kernel-wfp kernel backends for the Windows platform. kernel-iph provides a networking backend using the IP Helper native Windows API, while the kernel-wfp backend implements an interface to the Windows Kernel IPsec layer using the Windows Filtering Platform API.
Diffstat (limited to 'src/libcharon/plugins/socket_win/socket_win_socket.c')
-rw-r--r--src/libcharon/plugins/socket_win/socket_win_socket.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libcharon/plugins/socket_win/socket_win_socket.c b/src/libcharon/plugins/socket_win/socket_win_socket.c
index 473b05313..2cd951d8f 100644
--- a/src/libcharon/plugins/socket_win/socket_win_socket.c
+++ b/src/libcharon/plugins/socket_win/socket_win_socket.c
@@ -19,6 +19,7 @@
#include "socket_win_socket.h"
#include <library.h>
+#include <hydra.h>
#include <threading/thread.h>
#include <daemon.h>
@@ -424,6 +425,16 @@ static SOCKET open_socket(private_socket_win_socket_t *this, int i)
closesocket(s);
return INVALID_SOCKET;
}
+ if (!hydra->kernel_interface->bypass_socket(hydra->kernel_interface,
+ s, AF_INET))
+ {
+ DBG1(DBG_NET, "installing IPv4 IKE bypass policy failed");
+ }
+ if (!hydra->kernel_interface->bypass_socket(hydra->kernel_interface,
+ s, AF_INET6))
+ {
+ DBG1(DBG_NET, "installing IPv6 IKE bypass policy failed");
+ }
return s;
}