Add RADIUS Service-Type attribute with a value of Framed
This seems to be the common value used by APs and also mentioned in RFC 3580. Signed-off-by: Nick Lowe <nick.lowe@lugatech.com>
This commit is contained in:
parent
78dd5c11ac
commit
8c676b5056
4 changed files with 20 additions and 0 deletions
|
@ -404,6 +404,14 @@ 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)) {
|
||||
|
|
|
@ -173,6 +173,7 @@ static const struct radius_attr_type radius_attrs[] =
|
|||
{ RADIUS_ATTR_USER_PASSWORD, "User-Password", RADIUS_ATTR_UNDIST },
|
||||
{ RADIUS_ATTR_NAS_IP_ADDRESS, "NAS-IP-Address", RADIUS_ATTR_IP },
|
||||
{ RADIUS_ATTR_NAS_PORT, "NAS-Port", RADIUS_ATTR_INT32 },
|
||||
{ RADIUS_ATTR_SERVICE_TYPE, "Service-Type", RADIUS_ATTR_INT32 },
|
||||
{ RADIUS_ATTR_FRAMED_IP_ADDRESS, "Framed-IP-Address", RADIUS_ATTR_IP },
|
||||
{ RADIUS_ATTR_FRAMED_MTU, "Framed-MTU", RADIUS_ATTR_INT32 },
|
||||
{ RADIUS_ATTR_REPLY_MESSAGE, "Reply-Message", RADIUS_ATTR_TEXT },
|
||||
|
|
|
@ -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,
|
||||
|
@ -110,6 +111,9 @@ enum { RADIUS_ATTR_USER_NAME = 1,
|
|||
};
|
||||
|
||||
|
||||
/* Service-Type values (RFC 2865, 5.6) */
|
||||
#define RADIUS_SERVICE_TYPE_FRAMED 2
|
||||
|
||||
/* Termination-Action */
|
||||
#define RADIUS_TERMINATION_ACTION_DEFAULT 0
|
||||
#define RADIUS_TERMINATION_ACTION_RADIUS_REQUEST 1
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue