aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2015-12-24 10:43:05 (GMT)
committerJouni Malinen <j@w1.fi>2015-12-24 10:43:05 (GMT)
commita67e7e533ab542c0faa43758541c3bbed5bae6b6 (patch)
tree366e3bb99af7cef5134fd0a43d4aebfd7e93527e
parent44f4394296d567607c4ff0182eb157e26ec5c052 (diff)
downloadhostap-a67e7e533ab542c0faa43758541c3bbed5bae6b6.zip
hostap-a67e7e533ab542c0faa43758541c3bbed5bae6b6.tar.gz
hostap-a67e7e533ab542c0faa43758541c3bbed5bae6b6.tar.bz2
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 <j@w1.fi>
-rw-r--r--src/radius/radius_client.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/radius/radius_client.c b/src/radius/radius_client.c
index 0bcdb45..b24bbf8 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 -"