P2P: Add P2P IE into (Re)Association Request frames
This commit is contained in:
parent
0e65037c27
commit
5f3a6aa0a4
2 changed files with 35 additions and 1 deletions
|
@ -26,6 +26,7 @@
|
|||
#include "driver_i.h"
|
||||
#include "wpas_glue.h"
|
||||
#include "wps_supplicant.h"
|
||||
#include "p2p_supplicant.h"
|
||||
#include "notify.h"
|
||||
#include "blacklist.h"
|
||||
#include "bss.h"
|
||||
|
@ -209,6 +210,23 @@ void sme_authenticate(struct wpa_supplicant *wpa_s,
|
|||
}
|
||||
#endif /* CONFIG_IEEE80211W */
|
||||
|
||||
#ifdef CONFIG_P2P
|
||||
if (wpa_s->global->p2p) {
|
||||
u8 *pos;
|
||||
size_t len;
|
||||
int res;
|
||||
int p2p_group;
|
||||
p2p_group = wpa_s->drv_flags & WPA_DRIVER_FLAGS_P2P_CAPABLE;
|
||||
pos = wpa_s->sme.assoc_req_ie + wpa_s->sme.assoc_req_ie_len;
|
||||
len = sizeof(wpa_s->sme.assoc_req_ie) -
|
||||
wpa_s->sme.assoc_req_ie_len;
|
||||
res = wpas_p2p_assoc_req_ie(wpa_s, bss->bssid, pos, len,
|
||||
p2p_group);
|
||||
if (res >= 0)
|
||||
wpa_s->sme.assoc_req_ie_len += res;
|
||||
}
|
||||
#endif /* CONFIG_P2P */
|
||||
|
||||
wpa_supplicant_cancel_scan(wpa_s);
|
||||
|
||||
wpa_msg(wpa_s, MSG_INFO, "Trying to authenticate with " MACSTR
|
||||
|
|
|
@ -1002,7 +1002,7 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
|
|||
void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||
struct wpa_bss *bss, struct wpa_ssid *ssid)
|
||||
{
|
||||
u8 wpa_ie[80];
|
||||
u8 wpa_ie[200];
|
||||
size_t wpa_ie_len;
|
||||
int use_crypt, ret, i, bssid_changed;
|
||||
int algs = WPA_AUTH_ALG_OPEN;
|
||||
|
@ -1154,6 +1154,22 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
|||
wpa_ie_len = 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_P2P
|
||||
if (wpa_s->global->p2p) {
|
||||
u8 *pos;
|
||||
size_t len;
|
||||
int res;
|
||||
int p2p_group;
|
||||
p2p_group = wpa_s->drv_flags & WPA_DRIVER_FLAGS_P2P_CAPABLE;
|
||||
pos = wpa_ie + wpa_ie_len;
|
||||
len = sizeof(wpa_ie) - wpa_ie_len;
|
||||
res = wpas_p2p_assoc_req_ie(wpa_s, bss->bssid, pos, len,
|
||||
p2p_group);
|
||||
if (res >= 0)
|
||||
wpa_ie_len += res;
|
||||
}
|
||||
#endif /* CONFIG_P2P */
|
||||
|
||||
wpa_clear_keys(wpa_s, bss ? bss->bssid : NULL);
|
||||
use_crypt = 1;
|
||||
cipher_pairwise = cipher_suite2driver(wpa_s->pairwise_cipher);
|
||||
|
|
Loading…
Reference in a new issue