From ecd98efa9d5cb1c6f3e14ee5c8a97d405d3a1ef9 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 31 Aug 2010 08:57:26 +0200 Subject: Support output fragmentation of TLS records --- src/libcharon/plugins/eap_tls/eap_tls.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/libcharon/plugins/eap_tls/eap_tls.c') diff --git a/src/libcharon/plugins/eap_tls/eap_tls.c b/src/libcharon/plugins/eap_tls/eap_tls.c index 8b5d4cb19..155038056 100644 --- a/src/libcharon/plugins/eap_tls/eap_tls.c +++ b/src/libcharon/plugins/eap_tls/eap_tls.c @@ -251,7 +251,7 @@ static status_t process_buf(private_eap_tls_t *this) { status_t status; - status = this->tls->process(this->tls, this->input); + status = this->tls->process(this->tls, this->input.ptr, this->input.len); if (status != NEED_MORE) { return status; @@ -260,7 +260,8 @@ static status_t process_buf(private_eap_tls_t *this) this->inpos = 0; chunk_free(&this->output); - return this->tls->build(this->tls, &this->output); + this->output = chunk_alloc(EAP_TLS_FRAGMENT_LEN); + return this->tls->build(this->tls, this->output.ptr, &this->output.len, NULL); } METHOD(eap_method_t, process, status_t, -- cgit v1.2.3