Lines Matching refs:group

49 			      struct wpa_group *group);
52 struct wpa_group *group);
54 struct wpa_group *group);
242 struct wpa_group *group; in wpa_rekey_gtk() local
244 for (group = wpa_auth->group; group; group = group->next) { in wpa_rekey_gtk()
245 group->GTKReKey = TRUE; in wpa_rekey_gtk()
247 group->changed = FALSE; in wpa_rekey_gtk()
248 wpa_group_sm_step(wpa_auth, group); in wpa_rekey_gtk()
249 } while (group->changed); in wpa_rekey_gtk()
285 struct wpa_group *group) in wpa_group_init_gmk_and_counter() argument
287 u8 buf[ETH_ALEN + 8 + sizeof(group)]; in wpa_group_init_gmk_and_counter()
290 if (os_get_random(group->GMK, WPA_GMK_LEN) < 0) in wpa_group_init_gmk_and_counter()
292 wpa_hexdump_key(MSG_DEBUG, "GMK", group->GMK, WPA_GMK_LEN); in wpa_group_init_gmk_and_counter()
300 memcpy(buf + ETH_ALEN + 8, &group, sizeof(group)); in wpa_group_init_gmk_and_counter()
305 group->Counter, WPA_NONCE_LEN) < 0) in wpa_group_init_gmk_and_counter()
308 group->Counter, WPA_NONCE_LEN); in wpa_group_init_gmk_and_counter()
316 struct wpa_group *group; in wpa_group_init() local
317 group = (struct wpa_group *)os_zalloc(sizeof(struct wpa_group)); in wpa_group_init()
318 if (group == NULL) in wpa_group_init()
321 group->GTKAuthenticator = TRUE; in wpa_group_init()
322 group->GTK_len = wpa_cipher_key_len(wpa_auth->conf.wpa_group); in wpa_group_init()
336 if (wpa_group_init_gmk_and_counter(wpa_auth, group) < 0) { in wpa_group_init()
339 os_free(group); in wpa_group_init()
343 group->GInit = TRUE; in wpa_group_init()
349 wpa_group_sm_step(wpa_auth, group); in wpa_group_init()
350 group->GInit = FALSE; in wpa_group_init()
351 wpa_group_sm_step(wpa_auth, group); in wpa_group_init()
354 return group; in wpa_group_init()
382 wpa_auth->group = wpa_group_init(wpa_auth, 0, 0); in wpa_init()
383 if (wpa_auth->group == NULL) { in wpa_init()
394 os_free(wpa_auth->group); in wpa_init()
425 sm->group = wpa_auth->group; in wpa_auth_sta_init()
479 sm->group->GKeyDoneStations--; in wpa_free_sta_sm()
605 struct wpa_state_machine *sm, int group) in wpa_receive_error_report() argument
607 if (group && wpa_auth->conf.wpa_group != WPA_CIPHER_TKIP) { in wpa_receive_error_report()
608 } else if (!group && sm->pairwise != WPA_CIPHER_TKIP) { in wpa_receive_error_report()
784 if (sm->group->reject_4way_hs_for_entropy) { in wpa_receive()
1132 sm->group->Counter + WPA_NONCE_LEN - 16, 16); in __wpa_send_eapol()
1133 inc_byte_array(sm->group->Counter, WPA_NONCE_LEN); in __wpa_send_eapol()
1294 sm->group->GKeyDoneStations--; in wpa_auth_sm_event()
1346 sm->group->GKeyDoneStations--; in SM_STATE()
1398 struct wpa_group *group) in wpa_group_ensure_init() argument
1400 if (group->first_sta_seen) in wpa_group_ensure_init()
1414 group->reject_4way_hs_for_entropy = TRUE; in wpa_group_ensure_init()
1416 group->first_sta_seen = TRUE; in wpa_group_ensure_init()
1417 group->reject_4way_hs_for_entropy = FALSE; in wpa_group_ensure_init()
1420 wpa_group_init_gmk_and_counter(wpa_auth, group); in wpa_group_ensure_init()
1421 wpa_gtk_update(wpa_auth, group); in wpa_group_ensure_init()
1422 wpa_group_config_group_keys(wpa_auth, group); in wpa_group_ensure_init()
1430 wpa_group_ensure_init(sm->wpa_auth, sm->group); in SM_STATE()
1760 struct wpa_group *gsm = sm->group; in ieee80211w_kde_add()
1805 struct wpa_group *gsm = sm->group; in SM_STATE()
2128 struct wpa_group *gsm = sm->group; in SM_STATE()
2193 sm->group->GKeyDoneStations--; in SM_STATE()
2205 sm->group->GKeyDoneStations--; in SM_STATE()
2244 struct wpa_group *group) in wpa_gtk_update() argument
2248 memcpy(group->GNonce, group->Counter, WPA_NONCE_LEN); in wpa_gtk_update()
2249 inc_byte_array(group->Counter, WPA_NONCE_LEN); in wpa_gtk_update()
2251 if (wpa_gmk_to_gtk(group->GMK, "Group key expansion", in wpa_gtk_update()
2252 wpa_auth->addr, group->GNonce, in wpa_gtk_update()
2253 group->GTK[group->GN - 1], group->GTK_len) < 0) in wpa_gtk_update()
2256 group->GTK[group->GN - 1], group->GTK_len); in wpa_gtk_update()
2260 memcpy(group->GNonce, group->Counter, WPA_NONCE_LEN); in wpa_gtk_update()
2261 inc_byte_array(group->Counter, WPA_NONCE_LEN); in wpa_gtk_update()
2262 if (wpa_gmk_to_gtk(group->GMK, "IGTK key expansion", in wpa_gtk_update()
2263 wpa_auth->addr, group->GNonce, in wpa_gtk_update()
2264 group->IGTK[group->GN_igtk - 4], in wpa_gtk_update()
2268 group->IGTK[group->GN_igtk - 4], WPA_IGTK_LEN); in wpa_gtk_update()
2277 struct wpa_group *group) in wpa_group_gtk_init() argument
2280 "GTK_INIT (VLAN-ID %d)", group->vlan_id); in wpa_group_gtk_init()
2281 group->changed = FALSE; /* GInit is not cleared here; avoid loop */ in wpa_group_gtk_init()
2282 group->wpa_group_state = WPA_GROUP_GTK_INIT; in wpa_group_gtk_init()
2285 memset(group->GTK, 0, sizeof(group->GTK)); in wpa_group_gtk_init()
2286 group->GN = 1; in wpa_group_gtk_init()
2287 group->GM = 2; in wpa_group_gtk_init()
2289 group->GN_igtk = 4; in wpa_group_gtk_init()
2290 group->GM_igtk = 5; in wpa_group_gtk_init()
2293 wpa_gtk_update(wpa_auth, group); in wpa_group_gtk_init()
2299 if (ctx != NULL && ctx != sm->group) in wpa_group_update_sta()
2318 sm->group->GKeyDoneStations++; in wpa_group_update_sta()
2345 struct wpa_group *gsm = sm->group; in wpa_wnmsleep_gtk_subelem()
2377 struct wpa_group *gsm = sm->group; in wpa_wnmsleep_igtk_subelem()
2407 struct wpa_group *group) in wpa_group_setkeys() argument
2412 "SETKEYS (VLAN-ID %d)", group->vlan_id); in wpa_group_setkeys()
2413 group->changed = TRUE; in wpa_group_setkeys()
2414 group->wpa_group_state = WPA_GROUP_SETKEYS; in wpa_group_setkeys()
2415 group->GTKReKey = FALSE; in wpa_group_setkeys()
2416 tmp = group->GM; in wpa_group_setkeys()
2417 group->GM = group->GN; in wpa_group_setkeys()
2418 group->GN = tmp; in wpa_group_setkeys()
2420 tmp = group->GM_igtk; in wpa_group_setkeys()
2421 group->GM_igtk = group->GN_igtk; in wpa_group_setkeys()
2422 group->GN_igtk = tmp; in wpa_group_setkeys()
2427 wpa_gtk_update(wpa_auth, group); in wpa_group_setkeys()
2429 if (group->GKeyDoneStations) { in wpa_group_setkeys()
2432 group->GKeyDoneStations); in wpa_group_setkeys()
2433 group->GKeyDoneStations = 0; in wpa_group_setkeys()
2435 wpa_auth_for_each_sta(wpa_auth, wpa_group_update_sta, group); in wpa_group_setkeys()
2437 group->GKeyDoneStations); in wpa_group_setkeys()
2442 struct wpa_group *group) in wpa_group_config_group_keys() argument
2445 if (wpa_auth_set_key(wpa_auth, group->vlan_id, in wpa_group_config_group_keys()
2447 (uint8_t *)broadcast_ether_addr, group->GN, in wpa_group_config_group_keys()
2448 group->GTK[group->GN - 1], group->GTK_len) < 0) in wpa_group_config_group_keys()
2453 wpa_auth_set_key(wpa_auth, group->vlan_id, WIFI_WPA_ALG_IGTK, in wpa_group_config_group_keys()
2454 broadcast_ether_addr, group->GN_igtk, in wpa_group_config_group_keys()
2455 group->IGTK[group->GN_igtk - 4], in wpa_group_config_group_keys()
2465 struct wpa_group *group) in wpa_group_setkeysdone() argument
2468 "SETKEYSDONE (VLAN-ID %d)", group->vlan_id); in wpa_group_setkeysdone()
2469 group->changed = TRUE; in wpa_group_setkeysdone()
2470 group->wpa_group_state = WPA_GROUP_SETKEYSDONE; in wpa_group_setkeysdone()
2472 if (wpa_group_config_group_keys(wpa_auth, group) < 0) in wpa_group_setkeysdone()
2480 struct wpa_group *group) in wpa_group_sm_step() argument
2482 if (group->GInit) { in wpa_group_sm_step()
2483 wpa_group_gtk_init(wpa_auth, group); in wpa_group_sm_step()
2484 } else if (group->wpa_group_state == WPA_GROUP_GTK_INIT && in wpa_group_sm_step()
2485 group->GTKAuthenticator) { in wpa_group_sm_step()
2486 wpa_group_setkeysdone(wpa_auth, group); in wpa_group_sm_step()
2487 } else if (group->wpa_group_state == WPA_GROUP_SETKEYSDONE && in wpa_group_sm_step()
2488 group->GTKReKey) { in wpa_group_sm_step()
2489 wpa_group_setkeys(wpa_auth, group); in wpa_group_sm_step()
2490 } else if (group->wpa_group_state == WPA_GROUP_SETKEYS) { in wpa_group_sm_step()
2491 if (group->GKeyDoneStations == 0) in wpa_group_sm_step()
2492 wpa_group_setkeysdone(wpa_auth, group); in wpa_group_sm_step()
2493 else if (group->GTKReKey) in wpa_group_sm_step()
2494 wpa_group_setkeys(wpa_auth, group); in wpa_group_sm_step()
2518 sm->wpa_auth->group->changed = FALSE; in wpa_sm_step()
2526 wpa_group_sm_step(sm->wpa_auth, sm->group); in wpa_sm_step()
2527 } while (sm->changed || sm->wpa_auth->group->changed); in wpa_sm_step()
2541 struct wpa_group *group, *prev; in wpa_deinit() local
2546 if (wpa_auth->group != NULL) { in wpa_deinit()
2547 group = wpa_auth->group; in wpa_deinit()
2548 while (group) { in wpa_deinit()
2549 prev = group; in wpa_deinit()
2550 group = group->next; in wpa_deinit()