aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_ttls/eap_ttls.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-08-31 08:57:26 +0200
committerMartin Willi <martin@revosec.ch>2010-08-31 15:54:37 +0200
commitecd98efa9d5cb1c6f3e14ee5c8a97d405d3a1ef9 (patch)
tree87aae03ce2a255489bfeda6ce463608efa9e847b /src/libcharon/plugins/eap_ttls/eap_ttls.c
parentf13a03add0553d6d7c9d989d0de4ee68fa35acb4 (diff)
downloadstrongswan-ecd98efa9d5cb1c6f3e14ee5c8a97d405d3a1ef9.tar.bz2
strongswan-ecd98efa9d5cb1c6f3e14ee5c8a97d405d3a1ef9.tar.xz
Support output fragmentation of TLS records
Diffstat (limited to 'src/libcharon/plugins/eap_ttls/eap_ttls.c')
-rw-r--r--src/libcharon/plugins/eap_ttls/eap_ttls.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libcharon/plugins/eap_ttls/eap_ttls.c b/src/libcharon/plugins/eap_ttls/eap_ttls.c
index a3cfcd1f7..e2f09a70c 100644
--- a/src/libcharon/plugins/eap_ttls/eap_ttls.c
+++ b/src/libcharon/plugins/eap_ttls/eap_ttls.c
@@ -254,7 +254,7 @@ static status_t process_buf(private_eap_ttls_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;
@@ -263,7 +263,8 @@ static status_t process_buf(private_eap_ttls_t *this)
this->inpos = 0;
chunk_free(&this->output);
- return this->tls->build(this->tls, &this->output);
+ this->output = chunk_alloc(EAP_TTLS_FRAGMENT_LEN);
+ return this->tls->build(this->tls, this->output.ptr, &this->output.len, NULL);
}
METHOD(eap_method_t, process, status_t,