Lines Matching defs:sm

145 	struct eapol_state_machine *sm = sta->eapol_sm;
147 if (sm == NULL)
178 if (sm->eap_if->eapKeyData == NULL || sm->eap_if->eapKeyDataLen < 64) {
193 os_memcpy(ekey + sizeof(key->key_iv), sm->eap_if->eapKeyData, 32);
202 hmac_md5(sm->eap_if->eapKeyData + 32, 32, buf, sizeof(*hdr) + len,
206 " (%s index=%d)", MAC2STR(sm->addr),
218 struct eapol_state_machine *sm = sta->eapol_sm;
220 if (sm == NULL || !sm->eap_if->eapKeyData)
305 struct eapol_state_machine *sm,
321 eap_erp_update_identity(sm->eap, eap, len);
322 identity = eap_get_identity(sm->eap, &identity_len);
327 os_free(sm->identity);
328 sm->identity = (u8 *) dup_binstr(identity, identity_len);
329 if (sm->identity == NULL) {
330 sm->identity_len = 0;
334 sm->identity_len = identity_len;
335 hostapd_logger(hapd, sm->addr, HOSTAPD_MODULE_IEEE8021X,
336 HOSTAPD_LEVEL_DEBUG, "STA identity '%s'", sm->identity);
337 sm->dot1xAuthEapolRespIdFramesRx++;
599 struct eapol_state_machine *sm = sta->eapol_sm;
601 if (sm == NULL)
604 ieee802_1x_learn_identity(hapd, sm, eap, len);
609 sm->radius_identifier = radius_client_get_id(hapd->radius);
611 sm->radius_identifier);
622 if (sm->identity &&
624 sm->identity, sm->identity_len)) {
650 if (sm->last_recv_radius &&
651 radius_msg_get_hdr(sm->last_recv_radius)->code ==
653 int res = radius_msg_copy_attr(msg, sm->last_recv_radius,
668 if (sm->radius_cui) {
669 cui = wpabuf_head(sm->radius_cui);
670 cui_len = wpabuf_len(sm->radius_cui);
734 struct eapol_state_machine *sm = sta->eapol_sm;
735 if (sm == NULL)
745 sm->eap_type_supp = type = data[0];
747 hostapd_logger(hapd, sm->addr, HOSTAPD_MODULE_IEEE8021X,
753 sm->dot1xAuthEapolRespFramesRx++;
755 wpabuf_free(sm->eap_if->eapRespData);
756 sm->eap_if->eapRespData = wpabuf_alloc_copy(eap, len);
757 sm->eapolEap = TRUE;
767 struct eapol_state_machine *sm = sta->eapol_sm;
769 if (sm == NULL)
781 hostapd_logger(hapd, sm->addr, HOSTAPD_MODULE_IEEE8021X,
787 wpabuf_free(sm->eap_if->eapRespData);
788 sm->eap_if->eapRespData = wpabuf_alloc_copy(eap, len);
789 sm->eapolEap = TRUE;
1240 struct eapol_state_machine *sm = sta->eapol_sm;
1252 if (sm == NULL)
1258 radius_msg_free(sm->last_recv_radius);
1259 radius_free_class(&sm->radius_class);
1262 eapol_auth_free(sm);
1275 struct eapol_state_machine *sm = sta->eapol_sm;
1277 if (sm == NULL || sm->last_recv_radius == NULL) {
1278 if (sm)
1279 sm->eap_if->aaaEapNoReq = TRUE;
1283 msg = sm->last_recv_radius;
1293 sm->eap_if->aaaEapNoReq = TRUE;
1302 sm->eap_if->aaaEapNoReq = TRUE;
1313 sm->eap_type_authsrv = eap_type;
1337 sm->eap_if->aaaEapReq = TRUE;
1339 wpabuf_free(sm->eap_if->aaaEapReqData);
1340 sm->eap_if->aaaEapReqData = eap;
1351 struct eapol_state_machine *sm = sta->eapol_sm;
1352 if (sm == NULL)
1365 os_free(sm->eap_if->aaaEapKeyData);
1366 sm->eap_if->aaaEapKeyData = os_malloc(len);
1367 if (sm->eap_if->aaaEapKeyData) {
1368 os_memcpy(sm->eap_if->aaaEapKeyData, keys->recv,
1370 os_memcpy(sm->eap_if->aaaEapKeyData + keys->recv_len,
1372 sm->eap_if->aaaEapKeyDataLen = len;
1373 sm->eap_if->aaaEapKeyAvailable = TRUE;
1396 struct eapol_state_machine *sm = sta->eapol_sm;
1402 sm == NULL)
1405 radius_free_class(&sm->radius_class);
1435 sm->radius_class.attr = nclass;
1436 sm->radius_class.count = nclass_count;
1439 (unsigned long) sm->radius_class.count,
1451 struct eapol_state_machine *sm = sta->eapol_sm;
1453 if (sm == NULL)
1467 sm->identity ? (char *) sm->identity : "N/A",
1470 os_free(sm->identity);
1471 sm->identity = identity;
1472 sm->identity_len = len;
1481 struct eapol_state_machine *sm = sta->eapol_sm;
1486 if (sm == NULL)
1497 wpabuf_free(sm->radius_cui);
1498 sm->radius_cui = cui;
1645 struct eapol_state_machine *sm;
1654 struct eapol_state_machine *sm = sta->eapol_sm;
1656 if (sm && sm->radius_identifier >= 0 &&
1657 sm->radius_identifier == id_search->identifier) {
1658 id_search->sm = sm;
1670 id_search.sm = NULL;
1672 return id_search.sm;
1694 struct eapol_state_machine *sm;
1704 sm = ieee802_1x_search_radius_identifier(hapd, hdr->identifier);
1705 if (sm == NULL) {
1710 sta = sm->sta;
1734 sm->radius_identifier = -1;
1738 radius_msg_free(sm->last_recv_radius);
1739 sm->last_recv_radius = msg;
1824 sm->reAuthPeriod = session_timeout;
1828 sm->eap_if->aaaSuccess = TRUE;
1840 sm->eap_if->aaaFail = TRUE;
1844 sm->eap_if->aaaEapReq = TRUE;
1847 sm->eap_if->aaaMethodTimeout = session_timeout;
1848 hostapd_logger(hapd, sm->addr,
1853 sm->eap_if->aaaMethodTimeout);
1859 sm->eap_if->aaaMethodTimeout = 0;
1866 sm->eap_if->aaaEapReq = FALSE;
1874 sm->eap_if->aaaEapReqData,
1875 sm->eap_if->aaaEapKeyData,
1876 sm->eap_if->aaaEapKeyDataLen);
1881 eapol_auth_step(sm);
1890 struct eapol_state_machine *sm = sta->eapol_sm;
1891 if (sm == NULL)
1898 radius_msg_free(sm->last_recv_radius);
1899 sm->last_recv_radius = NULL;
1902 if (sm->eap_if->eapTimeout) {
1911 sm->eap_if->portEnabled = FALSE;
2012 struct eapol_state_machine *sm = sta->eapol_sm;
2014 identity = eap_get_identity(sm->eap, &identity_len);
2419 u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len)
2421 if (sm == NULL || sm->identity == NULL)
2424 *len = sm->identity_len;
2425 return sm->identity;
2429 u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len,
2432 if (sm == NULL || sm->radius_class.attr == NULL ||
2433 idx >= (int) sm->radius_class.count)
2436 *len = sm->radius_class.attr[idx].len;
2437 return sm->radius_class.attr[idx].data;
2441 struct wpabuf * ieee802_1x_get_radius_cui(struct eapol_state_machine *sm)
2443 if (sm == NULL)
2445 return sm->radius_cui;
2449 const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len)
2452 if (sm == NULL)
2455 *len = sm->eap_if->eapKeyDataLen;
2456 return sm->eap_if->eapKeyData;
2460 void ieee802_1x_notify_port_enabled(struct eapol_state_machine *sm,
2463 if (sm == NULL)
2465 sm->eap_if->portEnabled = enabled ? TRUE : FALSE;
2466 eapol_auth_step(sm);
2470 void ieee802_1x_notify_port_valid(struct eapol_state_machine *sm,
2473 if (sm == NULL)
2475 sm->portValid = valid ? TRUE : FALSE;
2476 eapol_auth_step(sm);
2480 void ieee802_1x_notify_pre_auth(struct eapol_state_machine *sm, int pre_auth)
2482 if (sm == NULL)
2485 sm->flags |= EAPOL_SM_PREAUTH;
2487 sm->flags &= ~EAPOL_SM_PREAUTH;
2508 struct eapol_state_machine *sm = sta->eapol_sm;
2513 if (sm == NULL)
2524 sm->initialize);
2542 sm->auth_pae_state + 1,
2543 sm->be_auth_state + 1,
2544 sm->adminControlledDirections,
2545 sm->operControlledDirections,
2546 sm->authPortStatus,
2547 sm->portControl,
2548 sm->quietPeriod,
2549 sm->serverTimeout,
2550 sm->reAuthPeriod,
2551 bool_txt(sm->reAuthEnabled),
2552 bool_txt(sm->keyTxEnabled));
2571 sm->dot1xAuthEapolFramesRx,
2572 sm->dot1xAuthEapolFramesTx,
2573 sm->dot1xAuthEapolStartFramesRx,
2574 sm->dot1xAuthEapolLogoffFramesRx,
2575 sm->dot1xAuthEapolRespIdFramesRx,
2576 sm->dot1xAuthEapolRespFramesRx,
2577 sm->dot1xAuthEapolReqIdFramesTx,
2578 sm->dot1xAuthEapolReqFramesTx,
2579 sm->dot1xAuthInvalidEapolFramesRx,
2580 sm->dot1xAuthEapLengthErrorFramesRx,
2581 sm->dot1xAuthLastEapolFrameVersion,
2582 MAC2STR(sm->addr));
2605 sm->authEntersConnecting,
2606 sm->authEapLogoffsWhileConnecting,
2607 sm->authEntersAuthenticating,
2608 sm->authAuthSuccessesWhileAuthenticating,
2609 sm->authAuthTimeoutsWhileAuthenticating,
2610 sm->authAuthFailWhileAuthenticating,
2611 sm->authAuthEapStartsWhileAuthenticating,
2612 sm->authAuthEapLogoffWhileAuthenticating,
2613 sm->authAuthReauthsWhileAuthenticated,
2614 sm->authAuthEapStartsWhileAuthenticated,
2615 sm->authAuthEapLogoffWhileAuthenticated,
2616 sm->backendResponses,
2617 sm->backendAccessChallenges,
2618 sm->backendOtherRequestsToSupplicant,
2619 sm->backendAuthSuccesses,
2620 sm->backendAuthFails);
2642 sm->identity);
2647 if (sm->acct_multi_session_id) {
2651 sm->acct_multi_session_id);
2657 name1 = eap_server_get_name(0, sm->eap_type_authsrv);
2658 name2 = eap_server_get_name(0, sm->eap_type_supp);
2662 sm->eap_type_authsrv, name1,
2663 sm->eap_type_supp, name2);