aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/tnc/tnccs/tnccs_manager.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-10-20 21:12:29 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-10-25 01:10:16 +0200
commitf0fa002fd186a375a5924bce7e779535febd57d6 (patch)
tree9ecca156de311829a06b3bf44dace7ce31de2afb /src/libcharon/tnc/tnccs/tnccs_manager.c
parente4e96e5c679177e6e1ff3acfe35d8ff36da53903 (diff)
downloadstrongswan-f0fa002fd186a375a5924bce7e779535febd57d6.tar.bz2
strongswan-f0fa002fd186a375a5924bce7e779535febd57d6.tar.xz
moved imc_manager to libtnccs
Diffstat (limited to 'src/libcharon/tnc/tnccs/tnccs_manager.c')
-rw-r--r--src/libcharon/tnc/tnccs/tnccs_manager.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/libcharon/tnc/tnccs/tnccs_manager.c b/src/libcharon/tnc/tnccs/tnccs_manager.c
index db72011e2..0e4107eef 100644
--- a/src/libcharon/tnc/tnccs/tnccs_manager.c
+++ b/src/libcharon/tnc/tnccs/tnccs_manager.c
@@ -17,6 +17,7 @@
#include "tnccs_manager.h"
+#include <imc/imc_manager.h>
#include <tnc/imv/imv_recommendations.h>
#include <debug.h>
@@ -110,6 +111,11 @@ struct private_tnccs_manager_t {
*/
rwlock_t *connection_lock;
+ /**
+ * TNC IMC manager controlling Integrity Measurement Collectors
+ */
+ imc_manager_t *imcs;
+
};
METHOD(tnccs_manager_t, add_method, void,
@@ -199,7 +205,11 @@ METHOD(tnccs_manager_t, create_connection, TNC_ConnectionID,
else
{
/* we assume a TNC Client */
- if (!charon->imcs)
+ if (!this->imcs)
+ {
+ this->imcs = lib->get(lib, "imc-manager");
+ }
+ if (!this->imcs)
{
DBG1(DBG_TNC, "no IMC manager available!");
free(entry);
@@ -232,9 +242,9 @@ METHOD(tnccs_manager_t, remove_connection, void,
}
else
{
- if (charon->imcs)
+ if (this->imcs)
{
- charon->imcs->notify_connection_change(charon->imcs, id,
+ this->imcs->notify_connection_change(this->imcs, id,
TNC_CONNECTION_STATE_DELETE);
}
}
@@ -500,6 +510,7 @@ tnccs_manager_t *tnccs_manager_create()
.connections = linked_list_create(),
.protocol_lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
.connection_lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
+ .imcs = lib->get(lib, "imc-manager"),
);
return &this->public;