P2P: Add P2P IE into (Re)Association Request frames

This commit is contained in:
Jouni Malinen 2010-07-18 14:30:25 -07:00 committed by Jouni Malinen
parent 0e65037c27
commit 5f3a6aa0a4
2 changed files with 35 additions and 1 deletions

View File

@ -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

View File

@ -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);