diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-11-16 11:52:06 +0100 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-11-16 11:52:06 +0100 |
commit | 4d178affbb2e042b72b361242d833687ea332c9a (patch) | |
tree | 3d48e31ffe50cc78e5cf721a49eba64bded9ca46 /src/libtls/tls_eap.c | |
parent | 2fe06d33c34990075a5dd290e80cc8c9401d4f17 (diff) | |
download | strongswan-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.c | 12 |
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); |