5 #ifndef RADIUS_CLIENT_H
6 #define RADIUS_CLIENT_H
271 const u8 *shared_secret,
size_t shared_secret_len,
RADIUS message structure for new and parsed messages.
Definition: radius.c:18
u32 packets_dropped
radiusAuthClientPacketsDropped or radiusAccClientPacketsDropped
Definition: radius_client.h:127
RADIUS servers for RADIUS client.
Definition: radius_client.h:134
RadiusType
RADIUS server type for RADIUS client.
Definition: radius_client.h:208
int num_auth_servers
Number of auth_servers entries.
Definition: radius_client.h:145
void * ctx
Context pointer for hostapd_logger() callbacks.
Definition: radius_client.c:176
Message has invalid Authenticator.
Definition: radius_client.h:262
RADIUS interim accounting message.
Definition: radius_client.h:226
struct hostapd_ip_addr client_addr
Client (local) address to use if force_client_addr.
Definition: radius_client.h:194
RadiusRxResult
RADIUS client RX handler result.
Definition: radius_client.h:233
u8 * shared_secret
Shared secret for authenticating RADIUS messages.
Definition: radius_client.h:41
struct hostapd_ip_addr addr
radiusAuthServerAddress or radiusAccServerAddress
Definition: radius_client.h:29
RADIUS accounting.
Definition: radius_client.h:216
u32 bad_authenticators
radiusAuthClientBadAuthenticators or radiusAccClientBadAuthenticators
Definition: radius_client.h:109
u32 responses
radiusAccClientResponses
Definition: radius_client.h:97
u8 radius_client_get_id(struct radius_client_data *radius)
Get an identifier for a new RADIUS message.
Definition: radius_client.c:942
int round_trip_time
radiusAuthClientRoundTripTime or radiusAccClientRoundTripTime Round-trip time in hundredths of a seco...
Definition: radius_client.h:61
void radius_client_flush_auth(struct radius_client_data *radius, const u8 *addr)
Flush pending RADIUS messages for an address.
Definition: radius_client.c:1483
u32 retransmissions
radiusAuthClientAccessRetransmissions or radiusAccClientRetransmissions
Definition: radius_client.h:73
u32 access_accepts
radiusAuthClientAccessAccepts
Definition: radius_client.h:79
int radius_client_register(struct radius_client_data *radius, RadiusType msg_type, RadiusRxResult(*handler)(struct radius_msg *msg, struct radius_msg *req, const u8 *shared_secret, size_t shared_secret_len, void *data), void *data)
Register a RADIUS client RX handler.
Definition: radius_client.c:298
u32 unknown_types
radiusAuthClientUnknownTypes or radiusAccClientUnknownTypes
Definition: radius_client.h:121
u32 timeouts
radiusAuthClientTimeouts or radiusAccClientTimeouts
Definition: radius_client.h:115
int num_acct_servers
Number of acct_servers entries.
Definition: radius_client.h:163
int force_client_addr
Whether to force client (local) address.
Definition: radius_client.h:200
RADIUS server information for RADIUS client.
Definition: radius_client.h:24
int radius_client_get_mib(struct radius_client_data *radius, char *buf, size_t buflen)
Get RADIUS client MIB information.
Definition: radius_client.c:1619
int msg_dumps
Whether RADIUS message details are shown in stdout.
Definition: radius_client.h:188
size_t shared_secret_len
Length of shared_secret in octets.
Definition: radius_client.h:47
struct radius_client_data * radius_client_init(void *ctx, struct hostapd_radius_servers *conf)
Initialize RADIUS client.
Definition: radius_client.c:1419
RADIUS authentication.
Definition: radius_client.h:210
Message has been queued.
Definition: radius_client.h:250
int index
radiusAuthServerIndex or radiusAccServerIndex
Definition: radius_client.h:55
struct hostapd_radius_server * acct_servers
RADIUS Accounting servers in priority order.
Definition: radius_client.h:157
u32 access_challenges
radiusAuthClientAccessChallenges
Definition: radius_client.h:91
int radius_client_send(struct radius_client_data *radius, struct radius_msg *msg, RadiusType msg_type, const u8 *addr)
Send a RADIUS request.
Definition: radius_client.c:715
void radius_client_deinit(struct radius_client_data *radius)
Deinitialize RADIUS client.
Definition: radius_client.c:1456
Message processed.
Definition: radius_client.h:240
struct hostapd_radius_server * auth_server
The current Authentication server.
Definition: radius_client.h:151
struct hostapd_radius_server * acct_server
The current Accounting server.
Definition: radius_client.h:169
int retry_primary_interval
Retry interval for trying primary server.
Definition: radius_client.h:182
int port
radiusAuthClientServerPortNumber or radiusAccClientServerPortNumber
Definition: radius_client.h:35
Internal RADIUS client data.
Definition: radius_client.c:171
struct hostapd_radius_server * auth_servers
RADIUS Authentication servers in priority order.
Definition: radius_client.h:139
void radius_client_flush(struct radius_client_data *radius, int only_auth)
Flush all pending RADIUS client messages.
Definition: radius_client.c:982
u32 access_rejects
radiusAuthClientAccessRejects
Definition: radius_client.h:85
Message is not for this handler.
Definition: radius_client.h:256
u32 requests
radiusAuthClientAccessRequests or radiusAccClientRequests
Definition: radius_client.h:67
u32 malformed_responses
radiusAuthClientMalformedAccessResponses or radiusAccClientMalformedResponses
Definition: radius_client.h:103
struct hostapd_radius_servers * conf
RADIUS client configuration (list of RADIUS servers to use)
Definition: radius_client.c:182