aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/plugins/kernel_klips/kernel_klips_ipsec.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-02-23 16:28:23 +0000
committerMartin Willi <martin@revosec.ch>2010-02-26 11:44:33 +0100
commit54f818590e1482eb271b01e9f462c58ec1299242 (patch)
tree4154d6fe798855f9a360e2a1f95dac44c74a128e /src/charon/plugins/kernel_klips/kernel_klips_ipsec.c
parent3e631491a0ecb922284198bf3a2cf82470f9a28a (diff)
downloadstrongswan-54f818590e1482eb271b01e9f462c58ec1299242.tar.bz2
strongswan-54f818590e1482eb271b01e9f462c58ec1299242.tar.xz
Pass sockets to bypass to kernel interface, allowing us to register them dynamically
Diffstat (limited to 'src/charon/plugins/kernel_klips/kernel_klips_ipsec.c')
-rw-r--r--src/charon/plugins/kernel_klips/kernel_klips_ipsec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/charon/plugins/kernel_klips/kernel_klips_ipsec.c b/src/charon/plugins/kernel_klips/kernel_klips_ipsec.c
index 21f6b2ac9..c99b72133 100644
--- a/src/charon/plugins/kernel_klips/kernel_klips_ipsec.c
+++ b/src/charon/plugins/kernel_klips/kernel_klips_ipsec.c
@@ -2556,6 +2556,13 @@ static status_t register_pfkey_socket(private_kernel_klips_ipsec_t *this, u_int8
return SUCCESS;
}
+METHOD(kernel_ipsec_t, bypass_socket, bool,
+ private_kernel_klips_ipsec_t *this, int fd, int family)
+{
+ /* KLIPS does not need a bypass policy for IKE */
+ return TRUE;
+}
+
METHOD(kernel_ipsec_t, destroy, void,
private_kernel_klips_ipsec_t *this)
{
@@ -2589,6 +2596,7 @@ kernel_klips_ipsec_t *kernel_klips_ipsec_create()
.add_policy = _add_policy,
.query_policy = _query_policy,
.del_policy = _del_policy,
+ .bypass_socket = _bypass_socket,
.destroy = _destroy,
},
.policies = linked_list_create(),