radius_attributes.h File Reference

Formatting and parsing of RADIUS attributes. More...

#include "radius/radius.h"

Go to the source code of this file.

Macros

#define RADIUS_MAX_ATTR_VALUE_LEN   253
 

Enumerations

enum  RadiusAttributeType {
  RADIUS_ATTR_USER_NAME = 1, RADIUS_ATTR_USER_PASSWORD = 2, RADIUS_ATTR_CHAP_PASSWORD = 3, RADIUS_ATTR_NAS_IP_ADDR = 4,
  RADIUS_ATTR_NAS_PORT = 5, RADIUS_ATTR_SERVICE_TYPE = 6, RADIUS_ATTR_FRAMED_PROTOCOL = 7, RADIUS_ATTR_FRAMED_IP_ADDR = 8,
  RADIUS_ATTR_FRAMED_IP_NETMASK = 9, RADIUS_ATTR_FRAMED_ROUTING = 10, RADIUS_ATTR_FILTER_ID = 11, RADIUS_ATTR_FRAMED_MTU = 12,
  RADIUS_ATTR_FRAMED_COMPRESSION = 13, RADIUS_ATTR_LOGIN_IP_HOST = 14, RADIUS_ATTR_LOGIN_SERVICE = 15, RADIUS_ATTR_LOGIN_TCP_PORT = 16,
  RADIUS_ATTR_REPLY_MESSAGE = 18, RADIUS_ATTR_CALLBACK_NUMBER = 19, RADIUS_ATTR_CALLBACK_ID = 20, RADIUS_ATTR_FRAMED_ROUTE = 22,
  RADIUS_ATTR_FRAMED_IPX_NETWORK = 23, RADIUS_ATTR_STATE = 24, RADIUS_ATTR_CLASS = 25, RADIUS_ATTR_VENDOR_SPECIFIC = 26,
  RADIUS_ATTR_SESSION_TIMEOUT = 27, RADIUS_ATTR_IDLE_TIMEOUT = 28, RADIUS_ATTR_TERMINATION_ACTION = 29, RADIUS_ATTR_CALLED_STATION_ID = 30,
  RADIUS_ATTR_CALLING_STATION_ID = 31, RADIUS_ATTR_NAS_IDENTIFIER = 32, RADIUS_ATTR_PROXY_STATE = 33, RADIUS_ATTR_LOGIN_LAT_SERVICE = 34,
  RADIUS_ATTR_LOGIN_LAT_NODE = 35, RADIUS_ATTR_LOGIN_LAT_GROUP = 36, RADIUS_ATTR_FRAMED_APPLETALK_LINK = 37, RADIUS_ATTR_FRAMED_APPLETALK_NETWORK = 38,
  RADIUS_ATTR_FRAMED_APPLETALK_ZONE = 39, RADIUS_ATTR_ACCT_STATUS_TYPE = 40, RADIUS_ATTR_ACCT_DELAY_TIME = 41, RADIUS_ATTR_ACCT_INPUT_OCTETS = 42,
  RADIUS_ATTR_ACCT_OUTPUT_OCTETS = 43, RADIUS_ATTR_ACCT_SESSION_ID = 44, RADIUS_ATTR_ACCT_AUTHENTIC = 45, RADIUS_ATTR_ACCT_SESSION_TIME = 46,
  RADIUS_ATTR_ACCT_INPUT_PACKETS = 47, RADIUS_ATTR_ACCT_OUTPUT_PACKETS = 48, RADIUS_ATTR_ACCT_TERMINATE_CAUSE = 49, RADIUS_ATTR_ACCT_MULTI_SESSION_ID = 50,
  RADIUS_ATTR_ACCT_LINK_COUNT = 51, RADIUS_ATTR_ACCT_INPUT_GIGAWORDS = 52, RADIUS_ATTR_ACCT_OUTPUT_GIGAWORDS = 53, RADIUS_ATTR_EVENT_TIMESTAMP = 55,
  RADIUS_ATTR_EGRESS_VLANID = 56, RADIUS_ATTR_INGRESS_FILTERS = 57, RADIUS_ATTR_EGRESS_VLAN_NAME = 58, RADIUS_ATTR_USER_PRIORITY_TABLE = 59,
  RADIUS_ATTR_CHAP_CHALLENGE = 60, RADIUS_ATTR_NAS_PORT_TYPE = 61, RADIUS_ATTR_PORT_LIMIT = 62, RADIUS_ATTR_LOGIN_LAT_PORT = 63,
  RADIUS_ATTR_TUNNEL_TYPE = 64, RADIUS_ATTR_TUNNEL_MEDIUM_TYPE = 65, RADIUS_ATTR_TUNNEL_CLIENT_ENDPOINT = 66, RADIUS_ATTR_TUNNEL_SERVER_ENDPOINT = 67,
  RADIUS_ATTR_ACCT_TUNNEL_CONNECTION = 68, RADIUS_ATTR_TUNNEL_PASSWORD = 69, RADIUS_ATTR_ARAP_PASSWORD = 70, RADIUS_ATTR_ARAP_FEATURES = 71,
  RADIUS_ATTR_ARAP_ZONE_ACCESS = 72, RADIUS_ATTR_ARAP_SECURITY = 73, RADIUS_ATTR_ARAP_SECURITY_DATA = 74, RADIUS_ATTR_PASSWORD_RETRY = 75,
  RADIUS_ATTR_PROMPT = 76, RADIUS_ATTR_CONNECT_INFO = 77, RADIUS_ATTR_CONFIGURATION_TOKEN = 78, RADIUS_ATTR_EAP_MESSAGE = 79,
  RADIUS_ATTR_MESSAGE_AUTHENTICATOR = 80, RADIUS_ATTR_TUNNEL_PRIVATE_GROUP_ID = 81, RADIUS_ATTR_TUNNEL_ASSIGNMENT_ID = 82, RADIUS_ATTR_TUNNEL_PREFERENCE = 83,
  RADIUS_ATTR_ARAP_CHALLENGE_RESPONSE = 84, RADIUS_ATTR_ACCT_INTERIM_INTERVAL = 85, RADIUS_ATTR_ACCT_TUNNEL_PACKETS_LOST = 86, RADIUS_ATTR_NAS_PORT_ID = 87,
  RADIUS_ATTR_FRAMED_POOL = 88, RADIUS_ATTR_CUI = 89, RADIUS_ATTR_TUNNEL_CLIENT_AUTH_ID = 90, RADIUS_ATTR_TUNNEL_SERVER_AUTH_ID = 91,
  RADIUS_ATTR_NAS_FILTER_RULE = 92, RADIUS_ATTR_ORIGINATING_LINE_INFO = 94, RADIUS_ATTR_NAS_IPV6_ADDR = 95, RADIUS_ATTR_FRAMED_INTERFACE_ID = 96,
  RADIUS_ATTR_FRAMED_IPV6_PREFIX = 97, RADIUS_ATTR_LOGIN_IPV6_HOST = 98, RADIUS_ATTR_FRAMED_IPV6_ROUTE = 99, RADIUS_ATTR_FRAMED_IPV6_POOL = 100,
  RADIUS_ATTR_ERROR_CAUSE = 101, RADIUS_ATTR_EAP_KEY_NAME = 102, RADIUS_ATTR_DIGEST_RESPONSE = 103, RADIUS_ATTR_DIGEST_REALM = 104,
  RADIUS_ATTR_DIGEST_NONCE = 105, RADIUS_ATTR_DIGEST_RESPONSE_AUTH = 106, RADIUS_ATTR_DIGEST_NEXTNONCE = 107, RADIUS_ATTR_DIGEST_METHOD = 108,
  RADIUS_ATTR_DIGEST_URI = 109, RADIUS_ATTR_DIGEST_QOP = 110, RADIUS_ATTR_DIGEST_ALGORITHM = 111, RADIUS_ATTR_DIGEST_ENTITY_BODY_HASH = 112,
  RADIUS_ATTR_DIGEST_CNONCE = 113, RADIUS_ATTR_DIGEST_NONCE_COUNT = 114, RADIUS_ATTR_DIGEST_USERNAME = 115, RADIUS_ATTR_DIGEST_OPAQUE = 116,
  RADIUS_ATTR_DIGEST_AUTH_PARAM = 117, RADIUS_ATTR_DIGEST_AKA_AUTS = 118, RADIUS_ATTR_DIGEST_DOMAIN = 119, RADIUS_ATTR_DIGEST_STALE = 120,
  RADIUS_ATTR_DIGEST_HA1 = 121, RADIUS_ATTR_SIP_AOR = 122, RADIUS_ATTR_DELEGATED_IPV6_PREFIX = 123, RADIUS_ATTR_MIP6_FEATURE_VECTOR = 124,
  RADIUS_ATTR_MIP6_HOME_LINK_PREFIX = 125, RADIUS_ATTR_OPERATOR_NAME = 126, RADIUS_ATTR_LOCATION_INFORMATION = 127, RADIUS_ATTR_LOCATION_DATA = 128,
  RADIUS_ATTR_BASIC_LOCATION_POLICY_RULES = 129, RADIUS_ATTR_EXTENDED_LOCATION_POLICY_RULES = 130, RADIUS_ATTR_LOCATION_CAPABLE = 131, RADIUS_ATTR_REQUESTED_LOCATION_INFO = 132,
  RADIUS_ATTR_FRAMED_MANAGEMENT_PROTOCOL = 133, RADIUS_ATTR_MANAGEMENT_TRANSPORT_PROTECTION = 134, RADIUS_ATTR_MANAGEMENT_POLICY_ID = 135, RADIUS_ATTR_MANAGEMENT_PRIVILEGE_LEVEL = 136,
  RADIUS_ATTR_PKM_SS_CERT = 137, RADIUS_ATTR_PKM_CA_CERT = 138, RADIUS_ATTR_PKM_CONFIG_SETTINGS = 139, RADIUS_ATTR_PKM_CRYPTOSUITE_LIST = 140,
  RADIUS_ATTR_PKM_SAID = 141, RADIUS_ATTR_PKM_SA_DESCRIPTOR = 142, RADIUS_ATTR_PKM_AUTH_KEY = 143, RADIUS_ATTR_DS_LITE_TUNNEL_NAME = 144,
  RADIUS_ATTR_MOBILE_NODE_IDENTIFIER = 145, RADIUS_ATTR_SERVICE_SELECTION = 146, RADIUS_ATTR_PMIP6_HOME_LMA_IPV6_ADDR = 147, RADIUS_ATTR_PMIP6_VISITED_LMA_IPV6_ADDR = 148,
  RADIUS_ATTR_PMIP6_HOME_LMA_IPV4_ADDR = 149, RADIUS_ATTR_PMIP6_VISITED_LMA_IPV4_ADDR = 150, RADIUS_ATTR_PMIP6_HOME_HN_PREFIX = 151, RADIUS_ATTR_PMIP6_VISITED_HN_PREFIX = 152,
  RADIUS_ATTR_PMIP6_HOME_INTERFACE_ID = 153, RADIUS_ATTR_PMIP6_VISITED_INTERFACE_ID = 154, RADIUS_ATTR_PMIP6_HOME_IPV4_HOA = 155, RADIUS_ATTR_PMIP6_VISITED_IPV4_HOA = 156,
  RADIUS_ATTR_PMIP6_HOME_DHCP4_SERVER_ADDR = 157, RADIUS_ATTR_PMIP6_VISITED_DHCP4_SERVER_ADDR = 158, RADIUS_ATTR_PMIP6_HOME_DHCP6_SERVER_ADDR = 159, RADIUS_ATTR_PMIP6_VISITED_DHCP6_SERVER_ADDR = 160,
  RADIUS_ATTR_PMIP6_HOME_IPV4_GATEWAY = 161, RADIUS_ATTR_PMIP6_VISITED_IPV4_GATEWAY = 162, RADIUS_ATTR_EAP_LOWER_LAYER = 163, RADIUS_ATTR_GSS_ACCEPTOR_SERVICE_NAME = 164,
  RADIUS_ATTR_GSS_ACCEPTOR_HOST_NAME = 165, RADIUS_ATTR_GSS_ACCEPTOR_SERVICE_SPECIFICS = 166, RADIUS_ATTR_GSS_ACCEPTOR_REALM_NAME = 167, RADIUS_ATTR_FRAMED_IPV6_ADDR = 168,
  RADIUS_ATTR_DNS_SERVER_IPV6_ADDR = 169, RADIUS_ATTR_ROUTE_IPV6_INFORMATION = 170, RADIUS_ATTR_DELEGATED_IPV6_PREFIX_POOL = 171, RADIUS_ATTR_STATEFUL_IPV6_ADDR_POOL = 172,
  RADIUS_ATTR_IPV6_6RD_CONFIGURATION = 173, RADIUS_ATTR_ALLOWED_CALLED_STATION_ID = 174, RADIUS_ATTR_EAP_PEER_ID = 175, RADIUS_ATTR_EAP_SERVER_ID = 176,
  RADIUS_ATTR_MOBILITY_DOMAIN_ID = 177, RADIUS_ATTR_PREAUTH_TIMEOUT = 178, RADIUS_ATTR_NETWORK_ID_NAME = 179, RADIUS_ATTR_EAPOL_ANNOUNCEMENT = 180,
  RADIUS_ATTR_WLAN_HESSID = 181, RADIUS_ATTR_WLAN_VENUE_INFO = 182, RADIUS_ATTR_WLAN_VENUE_LANGUAGE = 183, RADIUS_ATTR_WLAN_VENUE_NAME = 184,
  RADIUS_ATTR_WLAN_REASON_CODE = 185, RADIUS_ATTR_WLAN_PAIRWISE_CIPHER = 186, RADIUS_ATTR_WLAN_GROUP_CIPHER = 187, RADIUS_ATTR_WLAN_AKM_SUITE = 188,
  RADIUS_ATTR_WLAN_GROUP_MGMT_CIPHER = 189, RADIUS_ATTR_WLAN_RF_BAND = 190, RADIUS_ATTR_EXTENDED_ATTR_1 = 241, RADIUS_ATTR_EXTENDED_ATTR_2 = 242,
  RADIUS_ATTR_EXTENDED_ATTR_3 = 243, RADIUS_ATTR_EXTENDED_ATTR_4 = 244, RADIUS_ATTR_EXTENDED_ATTR_5 = 245, RADIUS_ATTR_EXTENDED_ATTR_6 = 246
}
 Attribute types. More...
 
enum  RadiusServiceType {
  RADIUS_SERVICE_TYPE_LOGIN = 1, RADIUS_SERVICE_TYPE_FRAMED = 2, RADIUS_SERVICE_TYPE_CALLBACK_LOGIN = 3, RADIUS_SERVICE_TYPE_CALLBACK_FRAMED = 4,
  RADIUS_SERVICE_TYPE_OUTBOUND = 5, RADIUS_SERVICE_TYPE_ADMINISTRATIVE = 6, RADIUS_SERVICE_TYPE_NAS_PROMPT = 7, RADIUS_SERVICE_TYPE_AUTHENTICATE_ONLY = 8,
  RADIUS_SERVICE_TYPE_CALLBACK_NAS_PROMPT = 9, RADIUS_SERVICE_TYPE_CALL_CHECK = 10, RADIUS_SERVICE_TYPE_CALLBACK_ADMINISTRATIVE = 11
}
 Service types. More...
 
enum  RadiusPortType {
  RADIUS_PORT_TYPE_ASYNC = 0, RADIUS_PORT_TYPE_SYNC = 1, RADIUS_PORT_TYPE_ISDN_SYNC = 2, RADIUS_PORT_TYPE_ISDN_ASYNC_V120 = 3,
  RADIUS_PORT_TYPE_ISDN_ASYNC_V110 = 4, RADIUS_PORT_TYPE_VIRTUAL = 5, RADIUS_PORT_TYPE_PIAFS = 6, RADIUS_PORT_TYPE_HDLC_CLEAR_CHANNEL = 7,
  RADIUS_PORT_TYPE_X25 = 8, RADIUS_PORT_TYPE_X75 = 9, RADIUS_PORT_TYPE_G3_FAX = 10, RADIUS_PORT_TYPE_SDSL = 11,
  RADIUS_PORT_TYPE_ADSL_CAP = 12, RADIUS_PORT_TYPE_ADSL_DMT = 13, RADIUS_PORT_TYPE_IDSL = 14, RADIUS_PORT_TYPE_ETHERNET = 15,
  RADIUS_PORT_TYPE_XDSL = 16, RADIUS_PORT_TYPE_CABLE = 17, RADIUS_PORT_TYPE_WIRELESS_OTHER = 18, RADIUS_PORT_TYPE_WIRELESS_IEEE_802_11 = 19
}
 Service types. More...
 

Functions

void radiusAddAttribute (RadiusPacket *packet, uint8_t type, const void *value, size_t length)
 Append an attribute to a RADIUS packet. More...
 
const RadiusAttributeradiusGetAttribute (const RadiusPacket *packet, uint8_t type, uint_t index)
 Search a RADIUS packet for a given attribute. More...
 

Variables

typedef __packed_struct
 Attribute. More...
 
uint8_t length
 
uint8_t value []
 
 RadiusAttribute
 

Detailed Description

Formatting and parsing of RADIUS attributes.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2022-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneEAP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.2

Definition in file radius_attributes.h.

Macro Definition Documentation

◆ RADIUS_MAX_ATTR_VALUE_LEN

#define RADIUS_MAX_ATTR_VALUE_LEN   253

Definition at line 38 of file radius_attributes.h.

Enumeration Type Documentation

◆ RadiusAttributeType

Attribute types.

Enumerator
RADIUS_ATTR_USER_NAME 

User-Name.

RADIUS_ATTR_USER_PASSWORD 

User-Password.

RADIUS_ATTR_CHAP_PASSWORD 

CHAP-Password.

RADIUS_ATTR_NAS_IP_ADDR 

NAS-IP-Address.

RADIUS_ATTR_NAS_PORT 

NAS-Port.

RADIUS_ATTR_SERVICE_TYPE 

Service-Type.

RADIUS_ATTR_FRAMED_PROTOCOL 

Framed-Protocol.

RADIUS_ATTR_FRAMED_IP_ADDR 

Framed-IP-Address.

RADIUS_ATTR_FRAMED_IP_NETMASK 

Framed-IP-Netmask.

RADIUS_ATTR_FRAMED_ROUTING 

Framed-Routing.

RADIUS_ATTR_FILTER_ID 

Filter-Id.

RADIUS_ATTR_FRAMED_MTU 

Framed-MTU.

RADIUS_ATTR_FRAMED_COMPRESSION 

Framed-Compression.

RADIUS_ATTR_LOGIN_IP_HOST 

Login-IP-Host.

RADIUS_ATTR_LOGIN_SERVICE 

Login-Service.

RADIUS_ATTR_LOGIN_TCP_PORT 

Login-TCP-Port.

RADIUS_ATTR_REPLY_MESSAGE 

Reply-Message.

RADIUS_ATTR_CALLBACK_NUMBER 

Callback-Number.

RADIUS_ATTR_CALLBACK_ID 

Callback-Id.

RADIUS_ATTR_FRAMED_ROUTE 

Framed-Route.

RADIUS_ATTR_FRAMED_IPX_NETWORK 

Framed-IPX-Network.

RADIUS_ATTR_STATE 

State.

RADIUS_ATTR_CLASS 

Class.

RADIUS_ATTR_VENDOR_SPECIFIC 

Vendor-Specific.

RADIUS_ATTR_SESSION_TIMEOUT 

Session-Timeout.

RADIUS_ATTR_IDLE_TIMEOUT 

Idle-Timeout.

RADIUS_ATTR_TERMINATION_ACTION 

Termination-Action.

RADIUS_ATTR_CALLED_STATION_ID 

Called-Station-Id.

RADIUS_ATTR_CALLING_STATION_ID 

Calling-Station-Id.

RADIUS_ATTR_NAS_IDENTIFIER 

NAS-Identifier.

RADIUS_ATTR_PROXY_STATE 

Proxy-State.

RADIUS_ATTR_LOGIN_LAT_SERVICE 

Login-LAT-Service.

RADIUS_ATTR_LOGIN_LAT_NODE 

Login-LAT-Node.

RADIUS_ATTR_LOGIN_LAT_GROUP 

Login-LAT-Group.

RADIUS_ATTR_FRAMED_APPLETALK_LINK 

Framed-AppleTalk-Link.

RADIUS_ATTR_FRAMED_APPLETALK_NETWORK 

Framed-AppleTalk-Network.

RADIUS_ATTR_FRAMED_APPLETALK_ZONE 

Framed-AppleTalk-Zone.

RADIUS_ATTR_ACCT_STATUS_TYPE 

Acct-Status-Type.

RADIUS_ATTR_ACCT_DELAY_TIME 

Acct-Delay-Time.

RADIUS_ATTR_ACCT_INPUT_OCTETS 

Acct-Input-Octets.

RADIUS_ATTR_ACCT_OUTPUT_OCTETS 

Acct-Output-Octets.

RADIUS_ATTR_ACCT_SESSION_ID 

Acct-Session-Id.

RADIUS_ATTR_ACCT_AUTHENTIC 

Acct-Authentic.

RADIUS_ATTR_ACCT_SESSION_TIME 

Acct-Session-Time.

RADIUS_ATTR_ACCT_INPUT_PACKETS 

Acct-Input-Packets.

RADIUS_ATTR_ACCT_OUTPUT_PACKETS 

Acct-Output-Packets.

RADIUS_ATTR_ACCT_TERMINATE_CAUSE 

Acct-Terminate-Cause.

RADIUS_ATTR_ACCT_MULTI_SESSION_ID 

Acct-Multi-Session-Id.

RADIUS_ATTR_ACCT_LINK_COUNT 

Acct-Link-Count.

RADIUS_ATTR_ACCT_INPUT_GIGAWORDS 

Acct-Input-Gigawords.

RADIUS_ATTR_ACCT_OUTPUT_GIGAWORDS 

Acct-Output-Gigawords.

RADIUS_ATTR_EVENT_TIMESTAMP 

Event-Timestamp.

RADIUS_ATTR_EGRESS_VLANID 

Egress-VLANID.

RADIUS_ATTR_INGRESS_FILTERS 

Ingress-Filters.

RADIUS_ATTR_EGRESS_VLAN_NAME 

Egress-VLAN-Name.

RADIUS_ATTR_USER_PRIORITY_TABLE 

User-Priority-Table.

RADIUS_ATTR_CHAP_CHALLENGE 

CHAP-Challenge.

RADIUS_ATTR_NAS_PORT_TYPE 

NAS-Port-Type.

RADIUS_ATTR_PORT_LIMIT 

Port-Limit.

RADIUS_ATTR_LOGIN_LAT_PORT 

Login-LAT-Port.

RADIUS_ATTR_TUNNEL_TYPE 

Tunnel-Type.

RADIUS_ATTR_TUNNEL_MEDIUM_TYPE 

Tunnel-Medium-Type.

RADIUS_ATTR_TUNNEL_CLIENT_ENDPOINT 

Tunnel-Client-Endpoint.

RADIUS_ATTR_TUNNEL_SERVER_ENDPOINT 

Tunnel-Server-Endpoint.

RADIUS_ATTR_ACCT_TUNNEL_CONNECTION 

Acct-Tunnel-Connection.

RADIUS_ATTR_TUNNEL_PASSWORD 

Tunnel-Password.

RADIUS_ATTR_ARAP_PASSWORD 

ARAP-Password.

RADIUS_ATTR_ARAP_FEATURES 

ARAP-Features.

RADIUS_ATTR_ARAP_ZONE_ACCESS 

ARAP-Zone-Access.

RADIUS_ATTR_ARAP_SECURITY 

ARAP-Security.

RADIUS_ATTR_ARAP_SECURITY_DATA 

ARAP-Security-Data.

RADIUS_ATTR_PASSWORD_RETRY 

Password-Retry.

RADIUS_ATTR_PROMPT 

Prompt.

RADIUS_ATTR_CONNECT_INFO 

Connect-Info.

RADIUS_ATTR_CONFIGURATION_TOKEN 

Configuration-Token.

RADIUS_ATTR_EAP_MESSAGE 

EAP-Message.

RADIUS_ATTR_MESSAGE_AUTHENTICATOR 

Message-Authenticator.

RADIUS_ATTR_TUNNEL_PRIVATE_GROUP_ID 

Tunnel-Private-Group-ID.

RADIUS_ATTR_TUNNEL_ASSIGNMENT_ID 

Tunnel-Assignment-ID.

RADIUS_ATTR_TUNNEL_PREFERENCE 

Tunnel-Preference.

RADIUS_ATTR_ARAP_CHALLENGE_RESPONSE 

ARAP-Challenge-Response.

RADIUS_ATTR_ACCT_INTERIM_INTERVAL 

Acct-Interim-Interval.

RADIUS_ATTR_ACCT_TUNNEL_PACKETS_LOST 

Acct-Tunnel-Packets-Lost.

RADIUS_ATTR_NAS_PORT_ID 

NAS-Port-Id.

RADIUS_ATTR_FRAMED_POOL 

Framed-Pool.

RADIUS_ATTR_CUI 

CUI.

RADIUS_ATTR_TUNNEL_CLIENT_AUTH_ID 

Tunnel-Client-Auth-ID.

RADIUS_ATTR_TUNNEL_SERVER_AUTH_ID 

Tunnel-Server-Auth-ID.

RADIUS_ATTR_NAS_FILTER_RULE 

NAS-Filter-Rule.

RADIUS_ATTR_ORIGINATING_LINE_INFO 

Originating-Line-Info.

RADIUS_ATTR_NAS_IPV6_ADDR 

NAS-IPv6-Address.

RADIUS_ATTR_FRAMED_INTERFACE_ID 

Framed-Interface-Id.

RADIUS_ATTR_FRAMED_IPV6_PREFIX 

Framed-IPv6-Prefix.

RADIUS_ATTR_LOGIN_IPV6_HOST 

Login-IPv6-Host.

RADIUS_ATTR_FRAMED_IPV6_ROUTE 

Framed-IPv6-Route.

RADIUS_ATTR_FRAMED_IPV6_POOL 

Framed-IPv6-Pool.

RADIUS_ATTR_ERROR_CAUSE 

Error-Cause.

RADIUS_ATTR_EAP_KEY_NAME 

EAP-Key-Name.

RADIUS_ATTR_DIGEST_RESPONSE 

Digest-Response.

RADIUS_ATTR_DIGEST_REALM 

Digest-Realm.

RADIUS_ATTR_DIGEST_NONCE 

Digest-Nonce.

RADIUS_ATTR_DIGEST_RESPONSE_AUTH 

Digest-Response-Auth.

RADIUS_ATTR_DIGEST_NEXTNONCE 

Digest-Nextnonce.

RADIUS_ATTR_DIGEST_METHOD 

Digest-Method.

RADIUS_ATTR_DIGEST_URI 

Digest-URI.

RADIUS_ATTR_DIGEST_QOP 

Digest-Qop.

RADIUS_ATTR_DIGEST_ALGORITHM 

Digest-Algorithm.

RADIUS_ATTR_DIGEST_ENTITY_BODY_HASH 

Digest-Entity-Body-Hash.

RADIUS_ATTR_DIGEST_CNONCE 

Digest-CNonce.

RADIUS_ATTR_DIGEST_NONCE_COUNT 

Digest-Nonce-Count.

RADIUS_ATTR_DIGEST_USERNAME 

Digest-Username.

RADIUS_ATTR_DIGEST_OPAQUE 

Digest-Opaque.

RADIUS_ATTR_DIGEST_AUTH_PARAM 

Digest-Auth-Param.

RADIUS_ATTR_DIGEST_AKA_AUTS 

Digest-AKA-Auts.

RADIUS_ATTR_DIGEST_DOMAIN 

Digest-Domain.

RADIUS_ATTR_DIGEST_STALE 

Digest-Stale.

RADIUS_ATTR_DIGEST_HA1 

Digest-HA1.

RADIUS_ATTR_SIP_AOR 

SIP-AOR.

RADIUS_ATTR_DELEGATED_IPV6_PREFIX 

Delegated-IPv6-Prefix.

RADIUS_ATTR_MIP6_FEATURE_VECTOR 

MIP6-Feature-Vector.

RADIUS_ATTR_MIP6_HOME_LINK_PREFIX 

MIP6-Home-Link-Prefix.

RADIUS_ATTR_OPERATOR_NAME 

Operator-Name.

RADIUS_ATTR_LOCATION_INFORMATION 

Location-Information.

RADIUS_ATTR_LOCATION_DATA 

Location-Data.

RADIUS_ATTR_BASIC_LOCATION_POLICY_RULES 

Basic-Location-Policy-Rules.

RADIUS_ATTR_EXTENDED_LOCATION_POLICY_RULES 

Extended-Location-Policy-Rules.

RADIUS_ATTR_LOCATION_CAPABLE 

Location-Capable.

RADIUS_ATTR_REQUESTED_LOCATION_INFO 

Requested-Location-Info.

RADIUS_ATTR_FRAMED_MANAGEMENT_PROTOCOL 

Framed-Management-Protocol.

RADIUS_ATTR_MANAGEMENT_TRANSPORT_PROTECTION 

Management-Transport-Protection.

RADIUS_ATTR_MANAGEMENT_POLICY_ID 

Management-Policy-Id.

RADIUS_ATTR_MANAGEMENT_PRIVILEGE_LEVEL 

Management-Privilege-Level.

RADIUS_ATTR_PKM_SS_CERT 

PKM-SS-Cert.

RADIUS_ATTR_PKM_CA_CERT 

PKM-CA-Cert.

RADIUS_ATTR_PKM_CONFIG_SETTINGS 

PKM-Config-Settings.

RADIUS_ATTR_PKM_CRYPTOSUITE_LIST 

PKM-Cryptosuite-List.

RADIUS_ATTR_PKM_SAID 

PKM-SAID.

RADIUS_ATTR_PKM_SA_DESCRIPTOR 

PKM-SA-Descriptor.

RADIUS_ATTR_PKM_AUTH_KEY 

PKM-Auth-Key.

RADIUS_ATTR_DS_LITE_TUNNEL_NAME 

DS-Lite-Tunnel-Name.

RADIUS_ATTR_MOBILE_NODE_IDENTIFIER 

Mobile-Node-Identifier.

RADIUS_ATTR_SERVICE_SELECTION 

Service-Selection.

RADIUS_ATTR_PMIP6_HOME_LMA_IPV6_ADDR 

PMIP6-Home-LMA-IPv6-Address.

RADIUS_ATTR_PMIP6_VISITED_LMA_IPV6_ADDR 

PMIP6-Visited-LMA-IPv6-Address.

RADIUS_ATTR_PMIP6_HOME_LMA_IPV4_ADDR 

PMIP6-Home-LMA-IPv4-Address.

RADIUS_ATTR_PMIP6_VISITED_LMA_IPV4_ADDR 

PMIP6-Visited-LMA-IPv4-Address.

RADIUS_ATTR_PMIP6_HOME_HN_PREFIX 

PMIP6-Home-HN-Prefix.

RADIUS_ATTR_PMIP6_VISITED_HN_PREFIX 

PMIP6-Visited-HN-Prefix.

RADIUS_ATTR_PMIP6_HOME_INTERFACE_ID 

PMIP6-Home-Interface-ID.

RADIUS_ATTR_PMIP6_VISITED_INTERFACE_ID 

PMIP6-Visited-Interface-ID.

RADIUS_ATTR_PMIP6_HOME_IPV4_HOA 

PMIP6-Home-IPv4-HoA.

RADIUS_ATTR_PMIP6_VISITED_IPV4_HOA 

PMIP6-Visited-IPv4-HoA.

RADIUS_ATTR_PMIP6_HOME_DHCP4_SERVER_ADDR 

PMIP6-Home-DHCP4-Server-Address.

RADIUS_ATTR_PMIP6_VISITED_DHCP4_SERVER_ADDR 

PMIP6-Visited-DHCP4-Server-Address.

RADIUS_ATTR_PMIP6_HOME_DHCP6_SERVER_ADDR 

PMIP6-Home-DHCP6-Server-Address.

RADIUS_ATTR_PMIP6_VISITED_DHCP6_SERVER_ADDR 

PMIP6-Visited-DHCP6-Server-Address.

RADIUS_ATTR_PMIP6_HOME_IPV4_GATEWAY 

PMIP6-Home-IPv4-Gateway.

RADIUS_ATTR_PMIP6_VISITED_IPV4_GATEWAY 

PMIP6-Visited-IPv4-Gateway.

RADIUS_ATTR_EAP_LOWER_LAYER 

EAP-Lower-Layer.

RADIUS_ATTR_GSS_ACCEPTOR_SERVICE_NAME 

GSS-Acceptor-Service-Name.

RADIUS_ATTR_GSS_ACCEPTOR_HOST_NAME 

GSS-Acceptor-Host-Name.

RADIUS_ATTR_GSS_ACCEPTOR_SERVICE_SPECIFICS 

GSS-Acceptor-Service-Specifics.

RADIUS_ATTR_GSS_ACCEPTOR_REALM_NAME 

GSS-Acceptor-Realm-Name.

RADIUS_ATTR_FRAMED_IPV6_ADDR 

Framed-IPv6-Address.

RADIUS_ATTR_DNS_SERVER_IPV6_ADDR 

DNS-Server-IPv6-Address.

RADIUS_ATTR_ROUTE_IPV6_INFORMATION 

Route-IPv6-Information.

RADIUS_ATTR_DELEGATED_IPV6_PREFIX_POOL 

Delegated-IPv6-Prefix-Pool.

RADIUS_ATTR_STATEFUL_IPV6_ADDR_POOL 

Stateful-IPv6-Address-Pool.

RADIUS_ATTR_IPV6_6RD_CONFIGURATION 

IPv6-6rd-Configuration.

RADIUS_ATTR_ALLOWED_CALLED_STATION_ID 

Allowed-Called-Station-Id.

RADIUS_ATTR_EAP_PEER_ID 

EAP-Peer-Id.

RADIUS_ATTR_EAP_SERVER_ID 

EAP-Server-Id.

RADIUS_ATTR_MOBILITY_DOMAIN_ID 

Mobility-Domain-Id.

RADIUS_ATTR_PREAUTH_TIMEOUT 

Preauth-Timeout.

RADIUS_ATTR_NETWORK_ID_NAME 

Network-Id-Name.

RADIUS_ATTR_EAPOL_ANNOUNCEMENT 

EAPoL-Announcement.

RADIUS_ATTR_WLAN_HESSID 

WLAN-HESSID.

RADIUS_ATTR_WLAN_VENUE_INFO 

WLAN-Venue-Info.

RADIUS_ATTR_WLAN_VENUE_LANGUAGE 

WLAN-Venue-Language.

RADIUS_ATTR_WLAN_VENUE_NAME 

WLAN-Venue-Name.

RADIUS_ATTR_WLAN_REASON_CODE 

WLAN-Reason-Code.

RADIUS_ATTR_WLAN_PAIRWISE_CIPHER 

WLAN-Pairwise-Cipher.

RADIUS_ATTR_WLAN_GROUP_CIPHER 

WLAN-Group-Cipher.

RADIUS_ATTR_WLAN_AKM_SUITE 

WLAN-AKM-Suite.

RADIUS_ATTR_WLAN_GROUP_MGMT_CIPHER 

WLAN-Group-Mgmt-Cipher.

RADIUS_ATTR_WLAN_RF_BAND 

WLAN-RF-Band.

RADIUS_ATTR_EXTENDED_ATTR_1 

Extended-Attribute-1.

RADIUS_ATTR_EXTENDED_ATTR_2 

Extended-Attribute-2.

RADIUS_ATTR_EXTENDED_ATTR_3 

Extended-Attribute-3.

RADIUS_ATTR_EXTENDED_ATTR_4 

Extended-Attribute-4.

RADIUS_ATTR_EXTENDED_ATTR_5 

Extended-Attribute-5.

RADIUS_ATTR_EXTENDED_ATTR_6 

Extended-Attribute-6.

Definition at line 50 of file radius_attributes.h.

◆ RadiusPortType

Service types.

Enumerator
RADIUS_PORT_TYPE_ASYNC 

Async.

RADIUS_PORT_TYPE_SYNC 

Sync.

RADIUS_PORT_TYPE_ISDN_SYNC 

ISDN Sync.

RADIUS_PORT_TYPE_ISDN_ASYNC_V120 

ISDN Async V.120.

RADIUS_PORT_TYPE_ISDN_ASYNC_V110 

ISDN Async V.110.

RADIUS_PORT_TYPE_VIRTUAL 

Virtual.

RADIUS_PORT_TYPE_PIAFS 

PIAFS.

RADIUS_PORT_TYPE_HDLC_CLEAR_CHANNEL 

HDLC Clear Channel.

RADIUS_PORT_TYPE_X25 

X.25.

RADIUS_PORT_TYPE_X75 

X.75.

RADIUS_PORT_TYPE_G3_FAX 

G.3 Fax.

RADIUS_PORT_TYPE_SDSL 

SDSL.

RADIUS_PORT_TYPE_ADSL_CAP 

ADSL-CAP.

RADIUS_PORT_TYPE_ADSL_DMT 

ADSL-DMT.

RADIUS_PORT_TYPE_IDSL 

IDSL.

RADIUS_PORT_TYPE_ETHERNET 

Ethernet.

RADIUS_PORT_TYPE_XDSL 

xDSL

RADIUS_PORT_TYPE_CABLE 

Cable.

RADIUS_PORT_TYPE_WIRELESS_OTHER 

Wireless - Other.

RADIUS_PORT_TYPE_WIRELESS_IEEE_802_11 

Wireless - IEEE 802.11.

Definition at line 270 of file radius_attributes.h.

◆ RadiusServiceType

Service types.

Enumerator
RADIUS_SERVICE_TYPE_LOGIN 

Login.

RADIUS_SERVICE_TYPE_FRAMED 

Framed.

RADIUS_SERVICE_TYPE_CALLBACK_LOGIN 

Callback Login.

RADIUS_SERVICE_TYPE_CALLBACK_FRAMED 

Callback Framed.

RADIUS_SERVICE_TYPE_OUTBOUND 

Outbound.

RADIUS_SERVICE_TYPE_ADMINISTRATIVE 

Administrative.

RADIUS_SERVICE_TYPE_NAS_PROMPT 

NAS Prompt.

RADIUS_SERVICE_TYPE_AUTHENTICATE_ONLY 

Authenticate Only.

RADIUS_SERVICE_TYPE_CALLBACK_NAS_PROMPT 

Callback NAS Prompt.

RADIUS_SERVICE_TYPE_CALL_CHECK 

Call Check.

RADIUS_SERVICE_TYPE_CALLBACK_ADMINISTRATIVE 

Callback Administrative.

Definition at line 251 of file radius_attributes.h.

Function Documentation

◆ radiusAddAttribute()

void radiusAddAttribute ( RadiusPacket packet,
uint8_t  type,
const void *  value,
size_t  length 
)

Append an attribute to a RADIUS packet.

Parameters
[in]packetPointer to the RADIUS packet
[in]typeAttribute type
[in]valueAttribute value
[in]lengthLength of the attribute value

Definition at line 51 of file radius_attributes.c.

◆ radiusGetAttribute()

const RadiusAttribute* radiusGetAttribute ( const RadiusPacket packet,
uint8_t  type,
uint_t  index 
)

Search a RADIUS packet for a given attribute.

Parameters
[in]packetPointer to the RADIUS packet
[in]typeAttribute type
[in]indexAttribute occurrence index
Returns
If the specified attribute is found, a pointer to the corresponding attribute is returned. Otherwise NULL pointer is returned

Definition at line 93 of file radius_attributes.c.

Variable Documentation

◆ __packed_struct

typedef __packed_struct
Initial value:
{
uint8_t type

Attribute.

Definition at line 307 of file radius_attributes.h.

◆ length

uint8_t length

Definition at line 310 of file radius_attributes.h.

◆ RadiusAttribute

RadiusAttribute

Definition at line 312 of file radius_attributes.h.

◆ value

uint8_t value[]

Definition at line 311 of file radius_attributes.h.

uint8_t type
Definition: coap_common.h:176