aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charon-cmd/charon-cmd.c1
-rw-r--r--src/charon-nm/charon-nm.c1
-rw-r--r--src/charon-tkm/src/charon-tkm.c1
-rw-r--r--src/charon/charon.c1
-rw-r--r--src/conftest/conftest.c2
-rw-r--r--src/frontends/android/jni/libandroidbridge/charonservice.c1
-rw-r--r--src/libcharon/daemon.c2
-rw-r--r--src/libstrongswan/plugins/plugin_loader.c10
-rw-r--r--src/libstrongswan/plugins/plugin_loader.h8
-rw-r--r--src/scepclient/scepclient.c3
10 files changed, 26 insertions, 4 deletions
diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c
index f898fd650..d0e20f9be 100644
--- a/src/charon-cmd/charon-cmd.c
+++ b/src/charon-cmd/charon-cmd.c
@@ -361,6 +361,7 @@ int main(int argc, char *argv[])
}
DBG1(DBG_DMN, "Starting charon-cmd IKE client (strongSwan %s, %s %s, %s)",
VERSION, utsname.sysname, utsname.release, utsname.machine);
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
/* add handler for SEGV and ILL,
* INT, TERM and HUP are handled by sigwait() in run() */
diff --git a/src/charon-nm/charon-nm.c b/src/charon-nm/charon-nm.c
index 61f2937ce..d61ddee85 100644
--- a/src/charon-nm/charon-nm.c
+++ b/src/charon-nm/charon-nm.c
@@ -212,6 +212,7 @@ int main(int argc, char *argv[])
DBG1(DBG_DMN, "initialization failed - aborting charon-nm");
goto deinit;
}
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
if (!charon->caps->drop(charon->caps))
{
diff --git a/src/charon-tkm/src/charon-tkm.c b/src/charon-tkm/src/charon-tkm.c
index 0b39058a6..4e364e7be 100644
--- a/src/charon-tkm/src/charon-tkm.c
+++ b/src/charon-tkm/src/charon-tkm.c
@@ -311,6 +311,7 @@ int main(int argc, char *argv[])
DBG1(DBG_DMN, "initialization failed - aborting %s", dmn_name);
goto deinit;
}
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
/* set global pidfile name depending on daemon name */
if (asprintf(&pidfile_name, IPSEC_PIDDIR"/%s.pid", dmn_name) < 0)
diff --git a/src/charon/charon.c b/src/charon/charon.c
index 812b7620b..eb7dd58e3 100644
--- a/src/charon/charon.c
+++ b/src/charon/charon.c
@@ -398,6 +398,7 @@ int main(int argc, char *argv[])
DBG1(DBG_DMN, "initialization failed - aborting charon");
goto deinit;
}
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
if (check_pidfile())
{
diff --git a/src/conftest/conftest.c b/src/conftest/conftest.c
index c2251effa..56d98bbe2 100644
--- a/src/conftest/conftest.c
+++ b/src/conftest/conftest.c
@@ -518,6 +518,8 @@ int main(int argc, char *argv[])
{
return 1;
}
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
+
if (!load_certs(conftest->test, conftest->suite_dir))
{
return 1;
diff --git a/src/frontends/android/jni/libandroidbridge/charonservice.c b/src/frontends/android/jni/libandroidbridge/charonservice.c
index 370c52af9..721c3a4a5 100644
--- a/src/frontends/android/jni/libandroidbridge/charonservice.c
+++ b/src/frontends/android/jni/libandroidbridge/charonservice.c
@@ -565,6 +565,7 @@ JNI_METHOD(CharonVpnService, initializeCharon, void,
library_deinit();
return;
}
+ lib->plugins->status(lib->plugins, LEVEL_CTRL);
/* add handler for SEGV and ILL etc. */
action.sa_handler = segv_handler;
diff --git a/src/libcharon/daemon.c b/src/libcharon/daemon.c
index b27e1776a..70262b736 100644
--- a/src/libcharon/daemon.c
+++ b/src/libcharon/daemon.c
@@ -538,8 +538,6 @@ METHOD(daemon_t, initialize, bool,
{
return FALSE;
}
- DBG1(DBG_DMN, "loaded plugins: %s",
- lib->plugins->loaded_plugins(lib->plugins));
this->public.ike_sa_manager = ike_sa_manager_create();
if (this->public.ike_sa_manager == NULL)
diff --git a/src/libstrongswan/plugins/plugin_loader.c b/src/libstrongswan/plugins/plugin_loader.c
index 2c8eae988..26310645b 100644
--- a/src/libstrongswan/plugins/plugin_loader.c
+++ b/src/libstrongswan/plugins/plugin_loader.c
@@ -1082,6 +1082,15 @@ METHOD(plugin_loader_t, loaded_plugins, char*,
return this->loaded_plugins ?: "";
}
+METHOD(plugin_loader_t, status, void,
+ private_plugin_loader_t *this, level_t level)
+{
+ if (this->loaded_plugins)
+ {
+ dbg(DBG_LIB, level, "loaded plugins: %s", this->loaded_plugins);
+ }
+}
+
METHOD(plugin_loader_t, destroy, void,
private_plugin_loader_t *this)
{
@@ -1109,6 +1118,7 @@ plugin_loader_t *plugin_loader_create()
.create_plugin_enumerator = _create_plugin_enumerator,
.has_feature = _has_feature,
.loaded_plugins = _loaded_plugins,
+ .status = _status,
.destroy = _destroy,
},
.plugins = linked_list_create(),
diff --git a/src/libstrongswan/plugins/plugin_loader.h b/src/libstrongswan/plugins/plugin_loader.h
index 6bb9d6e75..d4f74b923 100644
--- a/src/libstrongswan/plugins/plugin_loader.h
+++ b/src/libstrongswan/plugins/plugin_loader.h
@@ -25,6 +25,7 @@
typedef struct plugin_loader_t plugin_loader_t;
#include <collections/enumerator.h>
+#include <utils/debug.h>
/* to avoid circular references we can't include plugin_feature.h */
struct plugin_feature_t;
@@ -110,6 +111,13 @@ struct plugin_loader_t {
char* (*loaded_plugins)(plugin_loader_t *this);
/**
+ * Log status about loaded plugins and features.
+ *
+ * @param level log level to use
+ */
+ void (*status)(plugin_loader_t *this, level_t level);
+
+ /**
* Unload loaded plugins, destroy plugin_loader instance.
*/
void (*destroy)(plugin_loader_t *this);
diff --git a/src/scepclient/scepclient.c b/src/scepclient/scepclient.c
index 17f4d7c5d..11174c96f 100644
--- a/src/scepclient/scepclient.c
+++ b/src/scepclient/scepclient.c
@@ -929,8 +929,7 @@ int main(int argc, char **argv)
{
exit_scepclient("plugin loading failed");
}
- DBG1(DBG_APP, " loaded plugins: %s",
- lib->plugins->loaded_plugins(lib->plugins));
+ lib->plugins->status(lib->plugins, LEVEL_DIAG);
if ((filetype_out == 0) && (!request_ca_certificate))
{