Lines Matching refs:wpa_s

36 	struct wpa_supplicant *wpa_s = ctx;
37 wpa_config_set_blob(wpa_s->conf, blob);
38 if (wpa_s->conf->update_config) {
39 int ret = wpa_config_write(wpa_s->confname, wpa_s->conf);
51 struct wpa_supplicant *wpa_s = ctx;
52 return wpa_config_get_blob(wpa_s->conf, name);
59 static u8 * wpa_alloc_eapol(const struct wpa_supplicant *wpa_s, u8 type,
70 hdr->version = wpa_s->conf->eapol_version;
88 * @wpa_s: Pointer to wpa_supplicant data
95 static int wpa_ether_send(struct wpa_supplicant *wpa_s, const u8 *dest,
98 if (wpa_s->l2) {
99 return l2_packet_send(wpa_s->l2, dest, proto, buf, len);
102 return wpa_drv_send_eapol(wpa_s, dest, proto, buf, len);
111 * @ctx: Pointer to wpa_supplicant data (wpa_s)
123 struct wpa_supplicant *wpa_s = ctx;
131 if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt) ||
132 wpa_s->key_mgmt == WPA_KEY_MGMT_NONE) {
142 if (pmksa_cache_get_current(wpa_s->wpa) &&
151 if (is_zero_ether_addr(wpa_s->bssid)) {
154 if (wpa_drv_get_bssid(wpa_s, bssid) == 0 &&
161 dst = wpa_s->last_eapol_src;
170 dst = wpa_s->bssid;
173 msg = wpa_alloc_eapol(wpa_s, type, buf, len, &msglen, NULL);
179 res = wpa_ether_send(wpa_s, dst, ETH_P_EAPOL, msg, msglen);
187 * @ctx: Pointer to wpa_supplicant data (wpa_s)
197 struct wpa_supplicant *wpa_s = ctx;
198 if (wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
202 wpa_s->pairwise_cipher = cipher;
204 wpa_s->group_cipher = cipher;
206 return wpa_drv_set_key(wpa_s, WPA_ALG_WEP,
207 unicast ? wpa_s->bssid : NULL,
214 struct wpa_supplicant *wpa_s = ctx;
215 wpa_sm_aborted_cached(wpa_s->wpa);
222 struct wpa_supplicant *wpa_s = ctx;
229 if (wpas_wps_eapol_cb(wpa_s) > 0)
238 wpa_supplicant_req_auth_timeout(wpa_s, 2, 0);
241 if (!success || !(wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE))
244 if (!wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt))
251 if (wpa_key_mgmt_ft(wpa_s->key_mgmt)) {
285 if (wpa_drv_set_key(wpa_s, WPA_ALG_PMK, NULL, 0, 0, NULL, 0, pmk,
290 wpa_supplicant_cancel_scan(wpa_s);
291 wpa_supplicant_cancel_auth_timeout(wpa_s);
292 wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
299 struct wpa_supplicant *wpa_s = ctx;
300 wpa_msg(wpa_s, MSG_DEBUG, "WPA: EAPOL processing complete");
301 if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt)) {
302 wpa_supplicant_set_state(wpa_s, WPA_4WAY_HANDSHAKE);
304 wpa_supplicant_cancel_auth_timeout(wpa_s);
305 wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
314 static int wpa_get_beacon_ie(struct wpa_supplicant *wpa_s)
318 struct wpa_ssid *ssid = wpa_s->current_ssid;
321 dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) {
322 if (os_memcmp(bss->bssid, wpa_s->bssid, ETH_ALEN) != 0)
335 if (wpa_sm_set_ap_wpa_ie(wpa_s->wpa, ie, ie ? 2 + ie[1] : 0))
339 if (wpa_sm_set_ap_rsn_ie(wpa_s->wpa, ie, ie ? 2 + ie[1] : 0))
351 struct wpa_supplicant *wpa_s = ctx;
352 if (wpa_get_beacon_ie(wpa_s) == 0) {
358 if (wpa_supplicant_update_scan_results(wpa_s) < 0)
361 return wpa_get_beacon_ie(wpa_s);
365 static u8 * _wpa_alloc_eapol(void *wpa_s, u8 type,
369 return wpa_alloc_eapol(wpa_s, type, data, data_len, msg_len, data_pos);
373 static int _wpa_ether_send(void *wpa_s, const u8 *dest, u16 proto,
376 return wpa_ether_send(wpa_s, dest, proto, buf, len);
380 static void _wpa_supplicant_cancel_auth_timeout(void *wpa_s)
382 wpa_supplicant_cancel_auth_timeout(wpa_s);
386 static void _wpa_supplicant_set_state(void *wpa_s, enum wpa_states state)
388 wpa_supplicant_set_state(wpa_s, state);
394 * @wpa_s: Pointer to wpa_supplicant data
397 static enum wpa_states wpa_supplicant_get_state(struct wpa_supplicant *wpa_s)
399 return wpa_s->wpa_state;
403 static enum wpa_states _wpa_supplicant_get_state(void *wpa_s)
405 return wpa_supplicant_get_state(wpa_s);
409 static void _wpa_supplicant_disassociate(void *wpa_s, int reason_code)
411 wpa_supplicant_disassociate(wpa_s, reason_code);
413 wpa_supplicant_req_scan(wpa_s, 5, 0);
417 static void _wpa_supplicant_deauthenticate(void *wpa_s, int reason_code)
419 wpa_supplicant_deauthenticate(wpa_s, reason_code);
421 wpa_supplicant_req_scan(wpa_s, 5, 0);
425 static void * wpa_supplicant_get_network_ctx(void *wpa_s)
427 return wpa_supplicant_get_ssid(wpa_s);
433 struct wpa_supplicant *wpa_s = ctx;
434 return wpa_drv_get_bssid(wpa_s, bssid);
443 struct wpa_supplicant *wpa_s = _wpa_s;
446 wpa_s->mic_errors_seen = 0;
448 return wpa_drv_set_key(wpa_s, alg, addr, key_idx, set_tx, seq, seq_len,
453 static int wpa_supplicant_mlme_setprotection(void *wpa_s, const u8 *addr,
457 return wpa_drv_mlme_setprotection(wpa_s, addr, protection_type,
462 static int wpa_supplicant_add_pmkid(void *wpa_s,
465 return wpa_drv_add_pmkid(wpa_s, bssid, pmkid);
469 static int wpa_supplicant_remove_pmkid(void *wpa_s,
472 return wpa_drv_remove_pmkid(wpa_s, bssid, pmkid);
480 struct wpa_supplicant *wpa_s = ctx;
481 if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)
482 return sme_update_ft_ies(wpa_s, md, ies, ies_len);
483 return wpa_drv_update_ft_ies(wpa_s, md, ies, ies_len);
491 struct wpa_supplicant *wpa_s = ctx;
492 return wpa_drv_send_ft_action(wpa_s, action, target_ap, ies, ies_len);
498 struct wpa_supplicant *wpa_s = ctx;
502 bss = wpa_bss_get_bssid(wpa_s, target_ap);
513 return wpa_drv_authenticate(wpa_s, &params);
525 struct wpa_supplicant *wpa_s = ctx;
530 if (!wpa_s->drv_capa_known)
533 if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_TDLS_SUPPORT)
536 if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP)
548 struct wpa_supplicant *wpa_s = ctx;
549 return wpa_drv_send_tdls_mgmt(wpa_s, dst, action_code, dialog_token,
556 struct wpa_supplicant *wpa_s = ctx;
557 return wpa_drv_tdls_oper(wpa_s, oper, peer);
565 struct wpa_supplicant *wpa_s = ctx;
578 return wpa_drv_sta_add(wpa_s, &params);
653 struct wpa_supplicant *wpa_s = ctx;
654 struct wpa_ssid *ssid = wpa_s->current_ssid;
663 wpas_notify_network_request(wpa_s, ssid, field, default_txt);
690 wpa_msg(wpa_s, MSG_INFO, "%s", buf);
700 struct wpa_supplicant *wpa_s = ctx;
702 if (wpa_s->ap_iface) {
711 wpa_drv_set_supp_port(wpa_s, authorized);
719 struct wpa_supplicant *wpa_s = ctx;
721 wpas_notify_certification(wpa_s, depth, subject, cert_hash, cert);
726 int wpa_supplicant_init_eapol(struct wpa_supplicant *wpa_s)
736 ctx->ctx = wpa_s;
737 ctx->msg_ctx = wpa_s;
738 ctx->eapol_send_ctx = wpa_s;
746 ctx->opensc_engine_path = wpa_s->conf->opensc_engine_path;
747 ctx->pkcs11_engine_path = wpa_s->conf->pkcs11_engine_path;
748 ctx->pkcs11_module_path = wpa_s->conf->pkcs11_module_path;
749 ctx->wps = wpa_s->wps;
754 ctx->cb_ctx = wpa_s;
755 wpa_s->eapol = eapol_sm_init(ctx);
756 if (wpa_s->eapol == NULL) {
772 struct wpa_supplicant *wpa_s = ctx;
774 wpa_drv_set_rekey_info(wpa_s, kek, kck, replay_ctr);
778 int wpa_supplicant_init_wpa(struct wpa_supplicant *wpa_s)
788 ctx->ctx = wpa_s;
789 ctx->msg_ctx = wpa_s;
821 wpa_s->wpa = wpa_sm_init(ctx);
822 if (wpa_s->wpa == NULL) {
833 void wpa_supplicant_rsn_supp_set_config(struct wpa_supplicant *wpa_s,
851 wpa_sm_set_config(wpa_s->wpa, ssid ? &conf : NULL);