]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Move TTLS/PEAP session structs to talloc
authorAlan T. DeKok <aland@freeradius.org>
Mon, 18 Mar 2013 18:48:36 +0000 (14:48 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 18 Mar 2013 18:50:35 +0000 (11:50 -0700)
src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c
src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c

index 46a3c4d949240080ca56082d4dfb2fd6f52ccfa5..5fb0d46a78b0e20ab8db6a5b3484a7f62a25e46d 100644 (file)
@@ -167,19 +167,18 @@ static void peap_free(void *p)
        pairfree(&t->accept_vps);
        pairfree(&t->soh_reply_vps);
 
-       free(t);
+       talloc_free(t);
 }
 
 
 /*
  *     Free the PEAP per-session data
  */
-static peap_tunnel_t *peap_alloc(rlm_eap_peap_t *inst)
+static peap_tunnel_t *peap_alloc(rlm_eap_peap_t *inst, eap_handler_t *handler)
 {
        peap_tunnel_t *t;
 
-       t = rad_malloc(sizeof(*t));
-       memset(t, 0, sizeof(*t));
+       t = talloc_zero(handler, peap_tunnel_t);
 
        t->default_method = inst->default_method;
        t->copy_request_to_tunnel = inst->copy_request_to_tunnel;
@@ -292,7 +291,7 @@ static int eappeap_authenticate(void *arg, eap_handler_t *handler)
         *      allocate it if it doesn't already exist.
         */
        if (!tls_session->opaque) {
-               peap = tls_session->opaque = peap_alloc(inst);
+         peap = tls_session->opaque = peap_alloc(inst, handler);
                tls_session->free_opaque = peap_free;
        }
 
@@ -352,7 +351,7 @@ static int eappeap_authenticate(void *arg, eap_handler_t *handler)
         *      allocate it here, if it wasn't already alloacted.
         */
        if (!tls_session->opaque) {
-               tls_session->opaque = peap_alloc(inst);
+         tls_session->opaque = peap_alloc(inst, handler);
                tls_session->free_opaque = peap_free;
        }
 
index b9fb252c373523d1b5c63dcba2d9db411f5924a9..891e7c9b806fea72f2bc4df7577d55e1167d279a 100644 (file)
@@ -160,19 +160,19 @@ static void ttls_free(void *p)
        pairfree(&t->username);
        pairfree(&t->state);
        pairfree(&t->accept_vps);
-       free(t);
+       talloc_free(t);
 }
 
 
 /*
  *     Allocate the TTLS per-session data
  */
-static ttls_tunnel_t *ttls_alloc(rlm_eap_ttls_t *inst)
+static ttls_tunnel_t *ttls_alloc(rlm_eap_ttls_t *inst,
+                                eap_handler_t *handler)
 {
        ttls_tunnel_t *t;
 
-       t = rad_malloc(sizeof(*t));
-       memset(t, 0, sizeof(*t));
+       t = talloc(handler, ttls_tunnel_t);
 
        t->default_method = inst->default_method;
        t->copy_request_to_tunnel = inst->copy_request_to_tunnel;
@@ -329,7 +329,7 @@ static int eapttls_authenticate(void *arg, eap_handler_t *handler)
         *      allocate it here, if it wasn't already alloacted.
         */
        if (!tls_session->opaque) {
-               tls_session->opaque = ttls_alloc(inst);
+               tls_session->opaque = ttls_alloc(inst, handler);
                tls_session->free_opaque = ttls_free;
        }