diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2013-08-08 19:43:43 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2013-08-15 23:34:22 +0200 |
commit | 12b3db500606bcbd6fd2986463a4b1f37586bdbb (patch) | |
tree | 1c88258c3c8230dd65cca43448b6858a14f58af6 /src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c | |
parent | 9d8c28e2f5b23e3f1008e8ba064403834683e35a (diff) | |
download | strongswan-12b3db500606bcbd6fd2986463a4b1f37586bdbb.tar.bz2 strongswan-12b3db500606bcbd6fd2986463a4b1f37586bdbb.tar.xz |
moved tnc_imv plugin to libtnccs thanks to recommendation callback function
Diffstat (limited to 'src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c')
-rw-r--r-- | src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c b/src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c index d4fc6a6f7..bc3112686 100644 --- a/src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c +++ b/src/libtnccs/plugins/tnccs_dynamic/tnccs_dynamic.c @@ -56,6 +56,11 @@ struct private_tnccs_dynamic_t { */ u_int32_t auth_type; + /** + * Callback function to communicate recommendation (TNC Server only) + */ + tnccs_cb_t callback; + }; /** @@ -99,7 +104,8 @@ METHOD(tls_t, process, status_t, DBG1(DBG_TNC, "%N protocol detected dynamically", tnccs_type_names, type); tnccs = tnc->tnccs->create_instance(tnc->tnccs, type, TRUE, - this->server, this->peer, this->transport); + this->server, this->peer, this->transport, + this->callback); if (!tnccs) { DBG1(DBG_TNC, "N% protocol not supported", tnccs_type_names, type); @@ -190,9 +196,8 @@ METHOD(tnccs_t, set_auth_type, void, * See header */ tnccs_t* tnccs_dynamic_create(bool is_server, - identification_t *server, - identification_t *peer, - tnc_ift_type_t transport) + identification_t *server, identification_t *peer, + tnc_ift_type_t transport, tnccs_cb_t cb) { private_tnccs_dynamic_t *this; @@ -217,6 +222,7 @@ tnccs_t* tnccs_dynamic_create(bool is_server, .server = server->clone(server), .peer = peer->clone(peer), .transport = transport, + .callback = cb, ); return &this->public; |