mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-23 06:02:37 +01:00
eap: allow to discard EAP-Success/EAP-Failure pkts
This commit is contained in:
parent
ad94752170
commit
97980c0315
10
src/eap.c
10
src/eap.c
@ -49,6 +49,8 @@ struct eap_state {
|
|||||||
void *method_state;
|
void *method_state;
|
||||||
bool method_success;
|
bool method_success;
|
||||||
struct l_timeout *complete_timeout;
|
struct l_timeout *complete_timeout;
|
||||||
|
|
||||||
|
bool discard_success_and_failure:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct eap_state *eap_new(eap_tx_packet_func_t tx_packet,
|
struct eap_state *eap_new(eap_tx_packet_func_t tx_packet,
|
||||||
@ -287,6 +289,9 @@ void eap_rx_packet(struct eap_state *eap, const uint8_t *pkt, size_t len)
|
|||||||
|
|
||||||
case EAP_CODE_FAILURE:
|
case EAP_CODE_FAILURE:
|
||||||
case EAP_CODE_SUCCESS:
|
case EAP_CODE_SUCCESS:
|
||||||
|
if (eap->discard_success_and_failure)
|
||||||
|
return;
|
||||||
|
|
||||||
l_timeout_remove(eap->complete_timeout);
|
l_timeout_remove(eap->complete_timeout);
|
||||||
eap->complete_timeout = NULL;
|
eap->complete_timeout = NULL;
|
||||||
|
|
||||||
@ -448,6 +453,11 @@ void eap_method_success(struct eap_state *eap)
|
|||||||
eap->method_success = true;
|
eap->method_success = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void eap_discard_success_and_failure(struct eap_state *eap, bool discard)
|
||||||
|
{
|
||||||
|
eap->discard_success_and_failure = discard;
|
||||||
|
}
|
||||||
|
|
||||||
void eap_method_error(struct eap_state *eap)
|
void eap_method_error(struct eap_state *eap)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -62,6 +62,8 @@ void eap_rx_packet(struct eap_state *eap, const uint8_t *pkt, size_t len);
|
|||||||
void __eap_handle_request(struct eap_state *eap, uint16_t id,
|
void __eap_handle_request(struct eap_state *eap, uint16_t id,
|
||||||
const uint8_t *pkt, size_t len);
|
const uint8_t *pkt, size_t len);
|
||||||
|
|
||||||
|
void eap_discard_success_and_failure(struct eap_state *eap, bool discard);
|
||||||
|
|
||||||
void eap_init(uint32_t default_mtu);
|
void eap_init(uint32_t default_mtu);
|
||||||
void eap_exit(void);
|
void eap_exit(void);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user