aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/charon/daemon.c7
-rw-r--r--src/charon/plugins/sql/pool.c13
-rw-r--r--src/manager/main.c7
-rw-r--r--src/medsrv/main.c7
-rwxr-xr-xsrc/openac/openac.c10
-rw-r--r--src/pki/pki.c7
-rw-r--r--src/pluto/plutomain.c7
-rw-r--r--src/scepclient/scepclient.c7
8 files changed, 44 insertions, 21 deletions
diff --git a/src/charon/daemon.c b/src/charon/daemon.c
index 0689c448e..cf2b1c7be 100644
--- a/src/charon/daemon.c
+++ b/src/charon/daemon.c
@@ -491,8 +491,11 @@ static bool initialize(private_daemon_t *this, bool syslog, level_t levels[])
this->public.traps = trap_manager_create();
/* load plugins, further infrastructure may need it */
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "charon.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "charon.load", PLUGINS)))
+ {
+ return FALSE;
+ }
print_plugins();
diff --git a/src/charon/plugins/sql/pool.c b/src/charon/plugins/sql/pool.c
index 6c0c1f5a6..ef119c966 100644
--- a/src/charon/plugins/sql/pool.c
+++ b/src/charon/plugins/sql/pool.c
@@ -634,20 +634,23 @@ int main(int argc, char *argv[])
fprintf(stderr, "integrity check of pool failed\n");
exit(SS_RC_DAEMON_INTEGRITY);
}
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "pool.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "pool.load", PLUGINS)))
+ {
+ exit(SS_RC_INITIALIZATION_FAILED);
+ }
uri = lib->settings->get_str(lib->settings, "charon.plugins.sql.database", NULL);
if (!uri)
{
fprintf(stderr, "database URI charon.plugins.sql.database not set.\n");
- exit(-1);
+ exit(SS_RC_INITIALIZATION_FAILED);
}
db = lib->db->create(lib->db, uri);
if (!db)
{
fprintf(stderr, "opening database failed.\n");
- exit(-1);
+ exit(SS_RC_INITIALIZATION_FAILED);
}
atexit(cleanup);
@@ -677,7 +680,7 @@ int main(int argc, char *argv[])
switch (c)
{
case EOF:
- break;
+ break;
case 'h':
break;
case 'w':
diff --git a/src/manager/main.c b/src/manager/main.c
index 6fef0bf3e..3d2c4de6b 100644
--- a/src/manager/main.c
+++ b/src/manager/main.c
@@ -35,8 +35,11 @@ int main (int arc, char *argv[])
int threads, timeout;
library_init(STRONGSWAN_CONF);
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "manager.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "manager.load", PLUGINS)))
+ {
+ return 1;
+ }
socket = lib->settings->get_str(lib->settings, "manager.socket", NULL);
debug = lib->settings->get_bool(lib->settings, "manager.debug", FALSE);
diff --git a/src/medsrv/main.c b/src/medsrv/main.c
index 20dec9d37..e4f878304 100644
--- a/src/medsrv/main.c
+++ b/src/medsrv/main.c
@@ -34,8 +34,11 @@ int main(int arc, char *argv[])
int timeout, threads;
library_init(STRONGSWAN_CONF);
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "medsrv.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "medsrv.load", PLUGINS)))
+ {
+ return 1;
+ }
socket = lib->settings->get_str(lib->settings, "medsrv.socket", NULL);
debug = lib->settings->get_bool(lib->settings, "medsrv.debug", FALSE);
diff --git a/src/openac/openac.c b/src/openac/openac.c
index db9959803..d6e75efc3 100755
--- a/src/openac/openac.c
+++ b/src/openac/openac.c
@@ -220,20 +220,22 @@ int main(int argc, char **argv)
openlog("openac", 0, LOG_AUTHPRIV);
/* initialize library */
+ atexit(library_deinit);
if (!library_init(STRONGSWAN_CONF))
{
- library_deinit();
exit(SS_RC_LIBSTRONGSWAN_INTEGRITY);
}
if (lib->integrity &&
!lib->integrity->check_file(lib->integrity, "openac", argv[0]))
{
fprintf(stderr, "integrity check of openac failed\n");
- library_deinit();
exit(SS_RC_DAEMON_INTEGRITY);
}
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "openac.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "openac.load", PLUGINS)))
+ {
+ exit(SS_RC_INITIALIZATION_FAILED);
+ }
/* initialize optionsfrom */
options_t *options = options_create();
diff --git a/src/pki/pki.c b/src/pki/pki.c
index 13f2627e8..a612a1b07 100644
--- a/src/pki/pki.c
+++ b/src/pki/pki.c
@@ -747,8 +747,11 @@ int main(int argc, char *argv[])
fprintf(stderr, "integrity check of pki failed\n");
exit(SS_RC_DAEMON_INTEGRITY);
}
- lib->plugins->load(lib->plugins, PLUGINDIR,
- lib->settings->get_str(lib->settings, "pki.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, PLUGINDIR,
+ lib->settings->get_str(lib->settings, "pki.load", PLUGINS)))
+ {
+ exit(SS_RC_INITIALIZATION_FAILED);
+ }
switch (getopt_long(argc, argv, "", long_opts, NULL))
{
diff --git a/src/pluto/plutomain.c b/src/pluto/plutomain.c
index b3d75e87a..550bda999 100644
--- a/src/pluto/plutomain.c
+++ b/src/pluto/plutomain.c
@@ -652,8 +652,11 @@ int main(int argc, char **argv)
}
/* load plugins, further infrastructure may need it */
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "pluto.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "pluto.load", PLUGINS)))
+ {
+ exit(SS_RC_INITIALIZATION_FAILED);
+ }
print_plugins();
init_builder();
diff --git a/src/scepclient/scepclient.c b/src/scepclient/scepclient.c
index e01997ce6..f2b49f256 100644
--- a/src/scepclient/scepclient.c
+++ b/src/scepclient/scepclient.c
@@ -759,8 +759,11 @@ int main(int argc, char **argv)
init_log("scepclient");
/* load plugins, further infrastructure may need it */
- lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
- lib->settings->get_str(lib->settings, "scepclient.load", PLUGINS));
+ if (!lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR,
+ lib->settings->get_str(lib->settings, "scepclient.load", PLUGINS)))
+ {
+ exit_scepclient("plugin loading failed");
+ }
print_plugins();
if ((filetype_out == 0) && (!request_ca_certificate))