aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_ttls/eap_ttls.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/plugins/eap_ttls/eap_ttls.c')
-rw-r--r--src/libcharon/plugins/eap_ttls/eap_ttls.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/plugins/eap_ttls/eap_ttls.c b/src/libcharon/plugins/eap_ttls/eap_ttls.c
index d450c23d7..6b52acc56 100644
--- a/src/libcharon/plugins/eap_ttls/eap_ttls.c
+++ b/src/libcharon/plugins/eap_ttls/eap_ttls.c
@@ -126,6 +126,7 @@ static eap_ttls_t *eap_ttls_create(identification_t *server,
{
private_eap_ttls_t *this;
size_t frag_size;
+ tls_t *tls;
INIT(this,
.public = {
@@ -146,8 +147,13 @@ static eap_ttls_t *eap_ttls_create(identification_t *server,
}
frag_size = lib->settings->get_int(lib->settings,
"charon.plugins.eap-ttls.fragment_size", MAX_FRAGMENT_LEN);
- this->tls_eap = tls_eap_create(EAP_TTLS, is_server, server, peer,
- application, frag_size);
+ tls = tls_create(is_server, server, peer, TLS_PURPOSE_EAP_TTLS, application);
+ if (!tls)
+ {
+ free(this);
+ return NULL;
+ }
+ this->tls_eap = tls_eap_create(EAP_TTLS, tls, frag_size);
if (!this->tls_eap)
{
application->destroy(application);