Optimize Extended Capabilities element to be of minimal length
authorJouni Malinen <j@w1.fi>
Sun, 31 Mar 2013 18:58:17 +0000 (21:58 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 31 Mar 2013 18:58:17 +0000 (21:58 +0300)
Leave out zero octets from the end of the element.

Signed-hostap: Jouni Malinen <j@w1.fi>

src/ap/ieee802_11_shared.c
wpa_supplicant/wpa_supplicant.c

index e59ac13..c36bbe3 100644 (file)
@@ -239,7 +239,14 @@ u8 * hostapd_eid_ext_capab(struct hostapd_data *hapd, u8 *eid)
                }
        }
 
-       return pos;
+       while (len > 0 && eid[1 + len] == 0) {
+               len--;
+               eid[1] = len;
+       }
+       if (len == 0)
+               return eid;
+
+       return eid + 2 + len;
 }
 
 
index cac8244..c6b45f3 100644 (file)
@@ -1231,7 +1231,14 @@ int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf)
                }
        }
 
-       return pos - buf;
+       while (len > 0 && buf[1 + len] == 0) {
+               len--;
+               buf[1] = len;
+       }
+       if (len == 0)
+               return 0;
+
+       return 2 + len;
 }