[PATCHv3 3/3] radius: report taxonomy assoc/probe IEs

michael-dev at fami-braun.de michael-dev at fami-braun.de
Sat May 1 01:46:44 BST 2021


From: Michael Braun <michael-dev at fami-braun.de>

Use FreeRADIUS dictionary definition:

VENDOR  HostAP  39068
BEGIN-VENDOR    HostAP  parent=Extended-Vendor-Specific-5
ATTRIBUTE       HostAP-Probe-IES        0       octets
ATTRIBUTE       HostAP-Assoc-IES        1       octets
END-VENDOR      HostAP

Signed-off-by: Michael Braun <michael-dev at fami-braun.de>
---
 src/ap/ieee802_1x.c | 22 ++++++++++++++++++++++
 src/radius/radius.h |  8 ++++++++
 2 files changed, 30 insertions(+)

diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c
index 753c88335..5b336aa7c 100644
--- a/src/ap/ieee802_1x.c
+++ b/src/ap/ieee802_1x.c
@@ -522,6 +522,28 @@ static int add_common_radius_sta_attr(struct hostapd_data *hapd,
 	    add_common_radius_sta_attr_rsn(hapd, req_attr, sta, msg) < 0)
 		return -1;
 
+#ifdef CONFIG_TAXONOMY
+	if (sta->probe_ie_taxonomy &&
+	    !radius_msg_add_extended_vsa(msg, RADIUS_ATTR_EXTENDED_5,
+					 RADIUS_VENDOR_ATTR_HOSTAP_PROBE_IES,
+					 wpabuf_head(sta->probe_ie_taxonomy),
+					 wpabuf_len(sta->probe_ie_taxonomy),
+					 RADIUS_VENDOR_ID_HOSTAP)) {
+		wpa_printf(MSG_INFO, "Could not add HostAP-Probe-IES");
+		return -1;
+	}
+
+	if (sta->assoc_ie_taxonomy &&
+	    !radius_msg_add_extended_vsa(msg, RADIUS_ATTR_EXTENDED_5,
+					 RADIUS_VENDOR_ATTR_HOSTAP_ASSOC_IES,
+					 wpabuf_head(sta->assoc_ie_taxonomy),
+					 wpabuf_len(sta->assoc_ie_taxonomy),
+					 RADIUS_VENDOR_ID_HOSTAP)) {
+		wpa_printf(MSG_INFO, "Could not add HostAP-Assoc-IES");
+		return -1;
+	}
+#endif /* CONFIG_TAXONOMY */
+
 	return 0;
 }
 
diff --git a/src/radius/radius.h b/src/radius/radius.h
index 0f2420567..50cd26a60 100644
--- a/src/radius/radius.h
+++ b/src/radius/radius.h
@@ -212,6 +212,14 @@ enum {
 	RADIUS_VENDOR_ATTR_WFA_HS20_T_C_URL = 10,
 };
 
+/* HostAP */
+#define RADIUS_VENDOR_ID_HOSTAP 39068
+
+enum {
+	RADIUS_VENDOR_ATTR_HOSTAP_PROBE_IES = 0,
+	RADIUS_VENDOR_ATTR_HOSTAP_ASSOC_IES = 1,
+};
+
 #ifdef _MSC_VER
 #pragma pack(pop)
 #endif /* _MSC_VER */
-- 
2.20.1




More information about the Hostap mailing list