SM_STATE(BE_AUTH, FAIL) { SM_ENTRY_MA(BE_AUTH, FAIL, be_auth); txReq(); sm->authFail = TRUE; }
SM_STATE(BE_AUTH, FAIL) { SM_ENTRY(BE_AUTH, FAIL, be_auth); sm->currentId = sm->be_auth.idFromServer; txReq(sm->currentId); sm->authFail = TRUE; }
SM_STATE(BE_AUTH, SUCCESS) { SM_ENTRY(BE_AUTH, SUCCESS, be_auth); sm->currentId = sm->be_auth.idFromServer; txReq(sm->currentId); sm->authSuccess = TRUE; }
SM_STATE(BE_AUTH, SUCCESS) { SM_ENTRY_MA(BE_AUTH, SUCCESS, be_auth); txReq(); sm->authSuccess = TRUE; sm->keyRun = TRUE; }
SM_STATE(BE_AUTH, REQUEST) { SM_ENTRY(BE_AUTH, REQUEST, be_auth); sm->currentId = sm->be_auth.idFromServer; txReq(sm->currentId); sm->be_auth.backendOtherRequestsToSupplicant++; sm->aWhile = sm->be_auth.suppTimeout; sm->be_auth.reqCount++; }
SM_STATE(BE_AUTH, REQUEST) { SM_ENTRY_MA(BE_AUTH, REQUEST, be_auth); txReq(); sm->eap_if->eapReq = FALSE; sm->backendOtherRequestsToSupplicant++; /* * Clearing eapolEap here is not specified in IEEE Std 802.1X-2004, but * it looks like this would be logical thing to do there since the old * EAP response would not be valid anymore after the new EAP request * was sent out. * * A race condition has been reported, in which hostapd ended up * sending out EAP-Response/Identity as a response to the first * EAP-Request from the main EAP method. This can be avoided by * clearing eapolEap here. */ sm->eapolEap = FALSE; }