aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/tnc/tnccs/tnccs_manager.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-10-20 22:06:10 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-10-25 01:10:16 +0200
commitc008d2cc4618ff5afcb8ea8b8ff7e756545e4c47 (patch)
treee4801e2498c8b377b513c612cf123ea52d58ca7c /src/libcharon/tnc/tnccs/tnccs_manager.c
parentf0fa002fd186a375a5924bce7e779535febd57d6 (diff)
downloadstrongswan-c008d2cc4618ff5afcb8ea8b8ff7e756545e4c47.tar.bz2
strongswan-c008d2cc4618ff5afcb8ea8b8ff7e756545e4c47.tar.xz
moved imv_manager to libtnccs
Diffstat (limited to 'src/libcharon/tnc/tnccs/tnccs_manager.c')
-rw-r--r--src/libcharon/tnc/tnccs/tnccs_manager.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/libcharon/tnc/tnccs/tnccs_manager.c b/src/libcharon/tnc/tnccs/tnccs_manager.c
index 0e4107eef..d23076509 100644
--- a/src/libcharon/tnc/tnccs/tnccs_manager.c
+++ b/src/libcharon/tnc/tnccs/tnccs_manager.c
@@ -18,7 +18,7 @@
#include "tnccs_manager.h"
#include <imc/imc_manager.h>
-#include <tnc/imv/imv_recommendations.h>
+#include <imv/imv_manager.h>
#include <debug.h>
#include <daemon.h>
@@ -116,6 +116,11 @@ struct private_tnccs_manager_t {
*/
imc_manager_t *imcs;
+ /**
+ * TNC IMV manager controlling Integrity Measurement Verifiers
+ */
+ imv_manager_t *imvs;
+
};
METHOD(tnccs_manager_t, add_method, void,
@@ -193,13 +198,17 @@ METHOD(tnccs_manager_t, create_connection, TNC_ConnectionID,
if (recs)
{
/* we assume a TNC Server needing recommendations from IMVs */
- if (!charon->imvs)
+ if (!this->imvs)
+ {
+ this->imvs = lib->get(lib, "imv-manager");
+ }
+ if (!this->imvs)
{
DBG1(DBG_TNC, "no IMV manager available!");
free(entry);
return 0;
}
- entry->recs = charon->imvs->create_recommendations(charon->imvs);
+ entry->recs = this->imvs->create_recommendations(this->imvs);
*recs = entry->recs;
}
else
@@ -234,9 +243,9 @@ METHOD(tnccs_manager_t, remove_connection, void,
if (is_server)
{
- if (charon->imvs)
+ if (this->imvs)
{
- charon->imvs->notify_connection_change(charon->imvs, id,
+ this->imvs->notify_connection_change(this->imvs, id,
TNC_CONNECTION_STATE_DELETE);
}
}
@@ -511,6 +520,7 @@ tnccs_manager_t *tnccs_manager_create()
.protocol_lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
.connection_lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
.imcs = lib->get(lib, "imc-manager"),
+ .imvs = lib->get(lib, "imv-manager"),
);
return &this->public;