summaryrefslogtreecommitdiff
path: root/src/libtls/tls_eap.c
diff options
context:
space:
mode:
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);