aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_tls/eap_tls.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/plugins/eap_tls/eap_tls.c')
-rw-r--r--src/libcharon/plugins/eap_tls/eap_tls.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/plugins/eap_tls/eap_tls.c b/src/libcharon/plugins/eap_tls/eap_tls.c
index 09b46ffd9..2980d74b2 100644
--- a/src/libcharon/plugins/eap_tls/eap_tls.c
+++ b/src/libcharon/plugins/eap_tls/eap_tls.c
@@ -123,6 +123,7 @@ static eap_tls_t *eap_tls_create(identification_t *server,
{
private_eap_tls_t *this;
size_t frag_size;
+ tls_t *tls;
INIT(this,
.public = {
@@ -139,8 +140,13 @@ static eap_tls_t *eap_tls_create(identification_t *server,
frag_size = lib->settings->get_int(lib->settings,
"charon.plugins.eap-tls.fragment_size", MAX_FRAGMENT_LEN);
- this->tls_eap = tls_eap_create(EAP_TLS, is_server, server, peer,
- NULL, frag_size);
+ tls = tls_create(is_server, server, peer, TLS_PURPOSE_EAP_TLS, NULL);
+ if (!tls)
+ {
+ free(this);
+ return NULL;
+ }
+ this->tls_eap = tls_eap_create(EAP_TLS, tls, frag_size);
if (!this->tls_eap)
{
free(this);