resolve merge conflicts
Approved by: re (dwhite)
This commit is contained in:
parent
8a16c87b9d
commit
a6faf7f33c
@ -767,22 +767,22 @@ void eapol_sm_step(struct eapol_state_machine *sm)
|
||||
prev_ctrl_dir = sm->ctrl_dir.state;
|
||||
|
||||
SM_STEP_RUN(AUTH_PAE);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
SM_STEP_RUN(BE_AUTH);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
SM_STEP_RUN(REAUTH_TIMER);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
SM_STEP_RUN(AUTH_KEY_TX);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
SM_STEP_RUN(KEY_RX);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
SM_STEP_RUN(CTRL_DIR);
|
||||
if (!eapol_sm_sta_entry_alive(hapd, addr))
|
||||
if (!sm->initializing && !eapol_sm_sta_entry_alive(hapd, addr))
|
||||
break;
|
||||
} while (prev_auth_pae != sm->auth_pae.state ||
|
||||
prev_be_auth != sm->be_auth.state ||
|
||||
@ -803,12 +803,14 @@ void eapol_sm_step(struct eapol_state_machine *sm)
|
||||
|
||||
void eapol_sm_initialize(struct eapol_state_machine *sm)
|
||||
{
|
||||
sm->initializing = TRUE;
|
||||
/* Initialize the state machines by asserting initialize and then
|
||||
* deasserting it after one step */
|
||||
sm->initialize = TRUE;
|
||||
eapol_sm_step(sm);
|
||||
sm->initialize = FALSE;
|
||||
eapol_sm_step(sm);
|
||||
sm->initializing = FALSE;
|
||||
|
||||
/* Start one second tick for port timers state machine */
|
||||
eloop_cancel_timeout(eapol_port_timers_tick, sm->hapd, sm);
|
||||
|
@ -1157,6 +1157,7 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req,
|
||||
session_timeout_set ?
|
||||
session_timeout : -1);
|
||||
}
|
||||
ieee802_1x_store_radius_class(hapd, sta, msg);
|
||||
break;
|
||||
case RADIUS_CODE_ACCESS_REJECT:
|
||||
sm->eapFail = TRUE;
|
||||
@ -1180,7 +1181,6 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req,
|
||||
break;
|
||||
}
|
||||
|
||||
ieee802_1x_store_radius_class(hapd, sta, msg);
|
||||
ieee802_1x_decapsulate_radius(hapd, sta);
|
||||
if (override_eapReq)
|
||||
sm->be_auth.eapReq = FALSE;
|
||||
@ -1669,6 +1669,7 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
void ieee802_1x_finished(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
int success)
|
||||
{
|
||||
@ -1682,4 +1683,3 @@ void ieee802_1x_finished(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
pmksa_cache_add(hapd, sta, key, dot11RSNAConfigPMKLifetime);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1416,6 +1416,14 @@ void wpa_receive(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
key = (struct wpa_eapol_key *) (hdr + 1);
|
||||
key_info = ntohs(key->key_info);
|
||||
key_data_length = ntohs(key->key_data_length);
|
||||
if (key_data_length > data_len - sizeof(*hdr) - sizeof(*key)) {
|
||||
wpa_printf(MSG_INFO, "WPA: Invalid EAPOL-Key frame - "
|
||||
"key_data overflow (%d > %lu)",
|
||||
key_data_length,
|
||||
(unsigned long) (data_len - sizeof(*hdr) -
|
||||
sizeof(*key)));
|
||||
return;
|
||||
}
|
||||
|
||||
/* FIX: verify that the EAPOL-Key frame was encrypted if pairwise keys
|
||||
* are set */
|
||||
|
Loading…
Reference in New Issue
Block a user