aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/kernel/kernel_interface.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-10-27 15:38:47 +0100
committerMartin Willi <martin@revosec.ch>2015-02-20 13:34:51 +0100
commitb125839a1a174936624ad99765ea451c55834a70 (patch)
treea1497903dc6edd17551b6b0f89da52dccb441e60 /src/libhydra/kernel/kernel_interface.c
parent85ace154d85c69f708d494c810e4d77af4587a8c (diff)
downloadstrongswan-b125839a1a174936624ad99765ea451c55834a70.tar.bz2
strongswan-b125839a1a174936624ad99765ea451c55834a70.tar.xz
kernel-interface: Raise mapping event with a proto/SPI/dst tuple
Diffstat (limited to 'src/libhydra/kernel/kernel_interface.c')
-rw-r--r--src/libhydra/kernel/kernel_interface.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libhydra/kernel/kernel_interface.c b/src/libhydra/kernel/kernel_interface.c
index b5ade37d1..943b513b2 100644
--- a/src/libhydra/kernel/kernel_interface.c
+++ b/src/libhydra/kernel/kernel_interface.c
@@ -836,17 +836,18 @@ METHOD(kernel_interface_t, expire, void,
}
METHOD(kernel_interface_t, mapping, void,
- private_kernel_interface_t *this, u_int32_t reqid, u_int32_t spi,
- host_t *remote)
+ private_kernel_interface_t *this, u_int8_t protocol, u_int32_t spi,
+ host_t *dst, host_t *remote)
{
kernel_listener_t *listener;
enumerator_t *enumerator;
+
this->mutex->lock(this->mutex);
enumerator = this->listeners->create_enumerator(this->listeners);
while (enumerator->enumerate(enumerator, &listener))
{
if (listener->mapping &&
- !listener->mapping(listener, reqid, spi, remote))
+ !listener->mapping(listener, protocol, spi, dst, remote))
{
this->listeners->remove_at(this->listeners, enumerator);
}