aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/daemon.c')
-rw-r--r--src/charon/daemon.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/charon/daemon.c b/src/charon/daemon.c
index 16216d416..73d131ca1 100644
--- a/src/charon/daemon.c
+++ b/src/charon/daemon.c
@@ -6,6 +6,7 @@
*/
/*
+ * Copyright (C) 2006 Tobias Brunner, Daniel Roethlisberger
* Copyright (C) 2005 Jan Hutter, Martin Willi
* Hochschule fuer Technik Rapperswil
*
@@ -170,7 +171,8 @@ static void initialize(private_daemon_t *this, bool strict)
credential_store_t* credentials;
this->public.configuration = configuration_create();
- this->public.socket = socket_create(IKEV2_UDP_PORT);
+ this->public.socket = socket_create(IKEV2_UDP_PORT, IKEV2_NATT_PORT);
+ this->public.interfaces = interfaces_create(IKEV2_UDP_PORT);
this->public.ike_sa_manager = ike_sa_manager_create();
this->public.job_queue = job_queue_create();
this->public.event_queue = event_queue_create();
@@ -237,6 +239,10 @@ static void destroy(private_daemon_t *this)
{
this->public.event_queue->destroy(this->public.event_queue);
}
+ if (this->public.interfaces != NULL)
+ {
+ this->public.interfaces->destroy(this->public.interfaces);
+ }
if (this->public.configuration != NULL)
{
this->public.configuration->destroy(this->public.configuration);
@@ -311,6 +317,7 @@ private_daemon_t *daemon_create(void)
/* NULL members for clean destruction */
this->public.socket = NULL;
+ this->public.interfaces = NULL;
this->public.ike_sa_manager = NULL;
this->public.job_queue = NULL;
this->public.event_queue = NULL;