X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Frlm_eap%2Feap.c;h=4eb9c046fc57fe9971a604bad80490df9e6ad7b5;hb=deca39b0fd7db4296aceb4b185a8a9ffa5297faf;hp=bfbc550655054c9c4d6ed4f360eca296d4c3bc84;hpb=f203729f7844fbf49b0fc70767877b99a66b938e;p=freeradius.git diff --git a/src/modules/rlm_eap/eap.c b/src/modules/rlm_eap/eap.c index bfbc550..4eb9c04 100644 --- a/src/modules/rlm_eap/eap.c +++ b/src/modules/rlm_eap/eap.c @@ -630,7 +630,7 @@ int eap_start(rlm_eap_t *inst, REQUEST *request) * to it. */ realm = realm_find(proxy->vp_strvalue); - if (realm && (realm->auth_pool == NULL)) { + if (!realm || (realm && (realm->auth_pool == NULL))) { proxy = NULL; } } @@ -1051,7 +1051,7 @@ EAP_HANDLER *eap_handler(rlm_eap_t *inst, eap_packet_t **eap_packet_p, } } } else { /* packet was EAP identity */ - handler = eap_handler_alloc(); + handler = eap_handler_alloc(inst); if (handler == NULL) { RDEBUG("Out of memory."); free(*eap_packet_p); @@ -1067,7 +1067,7 @@ EAP_HANDLER *eap_handler(rlm_eap_t *inst, eap_packet_t **eap_packet_p, RDEBUG("Identity Unknown, authentication failed"); free(*eap_packet_p); *eap_packet_p = NULL; - eap_handler_free(handler); + eap_handler_free(inst, handler); return NULL; } @@ -1086,7 +1086,7 @@ EAP_HANDLER *eap_handler(rlm_eap_t *inst, eap_packet_t **eap_packet_p, RDEBUG("Out of memory"); free(*eap_packet_p); *eap_packet_p = NULL; - eap_handler_free(handler); + eap_handler_free(inst, handler); return NULL; } vp->next = request->packet->vps; @@ -1103,7 +1103,7 @@ EAP_HANDLER *eap_handler(rlm_eap_t *inst, eap_packet_t **eap_packet_p, RDEBUG("Identity does not match User-Name, setting from EAP Identity."); free(*eap_packet_p); *eap_packet_p = NULL; - eap_handler_free(handler); + eap_handler_free(inst, handler); return NULL; } } @@ -1113,7 +1113,7 @@ EAP_HANDLER *eap_handler(rlm_eap_t *inst, eap_packet_t **eap_packet_p, if (handler->eap_ds == NULL) { free(*eap_packet_p); *eap_packet_p = NULL; - eap_handler_free(handler); + eap_handler_free(inst, handler); return NULL; }