aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/plugins/sql
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-09-01 16:20:45 +0200
committerMartin Willi <martin@strongswan.org>2009-09-01 16:20:45 +0200
commit8fb4edc4ff59fca5dba590f567ffa559bf28522e (patch)
tree8e48124a54c18e60231bffc092ab6cdb99670fe5 /src/charon/plugins/sql
parentd6a45127dcce4263bd89710e4d065ee718177490 (diff)
downloadstrongswan-8fb4edc4ff59fca5dba590f567ffa559bf28522e.tar.bz2
strongswan-8fb4edc4ff59fca5dba590f567ffa559bf28522e.tar.xz
handle plugin loading failures
Diffstat (limited to 'src/charon/plugins/sql')
-rw-r--r--src/charon/plugins/sql/pool.c13
1 files changed, 8 insertions, 5 deletions
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':