fixed manager plugin loading
manager uses strongswan.conf to read its configuration
This commit is contained in:
@@ -11,7 +11,8 @@ controller/gateway_controller.c controller/gateway_controller.h
|
|||||||
manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS}
|
manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS}
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast ${xml_CFLAGS}
|
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
|
ipsec_DATA = manager.db
|
||||||
|
|
||||||
|
|||||||
+22
-17
@@ -16,6 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dispatcher.h>
|
#include <dispatcher.h>
|
||||||
|
#include <debug.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "manager.h"
|
#include "manager.h"
|
||||||
@@ -26,32 +27,36 @@
|
|||||||
#include "controller/control_controller.h"
|
#include "controller/control_controller.h"
|
||||||
#include "controller/config_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[])
|
int main (int arc, char *argv[])
|
||||||
{
|
{
|
||||||
dispatcher_t *dispatcher;
|
dispatcher_t *dispatcher;
|
||||||
storage_t *storage;
|
storage_t *storage;
|
||||||
char *socket = NULL;
|
char *socket;
|
||||||
bool debug = FALSE;
|
char *database;
|
||||||
|
bool debug;
|
||||||
#ifdef FCGI_SOCKET
|
int threads, timeout;
|
||||||
socket = FCGI_SOCKET;
|
|
||||||
debug = TRUE;
|
|
||||||
#endif /* FCGI_SOCKET */
|
|
||||||
|
|
||||||
library_init(IPSECDIR "/manager.conf");
|
library_init(IPSECDIR "/strongswan.conf");
|
||||||
|
lib->plugins->load(lib->plugins, IPSEC_PLUGINDIR, "libstrongswan-");
|
||||||
|
|
||||||
storage = storage_create("sqlite://"DBFILE);
|
socket = lib->settings->get_str(lib->settings, "manager.socket", NULL);
|
||||||
if (storage == 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)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "opening database '%s' failed.\n", DBFILE);
|
DBG1("database URI undefined, set manager.database in strongswan.conf");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatcher = dispatcher_create(socket, debug, SESSION_TIMEOUT,
|
storage = storage_create(database);
|
||||||
|
if (storage == NULL)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatcher = dispatcher_create(socket, debug, timeout,
|
||||||
(context_constructor_t)manager_create, storage);
|
(context_constructor_t)manager_create, storage);
|
||||||
dispatcher->add_controller(dispatcher, ikesa_controller_create, NULL);
|
dispatcher->add_controller(dispatcher, ikesa_controller_create, NULL);
|
||||||
dispatcher->add_controller(dispatcher, gateway_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, control_controller_create, NULL);
|
||||||
dispatcher->add_controller(dispatcher, config_controller_create, NULL);
|
dispatcher->add_controller(dispatcher, config_controller_create, NULL);
|
||||||
|
|
||||||
dispatcher->run(dispatcher, THREADS);
|
dispatcher->run(dispatcher, threads);
|
||||||
|
|
||||||
dispatcher->waitsignal(dispatcher);
|
dispatcher->waitsignal(dispatcher);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user