$search
#include <eap_i.h>
Public Attributes | |
struct wpabuf *(* | buildReq )(struct eap_sm *sm, void *priv, u8 id) |
Boolean(* | check )(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
void(* | deinit )(struct eap_sm *sm, void *priv) |
void(* | deinit_for_reauth )(struct eap_sm *sm, void *priv) |
void(* | free )(struct eap_method *method) |
u8 *(* | get_emsk )(struct eap_sm *sm, void *priv, size_t *len) |
const u8 *(* | get_identity )(struct eap_sm *sm, void *priv, size_t *len) |
int(* | get_status )(struct eap_sm *sm, void *priv, char *buf, size_t buflen, int verbose) |
u8 *(* | getKey )(struct eap_sm *sm, void *priv, size_t *len) |
int(* | getTimeout )(struct eap_sm *sm, void *priv) |
Boolean(* | has_reauth_data )(struct eap_sm *sm, void *priv) |
void *(* | init )(struct eap_sm *sm) |
void *(* | init_for_reauth )(struct eap_sm *sm, void *priv) |
void *(* | initPickUp )(struct eap_sm *sm) |
Boolean(* | isDone )(struct eap_sm *sm, void *priv) |
Boolean(* | isKeyAvailable )(struct eap_sm *sm, void *priv) |
Boolean(* | isSuccess )(struct eap_sm *sm, void *priv) |
EapType | method |
const char * | name |
struct eap_method * | next |
void(* | process )(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
struct wpabuf *(* | process )(struct eap_sm *sm, void *priv, struct eap_method_ret *ret, const struct wpabuf *reqData) |
void(* | reset )(struct eap_sm *sm, void *priv) |
int | vendor |
int | version |
struct eap_method - EAP method interface This structure defines the EAP method interface. Each method will need to register its own EAP type, EAP name, and set of function pointers for method specific operations. This interface is based on section 4.4 of RFC 4137.
struct eap_method - EAP method interface This structure defines the EAP method interface. Each method will need to register its own EAP type, EAP name, and set of function pointers for method specific operations. This interface is based on section 5.4 of RFC 4137.
Definition at line 69 of file eap_peer/eap_i.h.
struct wpabuf*(* eap_method::buildReq)(struct eap_sm *sm, void *priv, u8 id) [read] |
Definition at line 39 of file eap_server/eap_i.h.
Boolean(* eap_method::check)(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
Definition at line 41 of file eap_server/eap_i.h.
void(* eap_method::deinit)(struct eap_sm *sm, void *priv) |
deinit - Deinitialize an EAP method : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init()
Deinitialize the EAP method and free any allocated private data.
Definition at line 104 of file eap_peer/eap_i.h.
void(* eap_method::deinit_for_reauth)(struct eap_sm *sm, void *priv) |
deinit_for_reauth - Release data that is not needed for fast re-auth : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init()
This function is an optional handler that only EAP methods supporting fast re-authentication need to implement. This is called when authentication has been completed and EAP state machine is requesting that enough state information is maintained for fast re-authentication
Definition at line 186 of file eap_peer/eap_i.h.
void(* eap_method::free)(struct eap_method *method) |
free - Free EAP method data : Pointer to the method data registered with eap_peer_method_register().
This function will be called when the EAP method is being unregistered. If the EAP method allocated resources during registration (e.g., allocated struct eap_method), they should be freed in this function. No other method functions will be called after this call. If this function is not defined (i.e., function pointer is NULL), a default handler is used to release the method data with free(method). This is suitable for most cases.
free - Free EAP method data : Pointer to the method data registered with eap_server_method_register().
This function will be called when the EAP method is being unregistered. If the EAP method allocated resources during registration (e.g., allocated struct eap_method), they should be freed in this function. No other method functions will be called after this call. If this function is not defined (i.e., function pointer is NULL), a default handler is used to release the method data with free(method). This is suitable for most cases.
Definition at line 226 of file eap_peer/eap_i.h.
u8 *(* eap_method::get_emsk)(struct eap_sm *sm, void *priv, size_t *len) |
get_emsk - Get EAP method specific keying extended material (EMSK) : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() : Pointer to a variable to store EMSK length Returns: EMSK or NULL if not available
This function can be used to get the extended keying material from the EAP method. The key may already be stored in the method-specific private data or this function may derive the key.
get_emsk - Get EAP method specific keying extended material (EMSK) : Pointer to EAP state machine allocated with eap_sm_init() : Pointer to private EAP method data from eap_method::init() : Pointer to a variable to store EMSK length Returns: EMSK or NULL if not available
This function can be used to get the extended keying material from the EAP method. The key may already be stored in the method-specific private data or this function may derive the key.
Definition at line 269 of file eap_peer/eap_i.h.
const u8*(* eap_method::get_identity)(struct eap_sm *sm, void *priv, size_t *len) |
get_identity - Get method specific identity for re-authentication : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() : Length of the returned identity Returns: Pointer to the method specific identity or NULL if default identity is to be used
This function is an optional handler that only EAP methods that use method specific identity need to implement.
Definition at line 211 of file eap_peer/eap_i.h.
int(* eap_method::get_status)(struct eap_sm *sm, void *priv, char *buf, size_t buflen, int verbose) |
get_status - Get EAP method status : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() : Buffer for status information : Maximum buffer length : Whether to include verbose status information Returns: Number of bytes written to buf
Query EAP method for status information. This function fills in a text area with current status information from the EAP method. If the buffer (buf) is not large enough, status information will be truncated to fit the buffer.
Definition at line 160 of file eap_peer/eap_i.h.
u8 *(* eap_method::getKey)(struct eap_sm *sm, void *priv, size_t *len) |
getKey - Get EAP method specific keying material (eapKeyData) : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() : Pointer to variable to store key length (eapKeyDataLen) Returns: Keying material (eapKeyData) or NULL if not available
This function can be used to get the keying material from the EAP method. The key may already be stored in the method-specific private data or this function may derive the key.
Definition at line 144 of file eap_peer/eap_i.h.
int(* eap_method::getTimeout)(struct eap_sm *sm, void *priv) |
Definition at line 40 of file eap_server/eap_i.h.
Boolean(* eap_method::has_reauth_data)(struct eap_sm *sm, void *priv) |
has_reauth_data - Whether method is ready for fast reauthentication : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() Returns: TRUE or FALSE based on whether fast reauthentication is possible
This function is an optional handler that only EAP methods supporting fast re-authentication need to implement.
Definition at line 173 of file eap_peer/eap_i.h.
void *(* eap_method::init)(struct eap_sm *sm) |
init - Initialize an EAP method : Pointer to EAP state machine allocated with eap_peer_sm_init() Returns: Pointer to allocated private data, or NULL on failure
This function is used to initialize the EAP method explicitly instead of using METHOD_INIT state as specific in RFC 4137. The method is expected to initialize it method-specific state and return a pointer that will be used as the priv argument to other calls.
Definition at line 95 of file eap_peer/eap_i.h.
void*(* eap_method::init_for_reauth)(struct eap_sm *sm, void *priv) |
init_for_reauth - Prepare for start of fast re-authentication : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init()
This function is an optional handler that only EAP methods supporting fast re-authentication need to implement. This is called when EAP authentication is started and EAP state machine is requesting fast re-authentication to be used.
Definition at line 198 of file eap_peer/eap_i.h.
void*(* eap_method::initPickUp)(struct eap_sm *sm) |
Definition at line 36 of file eap_server/eap_i.h.
Boolean(* eap_method::isDone)(struct eap_sm *sm, void *priv) |
Definition at line 45 of file eap_server/eap_i.h.
Boolean(* eap_method::isKeyAvailable)(struct eap_sm *sm, void *priv) |
isKeyAvailable - Find out whether EAP method has keying material : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() Returns: TRUE if key material (eapKeyData) is available
Definition at line 131 of file eap_peer/eap_i.h.
Boolean(* eap_method::isSuccess)(struct eap_sm *sm, void *priv) |
Definition at line 49 of file eap_server/eap_i.h.
method - EAP type number (EAP_TYPE_*)
Definition at line 78 of file eap_peer/eap_i.h.
const char * eap_method::name |
name - Name of the method (e.g., "TLS")
Definition at line 83 of file eap_peer/eap_i.h.
struct eap_method * eap_method::next |
next - Pointer to the next EAP method
This variable is used internally in the EAP method registration code to create a linked list of registered EAP methods.
Definition at line 245 of file eap_peer/eap_i.h.
void(* eap_method::process)(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
Definition at line 43 of file eap_server/eap_i.h.
struct wpabuf*(* eap_method::process)(struct eap_sm *sm, void *priv, struct eap_method_ret *ret, const struct wpabuf *reqData) [read] |
process - Process an EAP request : Pointer to EAP state machine allocated with eap_peer_sm_init() : Pointer to private EAP method data from eap_method::init() : Return values from EAP request validation and processing : EAP request to be processed (eapReqData) Returns: Pointer to allocated EAP response packet (eapRespData)
This function is a combination of m.check(), m.process(), and m.buildResp() procedures defined in section 4.4 of RFC 4137 In other words, this function validates the incoming request, processes it, and build a response packet. m.check() and m.process() return values are returned through struct eap_method_ret *ret variable. Caller is responsible for freeing the returned EAP response packet.
Definition at line 121 of file eap_peer/eap_i.h.
void(* eap_method::reset)(struct eap_sm *sm, void *priv) |
Definition at line 37 of file eap_server/eap_i.h.
vendor - EAP Vendor-ID (EAP_VENDOR_*) (0 = IETF)
Definition at line 73 of file eap_peer/eap_i.h.
version - Version of the EAP peer method interface
The EAP peer method implementation should set this variable to EAP_PEER_METHOD_INTERFACE_VERSION. This is used to verify that the EAP method is using supported API version when using dynamically loadable EAP methods.
version - Version of the EAP server method interface
The EAP server method implementation should set this variable to EAP_SERVER_METHOD_INTERFACE_VERSION. This is used to verify that the EAP method is using supported API version when using dynamically loadable EAP methods.
Definition at line 237 of file eap_peer/eap_i.h.