aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdrian-Ken Rueegsegger <ken@codelabs.ch>2012-09-11 19:17:23 +0200
committerTobias Brunner <tobias@strongswan.org>2013-03-19 15:23:48 +0100
commit6ed5c3bb1e5229e23d4810ca45bdf5ec833bb187 (patch)
tree3041f2d63cbbd6608793f1ec155f22d98c121f3d /src
parentdb97fd74d3185b02b25942972a181ee600d6b9b5 (diff)
downloadstrongswan-6ed5c3bb1e5229e23d4810ca45bdf5ec833bb187.tar.bz2
strongswan-6ed5c3bb1e5229e23d4810ca45bdf5ec833bb187.tar.xz
charon-tkm: Register kernel_netlink_net
Explicitly register kernel netlink net implementation and avoid loading the whole kernel-netlink plugin since the kernel netlink ipsec part is unwanted.
Diffstat (limited to 'src')
-rw-r--r--src/charon-tkm/Makefile.am1
-rw-r--r--src/charon-tkm/src/charon-tkm.c4
-rw-r--r--src/charon-tkm/tests/keymat_tests.c6
3 files changed, 10 insertions, 1 deletions
diff --git a/src/charon-tkm/Makefile.am b/src/charon-tkm/Makefile.am
index 1b5dfdf2b..6c7359323 100644
--- a/src/charon-tkm/Makefile.am
+++ b/src/charon-tkm/Makefile.am
@@ -25,7 +25,6 @@ PLUGINS = \
aes \
constraints \
hmac \
- kernel-netlink \
pem \
pkcs1 \
pkcs8 \
diff --git a/src/charon-tkm/src/charon-tkm.c b/src/charon-tkm/src/charon-tkm.c
index 0782bda13..1d21e7daf 100644
--- a/src/charon-tkm/src/charon-tkm.c
+++ b/src/charon-tkm/src/charon-tkm.c
@@ -27,6 +27,7 @@
#include <hydra.h>
#include <daemon.h>
+#include <plugins/kernel_netlink/kernel_netlink_net.h>
#include <library.h>
#include <utils/backtrace.h>
@@ -287,6 +288,9 @@ int main(int argc, char *argv[])
PLUGIN_PROVIDE(DH, MODP_4096_BIT),
PLUGIN_CALLBACK(kernel_ipsec_register, tkm_kernel_ipsec_create),
PLUGIN_PROVIDE(CUSTOM, "kernel-ipsec"),
+ PLUGIN_CALLBACK(kernel_net_register, kernel_netlink_net_create),
+ PLUGIN_PROVIDE(CUSTOM, "kernel-net"),
+
};
lib->plugins->add_static_features(lib->plugins, "tkm-backend", features,
countof(features), TRUE);
diff --git a/src/charon-tkm/tests/keymat_tests.c b/src/charon-tkm/tests/keymat_tests.c
index 0fde2fb6e..0d74ad55c 100644
--- a/src/charon-tkm/tests/keymat_tests.c
+++ b/src/charon-tkm/tests/keymat_tests.c
@@ -19,12 +19,14 @@
#include <hydra.h>
#include <config/proposal.h>
#include <encoding/payloads/ike_header.h>
+#include <plugins/kernel_netlink/kernel_netlink_net.h>
#include <tkm/client.h>
#include "tkm.h"
#include "tkm_nonceg.h"
#include "tkm_diffie_hellman.h"
#include "tkm_keymat.h"
+#include "tkm_kernel_ipsec.h"
START_TEST(test_derive_ike_keys)
{
@@ -39,6 +41,10 @@ START_TEST(test_derive_ike_keys)
PLUGIN_REGISTER(DH, tkm_diffie_hellman_create),
PLUGIN_PROVIDE(DH, MODP_3072_BIT),
PLUGIN_PROVIDE(DH, MODP_4096_BIT),
+ PLUGIN_CALLBACK(kernel_ipsec_register, tkm_kernel_ipsec_create),
+ PLUGIN_PROVIDE(CUSTOM, "kernel-ipsec"),
+ PLUGIN_CALLBACK(kernel_net_register, kernel_netlink_net_create),
+ PLUGIN_PROVIDE(CUSTOM, "kernel-net"),
};
lib->plugins->add_static_features(lib->plugins, "tkm-tests", features,
countof(features), TRUE);