[PATCH] Define and make use of the Service-Type RADIUS attribute with a value of Framed.
Nick Lowe
nick.lowe at lugatech.com
Sat Feb 13 04:26:30 PST 2016
Define and make use of the Service-Type RADIUS attribute with a value of Framed.
Signed-off-by: Nick Lowe <nick.lowe at lugatech.com>
---
src/ap/ieee802_1x.c | 7 +++++++
src/radius/radius.h | 4 ++++
wpa_supplicant/eapol_test.c | 7 +++++++
3 files changed, 18 insertions(+)
diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c
index d399b1e..7e99684 100644
--- a/src/ap/ieee802_1x.c
+++ b/src/ap/ieee802_1x.c
@@ -405,6 +405,13 @@ static int add_common_radius_sta_attr(struct
hostapd_data *hapd,
char buf[128];
if (!hostapd_config_get_radius_attr(req_attr,
+ RADIUS_ATTR_SERVICE_TYPE) &&
+ !radius_msg_add_attr_int32(msg, RADIUS_ATTR_SERVICE_TYPE,
RADIUS_SERVICE_TYPE_FRAMED)) {
+ wpa_printf(MSG_ERROR, "Could not add Service-Type");
+ return -1;
+ }
+
+ if (!hostapd_config_get_radius_attr(req_attr,
RADIUS_ATTR_NAS_PORT) &&
!radius_msg_add_attr_int32(msg, RADIUS_ATTR_NAS_PORT, sta->aid)) {
wpa_printf(MSG_ERROR, "Could not add NAS-Port");
diff --git a/src/radius/radius.h b/src/radius/radius.h
index 313fc65..e641cfc 100644
--- a/src/radius/radius.h
+++ b/src/radius/radius.h
@@ -52,6 +52,7 @@ enum { RADIUS_ATTR_USER_NAME = 1,
RADIUS_ATTR_USER_PASSWORD = 2,
RADIUS_ATTR_NAS_IP_ADDRESS = 4,
RADIUS_ATTR_NAS_PORT = 5,
+ RADIUS_ATTR_SERVICE_TYPE = 6,
RADIUS_ATTR_FRAMED_IP_ADDRESS = 8,
RADIUS_ATTR_FRAMED_MTU = 12,
RADIUS_ATTR_REPLY_MESSAGE = 18,
@@ -109,6 +110,9 @@ enum { RADIUS_ATTR_USER_NAME = 1,
};
+/* Service-Type */
+#define RADIUS_SERVICE_TYPE_FRAMED 2
+
/* Termination-Action */
#define RADIUS_TERMINATION_ACTION_DEFAULT 0
#define RADIUS_TERMINATION_ACTION_RADIUS_REQUEST 1
diff --git a/wpa_supplicant/eapol_test.c b/wpa_supplicant/eapol_test.c
index 1aede79..6548bd1 100644
--- a/wpa_supplicant/eapol_test.c
+++ b/wpa_supplicant/eapol_test.c
@@ -258,6 +258,13 @@ static void ieee802_1x_encapsulate_radius(struct
eapol_test_data *e,
goto fail;
}
+ if (!find_extra_attr(e->extra_attrs, RADIUS_ATTR_SERVICE_TYPE) &&
+ !radius_msg_add_attr_int32(msg, RADIUS_ATTR_SERVICE_TYPE,
+ RADIUS_SERVICE_TYPE_FRAMED)) {
+ printf("Could not add Service-Type\n");
+ goto fail;
+ }
+
os_snprintf(buf, sizeof(buf), "%s", e->connect_info);
if (!find_extra_attr(e->extra_attrs, RADIUS_ATTR_CONNECT_INFO) &&
!radius_msg_add_attr(msg, RADIUS_ATTR_CONNECT_INFO,
--
2.5.0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Define-and-make-use-of-the-Service-Type-RADIUS-attri.patch
Type: text/x-patch
Size: 2583 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/hostap/attachments/20160213/39a1075d/attachment.bin>
More information about the Hostap
mailing list