49 const void *
rsp,
size_t rsp_len ) {
56 len = (
sizeof ( *msg ) + rsp_len );
63 msg->hdr.id = supplicant->
id;
67 DBGC (
netdev,
"EAP %s Response id %#02x type %d\n",
71 if ( (
rc = supplicant->
tx ( supplicant,
msg,
len ) ) != 0 ) {
72 DBGC (
netdev,
"EAP %s could not transmit: %s\n",
93 unsigned int count = 0;
124 const void *req,
size_t req_len ) {
131 DBGC (
netdev,
"EAP %s Request-Identity blocking link\n",
141 &username_setting, &
rsp );
185 if (
len <
sizeof ( *
msg ) ) {
196 req_len = (
ntohs (
msg->hdr.len ) -
sizeof ( *msg ) );
199 supplicant->
id =
msg->hdr.id;
201 DBGC (
netdev,
"EAP %s Request id %#02x type %d\n",
207 return method->rx ( supplicant, req, req_len );
209 DBGC (
netdev,
"EAP %s requested type %d unknown:\n",
270 if (
len <
sizeof ( eap->
hdr ) ) {
288 DBGC (
netdev,
"EAP %s unsupported code %d\n",
struct arbelprm_rc_send_wqe rc
#define assert(condition)
Assert a condition at run-time.
static int eap_rx_request(struct eap_supplicant *supplicant, const struct eap_message *msg, size_t len)
Handle EAP Request.
int eap_rx(struct eap_supplicant *supplicant, const void *data, size_t len)
Handle EAP packet.
static int eap_tx_nak(struct eap_supplicant *supplicant)
Transmit EAP NAK.
static int eap_rx_success(struct eap_supplicant *supplicant)
Handle EAP Success.
static int eap_rx_failure(struct eap_supplicant *supplicant)
Handle EAP Failure.
static int eap_rx_identity(struct eap_supplicant *supplicant, const void *req, size_t req_len)
Handle EAP Request-Identity.
int eap_tx_response(struct eap_supplicant *supplicant, const void *rsp, size_t rsp_len)
Transmit EAP response.
Extensible Authentication Protocol.
#define EAP_CODE_RESPONSE
EAP response.
#define EAP_TYPE_IDENTITY
EAP identity.
#define __eap_method
Declare an EAP method.
#define EAP_METHODS
EAP method table.
#define EAP_CODE_REQUEST
EAP request.
#define EAP_TYPE_NONE
EAP "no available types" marker.
#define EAP_CODE_FAILURE
EAP failure.
#define EAP_FL_ONGOING
EAP authentication is in progress.
#define EAP_FL_PASSIVE
EAP supplicant is passive.
#define EAP_CODE_SUCCESS
EAP success.
#define EAP_TYPE_NAK
EAP NAK.
#define EAP_BLOCK_TIMEOUT
EAP link block timeout.
uint8_t data[48]
Additional event data.
static struct net_device * netdev
static unsigned int count
Number of entries.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define REQUIRE_OBJECT(object)
Require an object.
#define EINVAL
Invalid argument.
#define ENOMEM
Not enough space.
#define ENOTSUP
Operation not supported.
#define EPERM
Operation not permitted.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
#define REQUIRING_SYMBOL(symbol)
Specify the file's requiring symbol.
void * memcpy(void *dest, const void *src, size_t len) __nonnull
void * malloc(size_t size)
Allocate memory.
void msg(unsigned int row, const char *fmt,...)
Print message centred on specified row.
void netdev_link_block(struct net_device *netdev, unsigned long timeout)
Mark network device link as being blocked.
void netdev_link_unblock(struct net_device *netdev)
Mark network device link as being unblocked.
Network device management.
static struct settings * netdev_settings(struct net_device *netdev)
Get per-netdevice configuration settings block.
static void(* free)(struct refcnt *refcnt))
int fetch_raw_setting_copy(struct settings *settings, const struct setting *setting, void **data)
Fetch value of setting.
char * strerror(int errno)
Retrieve string representation of error number.
EAP request/response message.
uint8_t id
ID for current request/response.
uint8_t type
Type for current request/response.
struct net_device * netdev
Network device.
int(* tx)(struct eap_supplicant *supplicant, const void *data, size_t len)
Transmit EAP response.
#define table_num_entries(table)
Get number of entries in linker table.
#define for_each_table_entry(pointer, table)
Iterate through all entries within a linker table.
struct eap_message msg
Request/response message.
struct eap_header hdr
Header.