From a67e7e533ab542c0faa43758541c3bbed5bae6b6 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 24 Dec 2015 12:43:05 +0200 Subject: [PATCH] RADIUS: Add EACCES to list of recognized send() errno values This allows RADIUS failover to be performed if send() return EACCES error which is what happens after a recent Linux kernel commit 0315e382704817b279e5693dca8ab9d89aa20b3f ('net: Fix behaviour of unreachable, blackhole and prohibit') for a local sender when route type is prohibit. This fixes the hwsim test case radius_failover when running against a kernel build that includes that commit. Signed-off-by: Jouni Malinen --- src/radius/radius_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/radius/radius_client.c b/src/radius/radius_client.c index 0bcdb4533..b24bbf891 100644 --- a/src/radius/radius_client.c +++ b/src/radius/radius_client.c @@ -308,7 +308,7 @@ static int radius_client_handle_send_error(struct radius_client_data *radius, int _errno = errno; wpa_printf(MSG_INFO, "send[RADIUS,s=%d]: %s", s, strerror(errno)); if (_errno == ENOTCONN || _errno == EDESTADDRREQ || _errno == EINVAL || - _errno == EBADF || _errno == ENETUNREACH) { + _errno == EBADF || _errno == ENETUNREACH || _errno == EACCES) { hostapd_logger(radius->ctx, NULL, HOSTAPD_MODULE_RADIUS, HOSTAPD_LEVEL_INFO, "Send failed - maybe interface status changed -"