From 3915e8834eed17d78b70b4a5ab1caee0d1ae09ff Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20M=C3=A9lotte?= Date: Wed, 4 Jan 2023 16:53:50 +0100 Subject: [PATCH] hostapd: Report error on unknown ACCEPT_ACL/DENY_ACL commands MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Currently when using ACCEPT_ACL or DENY_ACL, no error is reported if the rest of the command is unknown (e.g. 'ACCEPT_ACL FOOBAR' reports 'OK'). On the other hand, hostapd_cli makes it possible to use 'accept_acl' and 'deny_acl' in lowercase, but the rest of the command (i.e. 'SHOW', 'ADD_MAC', 'CLEAR', etc) must be in uppercase. As a result, the command 'accept_acl clear' could seem valid when using hostapd_cli (as it reports 'OK'), while it actually does not do anything (because 'clear' must be in uppercase). To let users know whether the command really succeeded or not, report an error when the command was not understood. Note that this is also consistent with the way it is currently implemented in wpa_supplicant. Signed-off-by: Raphaël Mélotte --- hostapd/ctrl_iface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c index 464dfc8ee..656aacc7d 100644 --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c @@ -3550,6 +3550,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd, if (hostapd_set_acl(hapd) || hostapd_disassoc_accept_mac(hapd)) reply_len = -1; + } else { + reply_len = -1; } } else if (os_strncmp(buf, "DENY_ACL ", 9) == 0) { if (os_strncmp(buf + 9, "ADD_MAC ", 8) == 0) { @@ -3575,6 +3577,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd, &hapd->conf->num_deny_mac); if (hostapd_set_acl(hapd)) reply_len = -1; + } else { + reply_len = -1; } #ifdef CONFIG_DPP } else if (os_strncmp(buf, "DPP_QR_CODE ", 12) == 0) { -- 2.47.2