Lines Matching refs:wpa_auth
633 int wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth) in wpa_auth_gen_wpa_ie() argument
639 if (wpa_auth->conf.own_ie_override_len) { in wpa_auth_gen_wpa_ie()
641 wpa_auth->conf.own_ie_override, in wpa_auth_gen_wpa_ie()
642 wpa_auth->conf.own_ie_override_len); in wpa_auth_gen_wpa_ie()
643 os_free(wpa_auth->wpa_ie); in wpa_auth_gen_wpa_ie()
644 wpa_auth->wpa_ie = in wpa_auth_gen_wpa_ie()
645 os_malloc(wpa_auth->conf.own_ie_override_len); in wpa_auth_gen_wpa_ie()
646 if (wpa_auth->wpa_ie == NULL) in wpa_auth_gen_wpa_ie()
648 os_memcpy(wpa_auth->wpa_ie, wpa_auth->conf.own_ie_override, in wpa_auth_gen_wpa_ie()
649 wpa_auth->conf.own_ie_override_len); in wpa_auth_gen_wpa_ie()
650 wpa_auth->wpa_ie_len = wpa_auth->conf.own_ie_override_len; in wpa_auth_gen_wpa_ie()
657 if (wpa_auth->conf.wpa == WPA_PROTO_OSEN) { in wpa_auth_gen_wpa_ie()
658 pos = wpa_write_osen(&wpa_auth->conf, pos); in wpa_auth_gen_wpa_ie()
660 if (wpa_auth->conf.wpa & WPA_PROTO_RSN) { in wpa_auth_gen_wpa_ie()
662 if (wpa_auth->conf.rsne_override_set) { in wpa_auth_gen_wpa_ie()
665 wpa_auth->conf.rsne_override, in wpa_auth_gen_wpa_ie()
666 wpa_auth->conf.rsne_override_len); in wpa_auth_gen_wpa_ie()
668 wpa_auth->conf.rsne_override_len) in wpa_auth_gen_wpa_ie()
670 os_memcpy(pos, wpa_auth->conf.rsne_override, in wpa_auth_gen_wpa_ie()
671 wpa_auth->conf.rsne_override_len); in wpa_auth_gen_wpa_ie()
672 pos += wpa_auth->conf.rsne_override_len; in wpa_auth_gen_wpa_ie()
676 res = wpa_write_rsn_ie(&wpa_auth->conf, in wpa_auth_gen_wpa_ie()
683 if (wpa_auth->conf.rsnxe_override_set) { in wpa_auth_gen_wpa_ie()
686 wpa_auth->conf.rsnxe_override, in wpa_auth_gen_wpa_ie()
687 wpa_auth->conf.rsnxe_override_len); in wpa_auth_gen_wpa_ie()
689 wpa_auth->conf.rsnxe_override_len) in wpa_auth_gen_wpa_ie()
691 os_memcpy(pos, wpa_auth->conf.rsnxe_override, in wpa_auth_gen_wpa_ie()
692 wpa_auth->conf.rsnxe_override_len); in wpa_auth_gen_wpa_ie()
693 pos += wpa_auth->conf.rsnxe_override_len; in wpa_auth_gen_wpa_ie()
697 if (wpa_auth->conf.rsn_override_omit_rsnxe) in wpa_auth_gen_wpa_ie()
700 res = wpa_write_rsnxe(&wpa_auth->conf, pos, in wpa_auth_gen_wpa_ie()
710 if (wpa_key_mgmt_ft(wpa_auth->conf.wpa_key_mgmt)) { in wpa_auth_gen_wpa_ie()
711 res = wpa_write_mdie(&wpa_auth->conf, pos, in wpa_auth_gen_wpa_ie()
718 if (wpa_auth->conf.wpa & WPA_PROTO_WPA) { in wpa_auth_gen_wpa_ie()
719 res = wpa_write_wpa_ie(&wpa_auth->conf, in wpa_auth_gen_wpa_ie()
725 if ((wpa_auth->conf.wpa & WPA_PROTO_RSN) && in wpa_auth_gen_wpa_ie()
726 wpa_auth->conf.rsn_override_key_mgmt) { in wpa_auth_gen_wpa_ie()
728 if (wpa_auth->conf.rsnoe_override_set) { in wpa_auth_gen_wpa_ie()
731 wpa_auth->conf.rsnoe_override, in wpa_auth_gen_wpa_ie()
732 wpa_auth->conf.rsnoe_override_len); in wpa_auth_gen_wpa_ie()
734 wpa_auth->conf.rsnoe_override_len) in wpa_auth_gen_wpa_ie()
736 os_memcpy(pos, wpa_auth->conf.rsnoe_override, in wpa_auth_gen_wpa_ie()
737 wpa_auth->conf.rsnoe_override_len); in wpa_auth_gen_wpa_ie()
738 pos += wpa_auth->conf.rsnoe_override_len; in wpa_auth_gen_wpa_ie()
742 res = wpa_write_rsne_override(&wpa_auth->conf, in wpa_auth_gen_wpa_ie()
751 if ((wpa_auth->conf.wpa & WPA_PROTO_RSN) && in wpa_auth_gen_wpa_ie()
752 wpa_auth->conf.rsn_override_key_mgmt_2) { in wpa_auth_gen_wpa_ie()
754 if (wpa_auth->conf.rsno2e_override_set) { in wpa_auth_gen_wpa_ie()
757 wpa_auth->conf.rsno2e_override, in wpa_auth_gen_wpa_ie()
758 wpa_auth->conf.rsno2e_override_len); in wpa_auth_gen_wpa_ie()
760 wpa_auth->conf.rsno2e_override_len) in wpa_auth_gen_wpa_ie()
762 os_memcpy(pos, wpa_auth->conf.rsno2e_override, in wpa_auth_gen_wpa_ie()
763 wpa_auth->conf.rsno2e_override_len); in wpa_auth_gen_wpa_ie()
764 pos += wpa_auth->conf.rsno2e_override_len; in wpa_auth_gen_wpa_ie()
768 res = wpa_write_rsne_override_2(&wpa_auth->conf, pos, in wpa_auth_gen_wpa_ie()
777 if ((wpa_auth->conf.wpa & WPA_PROTO_RSN) && in wpa_auth_gen_wpa_ie()
778 (wpa_auth->conf.rsn_override_key_mgmt || in wpa_auth_gen_wpa_ie()
779 wpa_auth->conf.rsn_override_key_mgmt_2)) { in wpa_auth_gen_wpa_ie()
781 if (wpa_auth->conf.rsnxoe_override_set) { in wpa_auth_gen_wpa_ie()
784 wpa_auth->conf.rsnxoe_override, in wpa_auth_gen_wpa_ie()
785 wpa_auth->conf.rsnxoe_override_len); in wpa_auth_gen_wpa_ie()
787 wpa_auth->conf.rsnxoe_override_len) in wpa_auth_gen_wpa_ie()
789 os_memcpy(pos, wpa_auth->conf.rsnxoe_override, in wpa_auth_gen_wpa_ie()
790 wpa_auth->conf.rsnxoe_override_len); in wpa_auth_gen_wpa_ie()
791 pos += wpa_auth->conf.rsnxoe_override_len; in wpa_auth_gen_wpa_ie()
795 res = wpa_write_rsnxe_override(&wpa_auth->conf, pos, in wpa_auth_gen_wpa_ie()
806 os_free(wpa_auth->wpa_ie); in wpa_auth_gen_wpa_ie()
807 wpa_auth->wpa_ie = os_malloc(pos - buf); in wpa_auth_gen_wpa_ie()
808 if (wpa_auth->wpa_ie == NULL) in wpa_auth_gen_wpa_ie()
810 os_memcpy(wpa_auth->wpa_ie, buf, pos - buf); in wpa_auth_gen_wpa_ie()
811 wpa_auth->wpa_ie_len = pos - buf; in wpa_auth_gen_wpa_ie()
854 wpa_validate_wpa_ie(struct wpa_authenticator *wpa_auth, in wpa_validate_wpa_ie() argument
862 struct wpa_auth_config *conf = &wpa_auth->conf; in wpa_validate_wpa_ie()
869 if (wpa_auth == NULL || sm == NULL) in wpa_validate_wpa_ie()
880 if (!(wpa_auth->conf.wpa & version)) { in wpa_validate_wpa_ie()
969 wpa_auth->dot11RSNAAuthenticationSuiteSelected = selector; in wpa_validate_wpa_ie()
975 wpa_auth->dot11RSNAPairwiseCipherSelected = selector; in wpa_validate_wpa_ie()
981 wpa_auth->dot11RSNAGroupCipherSelected = selector; in wpa_validate_wpa_ie()
990 wpa_auth->dot11RSNAAuthenticationSuiteSelected = selector; in wpa_validate_wpa_ie()
996 wpa_auth->dot11RSNAPairwiseCipherSelected = selector; in wpa_validate_wpa_ie()
1002 wpa_auth->dot11RSNAGroupCipherSelected = selector; in wpa_validate_wpa_ie()
1011 if (data.group_cipher != wpa_auth->conf.wpa_group) { in wpa_validate_wpa_ie()
1019 wpa_auth->conf.rsn_override_key_mgmt_2; in wpa_validate_wpa_ie()
1021 key_mgmt = data.key_mgmt & wpa_auth->conf.rsn_override_key_mgmt; in wpa_validate_wpa_ie()
1023 key_mgmt = data.key_mgmt & wpa_auth->conf.wpa_key_mgmt; in wpa_validate_wpa_ie()
1094 wpa_auth->conf.rsn_override_pairwise_2; in wpa_validate_wpa_ie()
1097 wpa_auth->conf.rsn_override_pairwise; in wpa_validate_wpa_ie()
1099 ciphers = data.pairwise_cipher & wpa_auth->conf.rsn_pairwise; in wpa_validate_wpa_ie()
1101 ciphers = data.pairwise_cipher & wpa_auth->conf.wpa_pairwise; in wpa_validate_wpa_ie()
1110 if (wpa_auth->conf.ieee80211w == MGMT_FRAME_PROTECTION_REQUIRED) { in wpa_validate_wpa_ie()
1117 if (data.mgmt_group_cipher != wpa_auth->conf.group_mgmt_cipher) in wpa_validate_wpa_ie()
1126 if (wpa_auth->conf.ieee80211w == MGMT_FRAME_PROTECTION_OPTIONAL && in wpa_validate_wpa_ie()
1127 wpa_auth->conf.sae_require_mfp && in wpa_validate_wpa_ie()
1137 if (wpa_auth->conf.ocv && (data.capabilities & WPA_CAPABILITY_OCVC) && in wpa_validate_wpa_ie()
1144 if (wpa_auth->conf.ocv == 2) { in wpa_validate_wpa_ie()
1155 wpa_auth->conf.ocv : 0); in wpa_validate_wpa_ie()
1159 if (wpa_auth->conf.ieee80211w == NO_MGMT_FRAME_PROTECTION || in wpa_validate_wpa_ie()
1179 if (os_memcmp(mdie, wpa_auth->conf.mobility_domain, in wpa_validate_wpa_ie()
1238 wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG, in wpa_validate_wpa_ie()
1248 sm->pmksa = pmksa_cache_auth_get(wpa_auth->pmksa, sm->addr, in wpa_validate_wpa_ie()
1255 for (i = 0; sm->pmksa == NULL && wpa_auth->conf.okc && in wpa_validate_wpa_ie()
1259 idata.aa = wpa_auth->addr; in wpa_validate_wpa_ie()
1262 wpa_auth_for_each_auth(wpa_auth, wpa_auth_okc_iter, &idata); in wpa_validate_wpa_ie()
1264 wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG, in wpa_validate_wpa_ie()
1266 sm->pmksa = pmksa_cache_add_okc(wpa_auth->pmksa, in wpa_validate_wpa_ie()
1268 wpa_auth->addr, in wpa_validate_wpa_ie()
1278 wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG, in wpa_validate_wpa_ie()
1283 os_memcpy(wpa_auth->dot11RSNAPMKIDUsed, pmkid, PMKID_LEN); in wpa_validate_wpa_ie()
1293 if (wpa_auth->cb->get_drv_flags && in wpa_validate_wpa_ie()
1294 wpa_auth->cb->get_drv_flags(wpa_auth->cb_ctx, &drv_flags, in wpa_validate_wpa_ie()
1301 wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG, in wpa_validate_wpa_ie()
1310 wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG, in wpa_validate_wpa_ie()
1362 int wpa_validate_osen(struct wpa_authenticator *wpa_auth, in wpa_validate_osen() argument
1366 if (wpa_auth == NULL || sm == NULL) in wpa_validate_osen()
1424 conf = &sm->wpa_auth->conf; in wpa_auth_write_assoc_resp_owe()
1460 res = wpa_write_rsn_ie(&sm->wpa_auth->conf, pos, max_len, NULL); in wpa_auth_write_assoc_resp_fils()
1467 bool wpa_auth_write_fd_rsn_info(struct wpa_authenticator *wpa_auth, in wpa_auth_write_fd_rsn_info() argument
1477 if (!wpa_auth) in wpa_auth_write_fd_rsn_info()
1479 conf = &wpa_auth->conf; in wpa_auth_write_fd_rsn_info()