[PATCH 2/5] Update RADIUS client to track and count Protocol-Error

aland at deployingradius.com aland at deployingradius.com
Wed Oct 21 07:46:57 PDT 2026


From: "Alan T. DeKok" <aland at freeradius.org>

Signed-off-by: Alan DeKok <alan.dekok at inkbridge.io>
---
 src/radius/radius_client.c | 5 +++++
 src/radius/radius_client.h | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/src/radius/radius_client.c b/src/radius/radius_client.c
index 16284e1fe..de4a78132 100644
--- a/src/radius/radius_client.c
+++ b/src/radius/radius_client.c
@@ -1319,6 +1319,9 @@ static void radius_client_receive(int sock, void *eloop_ctx, void *sock_ctx)
 	case RADIUS_CODE_ACCOUNTING_RESPONSE:
 		rconf->responses++;
 		break;
+	case RADIUS_CODE_PROTOCOL_ERROR:
+		rconf->protocol_errors++;
+		break;
 	}
 
 	req = radius->msgs;
@@ -2104,6 +2107,7 @@ static int radius_client_dump_auth_server(char *buf, size_t buflen,
 			   "radiusAuthClientAccessAccepts=%u\n"
 			   "radiusAuthClientAccessRejects=%u\n"
 			   "radiusAuthClientAccessChallenges=%u\n"
+			   "radiusAuthClientProtocolErrors=%u\n"
 			   "radiusAuthClientMalformedAccessResponses=%u\n"
 			   "radiusAuthClientBadAuthenticators=%u\n"
 			   "radiusAuthClientPendingRequests=%u\n"
@@ -2119,6 +2123,7 @@ static int radius_client_dump_auth_server(char *buf, size_t buflen,
 			   serv->access_accepts,
 			   serv->access_rejects,
 			   serv->access_challenges,
+			   serv->protocol_errors,
 			   serv->malformed_responses,
 			   serv->bad_authenticators,
 			   pending,
diff --git a/src/radius/radius_client.h b/src/radius/radius_client.h
index db40637ea..d4d10b35d 100644
--- a/src/radius/radius_client.h
+++ b/src/radius/radius_client.h
@@ -108,6 +108,11 @@ struct hostapd_radius_server {
 	 */
 	u32 access_challenges;
 
+	/**
+	 * protocol_errors - No SNMP field for this.
+	 */
+	u32 protocol_errors;
+
 	/**
 	 * responses - radiusAccClientResponses
 	 */
-- 
2.49.0




More information about the Hostap mailing list