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 -#include +#include #include #include #include @@ -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)) {