]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add Ext Capab and Interworking elements to extra IEs
authorJouni Malinen <jouni@qca.qualcomm.com>
Mon, 17 Oct 2011 18:30:44 +0000 (21:30 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 17 Oct 2011 18:30:44 +0000 (21:30 +0300)
These need to be provided to drivers that implement SME/MLME.

src/ap/ap_drv_ops.c

index 77d6834f47247ec0adc93d51fb1f57b732da0a53..77d4909af2a294e6898dcb47de6695414d647c11 100644 (file)
@@ -47,9 +47,28 @@ int hostapd_build_ap_extra_ies(struct hostapd_data *hapd,
                               struct wpabuf **assocresp_ret)
 {
        struct wpabuf *beacon = NULL, *proberesp = NULL, *assocresp = NULL;
+       u8 buf[100], *pos;
 
        *beacon_ret = *proberesp_ret = *assocresp_ret = NULL;
 
+       pos = buf;
+       pos = hostapd_eid_ext_capab(hapd, pos);
+       if (pos != buf) {
+               if (wpabuf_resize(&assocresp, pos - buf) != 0)
+                       goto fail;
+               wpabuf_put_data(assocresp, buf, pos - buf);
+       }
+       pos = hostapd_eid_interworking(hapd, pos);
+       if (pos != buf) {
+               if (wpabuf_resize(&beacon, pos - buf) != 0)
+                       goto fail;
+               wpabuf_put_data(beacon, buf, pos - buf);
+
+               if (wpabuf_resize(&proberesp, pos - buf) != 0)
+                       goto fail;
+               wpabuf_put_data(proberesp, buf, pos - buf);
+       }
+
        if (hapd->wps_beacon_ie) {
                if (wpabuf_resize(&beacon, wpabuf_len(hapd->wps_beacon_ie)) <
                    0)