[PATCH 3/5] Update eapol_test to accept and count Protocol-Error
aland at deployingradius.com
aland at deployingradius.com
Wed Oct 21 07:46:58 PDT 2026
From: "Alan T. DeKok" <aland at freeradius.org>
Signed-off-by: Alan DeKok <alan.dekok at inkbridge.io>
---
wpa_supplicant/eapol_test.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/wpa_supplicant/eapol_test.c b/wpa_supplicant/eapol_test.c
index aba4d7f10..504178591 100644
--- a/wpa_supplicant/eapol_test.c
+++ b/wpa_supplicant/eapol_test.c
@@ -66,6 +66,7 @@ struct eapol_test_data {
size_t authenticator_eap_key_name_len;
int radius_access_accept_received;
int radius_access_reject_received;
+ int radius_protocol_error_received;
int auth_timed_out;
u8 *eap_identity;
@@ -939,7 +940,8 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req,
if (hdr->code != RADIUS_CODE_ACCESS_ACCEPT &&
hdr->code != RADIUS_CODE_ACCESS_REJECT &&
- hdr->code != RADIUS_CODE_ACCESS_CHALLENGE) {
+ hdr->code != RADIUS_CODE_ACCESS_CHALLENGE &&
+ hdr->code != RADIUS_CODE_PROTOCOL_ERROR) {
wpa_printf(MSG_INFO, "Unknown RADIUS message code");
return RADIUS_RX_UNKNOWN;
}
@@ -959,13 +961,17 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req,
case RADIUS_CODE_ACCESS_REJECT:
e->radius_access_reject_received = 1;
break;
+ case RADIUS_CODE_PROTOCOL_ERROR:
+ e->radius_protocol_error_received = 1;
+ break;
}
ieee802_1x_decapsulate_radius(e);
if ((hdr->code == RADIUS_CODE_ACCESS_ACCEPT &&
e->eapol_test_num_reauths < 0) ||
- hdr->code == RADIUS_CODE_ACCESS_REJECT) {
+ hdr->code == RADIUS_CODE_ACCESS_REJECT ||
+ hdr->code == RADIUS_CODE_PROTOCOL_ERROR) {
if (!e->ctrl_iface)
eloop_terminate();
}
@@ -1598,6 +1604,8 @@ int main(int argc, char *argv[])
ret = -2;
if (eapol_test.radius_access_reject_received)
ret = -3;
+ if (eapol_test.radius_protocol_error_received)
+ ret = -4;
if (save_config)
wpa_config_write(conf, wpa_s.conf);
--
2.49.0
More information about the Hostap
mailing list