aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-01-09 23:27:43 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-01-11 01:17:40 +0100
commit8a284e04542e1576dceca76828d91857d9f7f168 (patch)
treea1725347f1fe7aa1d4da399e6e6f1c5e51771324 /src
parent719c33b41a1f9fe9b2585df3e7aa804a760c361c (diff)
downloadstrongswan-8a284e04542e1576dceca76828d91857d9f7f168.tar.bz2
strongswan-8a284e04542e1576dceca76828d91857d9f7f168.tar.xz
communicate DELETE state to IMCs and IMVs
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/plugins/tnccs_11/tnccs_11.c10
-rw-r--r--src/libcharon/plugins/tnccs_20/tnccs_20.c10
2 files changed, 20 insertions, 0 deletions
diff --git a/src/libcharon/plugins/tnccs_11/tnccs_11.c b/src/libcharon/plugins/tnccs_11/tnccs_11.c
index b950bfa07..375f2cce2 100644
--- a/src/libcharon/plugins/tnccs_11/tnccs_11.c
+++ b/src/libcharon/plugins/tnccs_11/tnccs_11.c
@@ -395,6 +395,16 @@ METHOD(tls_t, get_eap_msk, chunk_t,
METHOD(tls_t, destroy, void,
private_tnccs_11_t *this)
{
+ if (this->is_server)
+ {
+ charon->imvs->notify_connection_change(charon->imvs,
+ this->connection_id, TNC_CONNECTION_STATE_DELETE);
+ }
+ else
+ {
+ charon->imcs->notify_connection_change(charon->imcs,
+ this->connection_id, TNC_CONNECTION_STATE_DELETE);
+ }
charon->tnccs->remove_connection(charon->tnccs, this->connection_id);
this->mutex->destroy(this->mutex);
DESTROY_IF(this->batch);
diff --git a/src/libcharon/plugins/tnccs_20/tnccs_20.c b/src/libcharon/plugins/tnccs_20/tnccs_20.c
index ede0e4a04..7d39dc43e 100644
--- a/src/libcharon/plugins/tnccs_20/tnccs_20.c
+++ b/src/libcharon/plugins/tnccs_20/tnccs_20.c
@@ -626,6 +626,16 @@ METHOD(tls_t, get_eap_msk, chunk_t,
METHOD(tls_t, destroy, void,
private_tnccs_20_t *this)
{
+ if (this->is_server)
+ {
+ charon->imvs->notify_connection_change(charon->imvs,
+ this->connection_id, TNC_CONNECTION_STATE_DELETE);
+ }
+ else
+ {
+ charon->imcs->notify_connection_change(charon->imcs,
+ this->connection_id, TNC_CONNECTION_STATE_DELETE);
+ }
charon->tnccs->remove_connection(charon->tnccs, this->connection_id);
this->state_machine->destroy(this->state_machine);
this->mutex->destroy(this->mutex);