diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2011-10-03 18:10:23 +0300 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2012-05-08 23:30:04 +0300 |
commit | cb4183249f517bf7cb50fba1a571b05e77f4613d (patch) | |
tree | 870194aa0ba250f09a00604b906d59f2c9f20401 | |
parent | c923b8a537752885b0b90b03f550b4bec9a8e46e (diff) | |
download | external_wpa_supplicant_8_ti-cb4183249f517bf7cb50fba1a571b05e77f4613d.zip external_wpa_supplicant_8_ti-cb4183249f517bf7cb50fba1a571b05e77f4613d.tar.gz external_wpa_supplicant_8_ti-cb4183249f517bf7cb50fba1a571b05e77f4613d.tar.bz2 |
HS 2.0: Add HS 2.0 Indication element into (Re)Association Request
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
-rw-r--r-- | wpa_supplicant/sme.c | 16 | ||||
-rw-r--r-- | wpa_supplicant/wpa_supplicant.c | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c index cf5e08d..1586a5a 100644 --- a/wpa_supplicant/sme.c +++ b/wpa_supplicant/sme.c @@ -26,6 +26,7 @@ #include "bss.h" #include "scan.h" #include "sme.h" +#include "hs20_supplicant.h" #define SME_AUTH_TIMEOUT 5 #define SME_ASSOC_TIMEOUT 5 @@ -222,6 +223,21 @@ void sme_authenticate(struct wpa_supplicant *wpa_s, } #endif /* CONFIG_P2P */ +#ifdef CONFIG_HS20 + if (wpa_s->conf->hs20) { + struct wpabuf *hs20; + hs20 = wpabuf_alloc(20); + if (hs20) { + wpas_hs20_add_indication(hs20); + os_memcpy(wpa_s->sme.assoc_req_ie + + wpa_s->sme.assoc_req_ie_len, + wpabuf_head(hs20), wpabuf_len(hs20)); + wpa_s->sme.assoc_req_ie_len += wpabuf_len(hs20); + wpabuf_free(hs20); + } + } +#endif /* CONFIG_HS20 */ + #ifdef CONFIG_INTERWORKING if (wpa_s->conf->interworking) { u8 *pos = wpa_s->sme.assoc_req_ie; diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 5633a2c..0996c38 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -45,6 +45,7 @@ #include "bss.h" #include "scan.h" #include "offchannel.h" +#include "hs20_supplicant.h" const char *wpa_supplicant_version = "wpa_supplicant v" VERSION_STR "\n" @@ -1275,6 +1276,20 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s, } #endif /* CONFIG_P2P */ +#ifdef CONFIG_HS20 + if (wpa_s->conf->hs20) { + struct wpabuf *hs20; + hs20 = wpabuf_alloc(20); + if (hs20) { + wpas_hs20_add_indication(hs20); + os_memcpy(wpa_ie + wpa_ie_len, wpabuf_head(hs20), + wpabuf_len(hs20)); + wpa_ie_len += wpabuf_len(hs20); + wpabuf_free(hs20); + } + } +#endif /* CONFIG_HS20 */ + #ifdef CONFIG_INTERWORKING if (wpa_s->conf->interworking) { u8 *pos = wpa_ie; |