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