diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-06-27 11:27:36 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-06-27 11:31:16 +0200 |
commit | aa54ecef44381727f411813c31d75050a9f43aaf (patch) | |
tree | 563ec442065db383a7bc66cb6e662a6c7d54ddaa | |
parent | ec3b332bf830a759036d8566f054f563e9cfdb2b (diff) | |
download | strongswan-aa54ecef44381727f411813c31d75050a9f43aaf.tar.bz2 strongswan-aa54ecef44381727f411813c31d75050a9f43aaf.tar.xz |
Use static plugin features in libcharon to define essential dependencies
-rw-r--r-- | src/charon-nm/nm/nm_backend.c | 1 | ||||
-rw-r--r-- | src/libcharon/daemon.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/charon-nm/nm/nm_backend.c b/src/charon-nm/nm/nm_backend.c index f8ed23ef1..de9bf27b7 100644 --- a/src/charon-nm/nm/nm_backend.c +++ b/src/charon-nm/nm/nm_backend.c @@ -167,6 +167,7 @@ void nm_backend_register() static plugin_feature_t features[] = { PLUGIN_CALLBACK((plugin_feature_callback_t)nm_backend_cb, NULL), PLUGIN_PROVIDE(CUSTOM, "NetworkManager backend"), + PLUGIN_DEPENDS(CUSTOM, "libcharon"), }; lib->plugins->add_static_features(lib->plugins, "nm-backend", features, countof(features), TRUE); diff --git a/src/libcharon/daemon.c b/src/libcharon/daemon.c index 8a4b3906f..525c987ab 100644 --- a/src/libcharon/daemon.c +++ b/src/libcharon/daemon.c @@ -32,7 +32,7 @@ #include "daemon.h" #include <library.h> -#include <plugins/plugin.h> +#include <plugins/plugin_feature.h> #include <config/proposal.h> #include <kernel/kernel_handler.h> #include <processing/jobs/start_action_job.h> @@ -213,6 +213,15 @@ METHOD(daemon_t, start, void, METHOD(daemon_t, initialize, bool, private_daemon_t *this, char *plugins) { + static plugin_feature_t features[] = { + PLUGIN_PROVIDE(CUSTOM, "libcharon"), + PLUGIN_DEPENDS(HASHER, HASH_SHA1), + PLUGIN_DEPENDS(RNG, RNG_STRONG), + PLUGIN_DEPENDS(NONCE_GEN), + }; + lib->plugins->add_static_features(lib->plugins, charon->name, features, + countof(features), TRUE); + /* load plugins, further infrastructure may need it */ if (!lib->plugins->load(lib->plugins, NULL, plugins)) { |