aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2008-03-28 12:41:05 +0000
committerMartin Willi <martin@strongswan.org>2008-03-28 12:41:05 +0000
commit892fb43b12e33bc8a297f7fd527e11a14871ee8f (patch)
tree63831513e8bf2ceb7ea2036d228afc875fd352cf /src
parent35b6e2301f59a98f833a8b6c14e514929c53b79a (diff)
downloadstrongswan-892fb43b12e33bc8a297f7fd527e11a14871ee8f.tar.bz2
strongswan-892fb43b12e33bc8a297f7fd527e11a14871ee8f.tar.xz
fixed manager plugin loading
manager uses strongswan.conf to read its configuration
Diffstat (limited to 'src')
-rw-r--r--src/manager/Makefile.am3
-rw-r--r--src/manager/main.c37
2 files changed, 23 insertions, 17 deletions
diff --git a/src/manager/Makefile.am b/src/manager/Makefile.am
index 366022fd1..4b24175c3 100644
--- a/src/manager/Makefile.am
+++ b/src/manager/Makefile.am
@@ -11,7 +11,8 @@ controller/gateway_controller.c controller/gateway_controller.h
manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS}
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast ${xml_CFLAGS}
-AM_CFLAGS = -rdynamic -DIPSECDIR=\"${ipsecdir}\" -DIPSEC_PIDDIR=\"${piddir}\"
+AM_CFLAGS = -rdynamic -DIPSECDIR=\"${ipsecdir}\" -DIPSEC_PIDDIR=\"${piddir}\" \
+ -DIPSEC_PLUGINDIR=\"${plugindir}\"
ipsec_DATA = manager.db
diff --git a/src/manager/main.c b/src/manager/main.c
index fc1f5fc2d..981f92f42 100644
--- a/src/manager/main.c
+++ b/src/manager/main.c
@@ -16,6 +16,7 @@
*/
#include <dispatcher.h>
+#include <debug.h>
#include <stdio.h>
#include "manager.h"
@@ -26,32 +27,36 @@
#include "controller/control_controller.h"
#include "controller/config_controller.h"
-#define DBFILE IPSECDIR "/manager.db"
-#define SESSION_TIMEOUT 900
-#define THREADS 10
-
int main (int arc, char *argv[])
{
dispatcher_t *dispatcher;
storage_t *storage;
- char *socket = NULL;
- bool debug = FALSE;
-
-#ifdef FCGI_SOCKET
- socket = FCGI_SOCKET;
- debug = TRUE;
-#endif /* FCGI_SOCKET */
+ char *socket;
+ char *database;
+ bool debug;
+ int threads, timeout;
- library_init(IPSECDIR "/manager.conf");
+ library_init(IPSECDIR "/strongswan.conf");
+ lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, "libstrongswan-");
+
+ socket = lib->settings->get_str(lib->settings, "manager.socket", NULL);
+ debug = lib->settings->get_bool(lib->settings, "manager.debug", FALSE);
+ timeout = lib->settings->get_int(lib->settings, "manager.timeout", 900);
+ threads = lib->settings->get_int(lib->settings, "manager.threads", 10);
+ database = lib->settings->get_str(lib->settings, "manager.database", NULL);
+ if (!database)
+ {
+ DBG1("database URI undefined, set manager.database in strongswan.conf");
+ return 1;
+ }
- storage = storage_create("sqlite://"DBFILE);
+ storage = storage_create(database);
if (storage == NULL)
{
- fprintf(stderr, "opening database '%s' failed.\n", DBFILE);
return 1;
}
- dispatcher = dispatcher_create(socket, debug, SESSION_TIMEOUT,
+ dispatcher = dispatcher_create(socket, debug, timeout,
(context_constructor_t)manager_create, storage);
dispatcher->add_controller(dispatcher, ikesa_controller_create, NULL);
dispatcher->add_controller(dispatcher, gateway_controller_create, NULL);
@@ -59,7 +64,7 @@ int main (int arc, char *argv[])
dispatcher->add_controller(dispatcher, control_controller_create, NULL);
dispatcher->add_controller(dispatcher, config_controller_create, NULL);
- dispatcher->run(dispatcher, THREADS);
+ dispatcher->run(dispatcher, threads);
dispatcher->waitsignal(dispatcher);