From: Arran Cudbard-Bell Date: Wed, 31 Jan 2018 05:41:03 +0000 (-0700) Subject: Add basic, outer eap result functions X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=436f6ca5b01c1ec71d0119ed5d157df974afa7d1;p=thirdparty%2Ffreeradius-server.git Add basic, outer eap result functions --- diff --git a/src/modules/rlm_eap/eap.c b/src/modules/rlm_eap/eap.c index 9494540a3f2..0da36f9387b 100644 --- a/src/modules/rlm_eap/eap.c +++ b/src/modules/rlm_eap/eap.c @@ -426,10 +426,18 @@ int eap_start(rlm_eap_t const *inst, REQUEST *request) return RLM_MODULE_NOTFOUND; } +rlm_rcode_t eap_continue(eap_session_t *eap_session) +{ + eap_session->this_round->request->code = FR_EAP_CODE_REQUEST; + eap_session->finished = false; + + return eap_compose(eap_session); +} + /* * compose EAP FAILURE packet in EAP-Message */ -void eap_fail(eap_session_t *eap_session) +rlm_rcode_t eap_fail(eap_session_t *eap_session) { /* * Delete any previous replies. @@ -441,17 +449,19 @@ void eap_fail(eap_session_t *eap_session) eap_session->this_round->request = talloc_zero(eap_session->this_round, eap_packet_t); eap_session->this_round->request->code = FR_EAP_CODE_FAILURE; eap_session->finished = true; - eap_compose(eap_session); + + return eap_compose(eap_session); } /* * compose EAP SUCCESS packet in EAP-Message */ -void eap_success(eap_session_t *eap_session) +rlm_rcode_t eap_success(eap_session_t *eap_session) { eap_session->this_round->request->code = FR_EAP_CODE_SUCCESS; eap_session->finished = true; - eap_compose(eap_session); + + return eap_compose(eap_session); } /* diff --git a/src/modules/rlm_eap/rlm_eap.h b/src/modules/rlm_eap/rlm_eap.h index f596cb1ed8f..d7e8eaa0e30 100644 --- a/src/modules/rlm_eap/rlm_eap.h +++ b/src/modules/rlm_eap/rlm_eap.h @@ -67,8 +67,9 @@ int eap_method_instantiate(rlm_eap_method_t **out, rlm_eap_t *inst, eap_ty * EAP Method composition */ int eap_start(rlm_eap_t const *inst, REQUEST *request) CC_HINT(nonnull); -void eap_fail(eap_session_t *eap_session) CC_HINT(nonnull); -void eap_success(eap_session_t *eap_session) CC_HINT(nonnull); +rlm_rcode_t eap_continue(eap_session_t *eap_session) CC_HINT(nonnull); +rlm_rcode_t eap_fail(eap_session_t *eap_session) CC_HINT(nonnull); +rlm_rcode_t eap_success(eap_session_t *eap_session) CC_HINT(nonnull); rlm_rcode_t eap_compose(eap_session_t *eap_session) CC_HINT(nonnull); /*