authenticator.h
Go to the documentation of this file.
319 AuthenticatorPortStatus authPortStatus; ///<Current authorization state of the authenticator PAE state machine (8.2.2.2 c)
434 AuthenticatorPaeStateChangeCallback paeStateChangeCallback; ///<Authenticator PAE state change callback function
435 AuthenticatorBackendStateChangeCallback backendStateChangeCallback; ///<Backend authentication state change callback function
436 AuthenticatorReauthTimerStateChangeCallback reauthTimerStateChangeCallback; ///<Reauthentication timer state change callback function
437 EapFullAuthStateChangeCallback eapFullAuthStateChangeCallback; ///<EAP full authenticator state change callback function
467 AuthenticatorPaeStateChangeCallback paeStateChangeCallback; ///<Authenticator PAE state change callback function
468 AuthenticatorBackendStateChangeCallback backendStateChangeCallback; ///<Backend authentication state change callback function
469 AuthenticatorReauthTimerStateChangeCallback reauthTimerStateChangeCallback; ///<Reauthentication timer state change callback function
470 EapFullAuthStateChangeCallback eapFullAuthStateChangeCallback; ///<EAP full authenticator state change callback function
error_t authenticatorSetReAuthEnabled(AuthenticatorContext *context, uint_t portIndex, bool_t reAuthEnabled)
Set the value of the reAuthEnabled parameter.
Definition: authenticator.c:488
error_t authenticatorSetReAuthPeriod(AuthenticatorContext *context, uint_t portIndex, uint_t reAuthPeriod)
Set the value of the reAuthPeriod parameter.
Definition: authenticator.c:525
void(* EapFullAuthStateChangeCallback)(AuthenticatorPort *port, EapFullAuthState state)
EAP full authenticator state change callback function.
Definition: authenticator.h:253
error_t authenticatorSetServerKey(AuthenticatorContext *context, const uint8_t *key, size_t keyLen)
Set RADIUS server's key.
Definition: authenticator.c:266
error_t authenticatorSetQuietPeriod(AuthenticatorContext *context, uint_t portIndex, uint_t quietPeriod)
Set the value of the quietPeriod parameter.
Definition: authenticator.c:414
error_t authenticatorGetQuietPeriod(AuthenticatorContext *context, uint_t portIndex, uint_t *quietPeriod)
Get the current value of the quietPeriod parameter.
Definition: authenticator.c:593
void(* AuthenticatorTickCallback)(AuthenticatorContext *context)
Tick callback function.
Definition: authenticator.h:261
error_t authenticatorGetServerTimeout(AuthenticatorContext *context, uint_t portIndex, uint_t *serverTimeout)
Get the current value of the serverTimeout parameter.
Definition: authenticator.c:624
void authenticatorGetDefaultSettings(AuthenticatorSettings *settings)
Initialize settings with default values.
Definition: authenticator.c:51
error_t authenticatorStop(AuthenticatorContext *context)
Stop 802.1X authenticator.
Definition: authenticator.c:1005
error_t authenticatorStart(AuthenticatorContext *context)
Start 802.1X authenticator.
Definition: authenticator.c:873
void authenticatorDeinit(AuthenticatorContext *context)
Release 802.1X authenticator context.
Definition: authenticator.c:1149
error_t authenticatorGetPaeState(AuthenticatorContext *context, uint_t portIndex, AuthenticatorPaeState *paeState)
Get the current state of the authenticator PAE state state machine.
Definition: authenticator.c:748
void(* AuthenticatorReauthTimerStateChangeCallback)(AuthenticatorPort *port, AuthenticatorReauthTimerState state)
Reauthentication timer state change callback function.
Definition: authenticator.h:245
error_t authenticatorGetReAuthPeriod(AuthenticatorContext *context, uint_t portIndex, uint_t *reAuthPeriod)
Get the current value of the reAuthPeriod parameter.
Definition: authenticator.c:686
error_t authenticatorGetReauthTimerState(AuthenticatorContext *context, uint_t portIndex, AuthenticatorReauthTimerState *reauthTimerState)
Get the current state of the reauthentication timer state machine.
Definition: authenticator.c:812
error_t authenticatorGetReAuthEnabled(AuthenticatorContext *context, uint_t portIndex, bool_t *reAuthEnabled)
Get the current value of the reAuthEnabled parameter.
Definition: authenticator.c:655
@ AUTHENTICATOR_TERMINATE_CAUSE_SUPPLICANT_RESTART
Definition: authenticator.h:217
@ AUTHENTICATOR_TERMINATE_CAUSE_SUPPLICANT_LOGOFF
Definition: authenticator.h:215
@ AUTHENTICATOR_TERMINATE_CAUSE_PORT_ADMIN_DISABLED
Definition: authenticator.h:221
@ AUTHENTICATOR_TERMINATE_CAUSE_NOT_TERMINATED_YET
Definition: authenticator.h:214
@ AUTHENTICATOR_TERMINATE_CAUSE_PORT_FAILURE
Definition: authenticator.h:216
@ AUTHENTICATOR_TERMINATE_CAUSE_PORT_REINIT
Definition: authenticator.h:220
@ AUTHENTICATOR_TERMINATE_CAUSE_AUTH_CONTROL_FORCE_UNAUTH
Definition: authenticator.h:219
@ AUTHENTICATOR_TERMINATE_CAUSE_REAUTH_FAILED
Definition: authenticator.h:218
error_t authenticatorGetPortControl(AuthenticatorContext *context, uint_t portIndex, AuthenticatorPortMode *portControl)
Get the current value of the AuthControlledPortControl parameter.
Definition: authenticator.c:562
#define AUTHENTICATOR_MAX_SERVER_KEY_LEN
Definition: authenticator.h:92
error_t authenticatorInit(AuthenticatorContext *context, const AuthenticatorSettings *settings)
Initialize 802.1X authenticator context.
Definition: authenticator.c:100
error_t authenticatorGetBackendState(AuthenticatorContext *context, uint_t portIndex, AuthenticatorBackendState *backendState)
Get the current state of the backend authentication state machine.
Definition: authenticator.c:780
error_t authenticatorGetEapFullAuthState(AuthenticatorContext *context, uint_t portIndex, EapFullAuthState *eapFullAuthState)
Get the current state of the EAP full authenticator state machine.
Definition: authenticator.c:844
error_t authenticatorGetPortStatus(AuthenticatorContext *context, uint_t portIndex, AuthenticatorPortStatus *portStatus)
Get the current value of the AuthControlledPortStatus variable.
Definition: authenticator.c:717
void(* AuthenticatorBackendStateChangeCallback)(AuthenticatorPort *port, AuthenticatorBackendState state)
Backend authentication state change callback function.
Definition: authenticator.h:237
void(* AuthenticatorPaeStateChangeCallback)(AuthenticatorPort *port, AuthenticatorPaeState state)
Authenticator PAE state change callback function.
Definition: authenticator.h:229
error_t authenticatorInitPort(AuthenticatorContext *context, uint_t portIndex)
Reinitialize the specified port.
Definition: authenticator.c:304
void authenticatorTask(AuthenticatorContext *context)
802.1X authenticator task
Definition: authenticator.c:1050
error_t authenticatorSetServerTimeout(AuthenticatorContext *context, uint_t portIndex, uint_t serverTimeout)
Set the value of the serverTimeout parameter.
Definition: authenticator.c:451
error_t authenticatorSetPortControl(AuthenticatorContext *context, uint_t portIndex, AuthenticatorPortMode portControl)
Set the value of the AuthControlledPortControl parameter.
Definition: authenticator.c:377
error_t authenticatorReauthenticate(AuthenticatorContext *context, uint_t portIndex)
Force the authenticator to reauthenticate the supplicant.
Definition: authenticator.c:340
error_t authenticatorSetServerAddr(AuthenticatorContext *context, const IpAddr *serverIpAddr, uint16_t serverPort)
Specify the IP address of the RADIUS server.
Definition: authenticator.c:236
Backend authentication state machine.
Authenticator PAE state machine.
Reauthentication timer state machine.
AuthenticatorReauthTimerState
Reauthentication timer states.
Definition: authenticator_reauth_timer_fsm.h:48
EAP (Extensible Authentication Protocol)
EAP full authenticator state machine.
HMAC (Keyed-Hashing for Message Authentication)
AuthenticatorPaeStateChangeCallback paeStateChangeCallback
Authenticator PAE state change callback function.
Definition: authenticator.h:467
uint8_t serverKey[AUTHENTICATOR_MAX_SERVER_KEY_LEN]
RADIUS server's key.
Definition: authenticator.h:461
EapFullAuthStateChangeCallback eapFullAuthStateChangeCallback
EAP full authenticator state change callback function.
Definition: authenticator.h:470
AuthenticatorReauthTimerStateChangeCallback reauthTimerStateChangeCallback
Reauthentication timer state change callback function.
Definition: authenticator.h:469
AuthenticatorBackendStateChangeCallback backendStateChangeCallback
Backend authentication state change callback function.
Definition: authenticator.h:468
OsMutex mutex
Mutex preventing simultaneous access to 802.1X authenticator context.
Definition: authenticator.h:450
uint_t aWhile
Timer used by the backend authentication state machine (8.2.2.1 a)
Definition: authenticator.h:313
bool_t portValid
The value of this variable is set externally (8.2.2.2 s)
Definition: authenticator.h:333
uint_t quietPeriod
Initialization value used for the quietWhile timer (8.2.4.1.2 a)
Definition: authenticator.h:342
AuthenticatorPortStatus authPortStatus
Current authorization state of the authenticator PAE state machine (8.2.2.2 c)
Definition: authenticator.h:319
AuthenticatorBackendState authBackendState
Backend authentication state.
Definition: authenticator.h:310
AuthenticatorReauthTimerState reauthTimerState
Reauthentication timer state.
Definition: authenticator.h:311
bool_t eapTimeout
The supplicant is not responding to requests (8.2.2.2 j)
Definition: authenticator.h:326
bool_t ignore
The method has decided to drop the current packet (5.3.2)
Definition: authenticator.h:378
AuthenticatorSessionStats sessionStats
Session statistics information.
Definition: authenticator.h:414
uint_t currentId
Identifier value of the currently outstanding EAP request (5.3.1)
Definition: authenticator.h:368
bool_t eapResp
A new EAP frame available for the higher layer to process (8.2.9.1.1 c)
Definition: authenticator.h:352
uint_t reAuthMax
Maximum number of reauthentication attempts (8.2.4.1.2 b)
Definition: authenticator.h:343
uint_t reAuthCount
Number of times the CONNECTING state is re-entered (8.2.4.1.1 f)
Definition: authenticator.h:340
bool_t aaaSuccess
The state machine has reached the SUCCESS state (6.1.2)
Definition: authenticator.h:383
bool_t keyTxEnabled
Current value of the KeyTransmissionEnabled parameter (8.2.6.1.2)
Definition: authenticator.h:345
uint8_t * lastReqData
EAP packet containing the last sent request (5.3.1)
Definition: authenticator.h:371
uint8_t serverState[AUTHENTICATOR_MAX_STATE_SIZE]
State attribute received from the server.
Definition: authenticator.h:406
uint_t methodTimeout
Method-provided hint for suitable retransmission timeout (5.3.1)
Definition: authenticator.h:373
bool_t eapolEap
EAPOL PDU carrying a packet Type of EAP-Packet is received (8.2.2.2 h)
Definition: authenticator.h:324
uint8_t eapTxBuffer[AUTHENTICATOR_TX_BUFFER_SIZE]
Transmission buffer for EAP requests.
Definition: authenticator.h:410
uint_t reAuthWhen
Timer used to determine when reauthentication takes place (8.2.2.1 e)
Definition: authenticator.h:315
bool_t eapNoReq
No EAP frame to be sent to the supplicant (8.2.9.1.1 a)
Definition: authenticator.h:350
uint_t aaaMethodTimeout
Method-provided hint for suitable retransmission timeout (6.1.2)
Definition: authenticator.h:389
EapMethodType respMethod
Method type of the current EAP response (5.3.2)
Definition: authenticator.h:377
uint_t reAuthPeriod
Number of seconds between periodic reauthentication (8.2.8.1 a)
Definition: authenticator.h:347
uint_t maxRetrans
Maximum number of retransmissions before aborting (5.1.3)
Definition: authenticator.h:396
bool_t aaaFail
The state machine has reached the FAILURE state (6.1.2)
Definition: authenticator.h:384
uint_t quietWhile
Timer used by the authenticator PAE state machine (8.2.2.1 d)
Definition: authenticator.h:314
uint_t serverTimeout
Initialization value used for the aWhile timer (8.2.9.1.2 a)
Definition: authenticator.h:354
bool_t initialize
Forces all EAPOL state machines to their initial state (8.2.2.2 k)
Definition: authenticator.h:328
uint8_t aaaReqId
Identifier value of the currently outstanding RADIUS request.
Definition: authenticator.h:400
uint8_t aaaTxBuffer[AUTHENTICATOR_TX_BUFFER_SIZE]
Transmission buffer for RADIUS requests.
Definition: authenticator.h:411
bool_t aaaEapResp
An EAP response is available for processing by the AAA server (7.1.2)
Definition: authenticator.h:391
uint_t aaaRetransCount
Current number of retransmissions or RADIUS requests.
Definition: authenticator.h:404
uint_t sessionTerminateCause
Definition: authenticator.h:295
AuthenticatorPaeStateChangeCallback paeStateChangeCallback
Authenticator PAE state change callback function.
Definition: authenticator.h:434
EapFullAuthStateChangeCallback eapFullAuthStateChangeCallback
EAP full authenticator state change callback function.
Definition: authenticator.h:437
AuthenticatorReauthTimerStateChangeCallback reauthTimerStateChangeCallback
Reauthentication timer state change callback function.
Definition: authenticator.h:436
AuthenticatorBackendStateChangeCallback backendStateChangeCallback
Backend authentication state change callback function.
Definition: authenticator.h:435
uint32_t eapLengthErrorFramesRx
Definition: authenticator.h:279
uint32_t lastEapolFrameVersion
Definition: authenticator.h:280
uint32_t invalidEapolFramesRx
Definition: authenticator.h:278