diff --git a/src/libcharon/plugins/eap_tls/eap_tls.c b/src/libcharon/plugins/eap_tls/eap_tls.c index fa0babe26..77458007e 100644 --- a/src/libcharon/plugins/eap_tls/eap_tls.c +++ b/src/libcharon/plugins/eap_tls/eap_tls.c @@ -382,6 +382,12 @@ METHOD(eap_method_t, process, status_t, { *out = read_buf(this, pkt->identifier); } + else if (status == FAILED && !this->is_server) + { /* client sends an empty TLS message, waits for a EAP-Failure */ + chunk_free(&this->output); + *out = read_buf(this, pkt->identifier); + return NEED_MORE; + } return status; }