diff options
author | Martin Willi <martin@strongswan.org> | 2008-03-28 12:41:05 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2008-03-28 12:41:05 +0000 |
commit | 892fb43b12e33bc8a297f7fd527e11a14871ee8f (patch) | |
tree | 63831513e8bf2ceb7ea2036d228afc875fd352cf /src | |
parent | 35b6e2301f59a98f833a8b6c14e514929c53b79a (diff) | |
download | strongswan-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.am | 3 | ||||
-rw-r--r-- | src/manager/main.c | 37 |
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); |