wpa_supplicant / hostapd 2.0
Data Fields

radius_server_conf Struct Reference

RADIUS server configuration. More...

#include <radius_server.h>

Data Fields

int auth_port
 UDP port to listen to as an authentication server.
char * client_file
 RADIUS client configuration file.
void * conf_ctx
 Context pointer for callbacks.
void * eap_sim_db_priv
 EAP-SIM/AKA database context.
void * ssl_ctx
 TLS context.
u8 * pac_opaque_encr_key
 PAC-Opaque encryption key for EAP-FAST.
u8 * eap_fast_a_id
 EAP-FAST authority identity (A-ID)
size_t eap_fast_a_id_len
 Length of eap_fast_a_id buffer in octets.
char * eap_fast_a_id_info
 EAP-FAST authority identifier information.
int eap_fast_prov
 EAP-FAST provisioning modes.
int pac_key_lifetime
 EAP-FAST PAC-Key lifetime in seconds.
int pac_key_refresh_time
 EAP-FAST PAC-Key refresh time in seconds.
int eap_sim_aka_result_ind
 EAP-SIM/AKA protected success indication.
int tnc
 Trusted Network Connect (TNC)
u16 pwd_group
 EAP-pwd D-H group.
struct wps_contextwps
 Wi-Fi Protected Setup context.
int ipv6
 Whether to enable IPv6 support in the RADIUS server.
int(* get_eap_user )(void *ctx, const u8 *identity, size_t identity_len, int phase2, struct eap_user *user)
 Callback for fetching EAP user information.
const char * eap_req_id_text
 Optional data for EAP-Request/Identity.
size_t eap_req_id_text_len
 Length of eap_req_id_text buffer in octets.
void * msg_ctx

Detailed Description

RADIUS server configuration.


Field Documentation

RADIUS client configuration file.

This file contains the RADIUS clients and the shared secret to be used with them in a format where each client is on its own line. The first item on the line is the IPv4 or IPv6 address of the client with an optional address mask to allow full network to be specified (e.g., 192.168.1.2 or 192.168.1.0/24). This is followed by white space (space or tabulator) and the shared secret. Lines starting with '#' are skipped and can be used as comments.

Context pointer for callbacks.

This is used as the ctx argument in get_eap_user() calls.

EAP-FAST authority identity (A-ID)

If EAP-FAST is not used, this can be set to NULL. In theory, this is a variable length field, but due to some existing implementations requiring A-ID to be 16 octets in length, it is recommended to use that length for the field to provide interoperability with deployed peer implementations.

EAP-FAST authority identifier information.

This A-ID-Info contains a user-friendly name for the A-ID. For example, this could be the enterprise and server names in human-readable format. This field is encoded as UTF-8. If EAP-FAST is not used, this can be set to NULL.

EAP-FAST provisioning modes.

0 = provisioning disabled, 1 = only anonymous provisioning allowed, 2 = only authenticated provisioning allowed, 3 = both provisioning modes allowed.

Optional data for EAP-Request/Identity.

This can be used to configure an optional, displayable message that will be sent in EAP-Request/Identity. This string can contain an ASCII-0 character (nul) to separate network infromation per RFC 4284. The actual string length is explicit provided in eap_req_id_text_len since nul character will not be used as a string terminator.

EAP-SIM/AKA protected success indication.

This controls whether the protected success/failure indication (AT_RESULT_IND) is used with EAP-SIM and EAP-AKA.

EAP-SIM/AKA database context.

This is passed to the EAP-SIM/AKA server implementation as a callback context.

int(* radius_server_conf::get_eap_user)(void *ctx, const u8 *identity, size_t identity_len, int phase2, struct eap_user *user)

Callback for fetching EAP user information.

Parameters:
ctxContext data from conf_ctx
identityUser identity
identity_lenidentity buffer length in octets
phase2Whether this is for Phase 2 identity
userData structure for filling in the user information
Returns:
0 on success, -1 on failure

This is used to fetch information from user database. The callback will fill in information about allowed EAP methods and the user password. The password field will be an allocated copy of the password data and RADIUS server will free it after use.

EAP-FAST PAC-Key lifetime in seconds.

This is the hard limit on how long a provisioned PAC-Key can be used.

EAP-FAST PAC-Key refresh time in seconds.

This is a soft limit on the PAC-Key. The server will automatically generate a new PAC-Key when this number of seconds (or fewer) of the lifetime remains.

PAC-Opaque encryption key for EAP-FAST.

This parameter is used to set a key for EAP-FAST to encrypt the PAC-Opaque data. It can be set to NULL if EAP-FAST is not used. If set, must point to a 16-octet key.

EAP-pwd D-H group.

This is used to select which D-H group to use with EAP-pwd.

TLS context.

This is passed to the EAP server implementation as a callback context for TLS operations.

Trusted Network Connect (TNC)

This controls whether TNC is enabled and will be required before the peer is allowed to connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other EAP method is enabled, the peer will be allowed to connect without TNC.

Wi-Fi Protected Setup context.

If WPS is used with an external RADIUS server (which is quite unlikely configuration), this is used to provide a pointer to WPS context data. Normally, this can be set to NULL.


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines