aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtls/tls_eap.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2010-11-16 11:52:06 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2010-11-16 11:52:06 +0100
commit4d178affbb2e042b72b361242d833687ea332c9a (patch)
tree3d48e31ffe50cc78e5cf721a49eba64bded9ca46 /src/libtls/tls_eap.c
parent2fe06d33c34990075a5dd290e80cc8c9401d4f17 (diff)
downloadstrongswan-4d178affbb2e042b72b361242d833687ea332c9a.tar.bz2
strongswan-4d178affbb2e042b72b361242d833687ea332c9a.tar.xz
call is_complete() if tls protocol returns with SUCCESS
Diffstat (limited to 'src/libtls/tls_eap.c')
-rw-r--r--src/libtls/tls_eap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libtls/tls_eap.c b/src/libtls/tls_eap.c
index a8c3a5053..8204a3441 100644
--- a/src/libtls/tls_eap.c
+++ b/src/libtls/tls_eap.c
@@ -303,17 +303,21 @@ METHOD(tls_eap_t, process, status_t,
DBG2(DBG_TLS, "received %N acknowledgement packet",
eap_type_names, this->type);
status = build_pkt(this, pkt->identifier, out);
- if (status == INVALID_STATE &&
- this->tls->is_complete(this->tls))
+ if (status == INVALID_STATE && this->tls->is_complete(this->tls))
{
return SUCCESS;
}
return status;
}
status = process_pkt(this, pkt);
- if (status != NEED_MORE)
+ switch (status)
{
- return status;
+ case NEED_MORE:
+ break;
+ case SUCCESS:
+ return this->tls->is_complete(this->tls) ? SUCCESS : FAILED;
+ default:
+ return status;
}
}
status = build_pkt(this, pkt->identifier, out);