diff --git a/src/eap_server/eap_server.c b/src/eap_server/eap_server.c index 4483508ce..7a5beb6d9 100644 --- a/src/eap_server/eap_server.c +++ b/src/eap_server/eap_server.c @@ -136,6 +136,14 @@ SM_STATE(EAP, INITIALIZE) { SM_ENTRY(EAP, INITIALIZE); + if (sm->eap_if.eapRestart && !sm->eap_server && sm->identity) { + /* + * Need to allow internal Identity method to be used instead + * of passthrough at the beginning of reauthentication. + */ + eap_server_clear_identity(sm); + } + sm->currentId = -1; sm->eap_if.eapSuccess = FALSE; sm->eap_if.eapFail = FALSE;