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.0

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
uint8_t type
Definition: coap_common.h:176

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.