diff options
-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; |