|
@@ -3379,6 +3379,36 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
|
|
|
|
|
wpabuf_free(bss->vendor_elements);
|
|
|
bss->vendor_elements = elems;
|
|
|
+ } else if (os_strcmp(buf, "assocresp_elements") == 0) {
|
|
|
+ struct wpabuf *elems;
|
|
|
+ size_t len = os_strlen(pos);
|
|
|
+ if (len & 0x01) {
|
|
|
+ wpa_printf(MSG_ERROR,
|
|
|
+ "Line %d: Invalid assocresp_elements '%s'",
|
|
|
+ line, pos);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ len /= 2;
|
|
|
+ if (len == 0) {
|
|
|
+ wpabuf_free(bss->assocresp_elements);
|
|
|
+ bss->assocresp_elements = NULL;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ elems = wpabuf_alloc(len);
|
|
|
+ if (elems == NULL)
|
|
|
+ return 1;
|
|
|
+
|
|
|
+ if (hexstr2bin(pos, wpabuf_put(elems, len), len)) {
|
|
|
+ wpabuf_free(elems);
|
|
|
+ wpa_printf(MSG_ERROR,
|
|
|
+ "Line %d: Invalid assocresp_elements '%s'",
|
|
|
+ line, pos);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ wpabuf_free(bss->assocresp_elements);
|
|
|
+ bss->assocresp_elements = elems;
|
|
|
} else if (os_strcmp(buf, "sae_anti_clogging_threshold") == 0) {
|
|
|
bss->sae_anti_clogging_threshold = atoi(pos);
|
|
|
} else if (os_strcmp(buf, "sae_groups") == 0) {
|