[PATCH] wpa-cli: Make ping/pong work more reliably.
greearb at candelatech.com
greearb at candelatech.com
Mon Dec 4 09:18:26 PST 2017
From: Ben Greear <greearb at candelatech.com>
In 2013 or so, IFNAME=foo was prepended to at least the
Unix socket communication from wpa_supplicant to wpa_cli.
This broke the (fragile) logic that made ping/pong work more
often when the supplicant is busy sending logging info to
the wpa_cli.
Adding check for IFNAME=foo makes this work better.
Signed-off-by: Ben Greear <greearb at candelatech.com>
---
src/common/wpa_ctrl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/common/wpa_ctrl.c b/src/common/wpa_ctrl.c
index 623c2a7..1f1c9c4 100644
--- a/src/common/wpa_ctrl.c
+++ b/src/common/wpa_ctrl.c
@@ -540,7 +540,8 @@ retry_send:
res = recv(ctrl->s, reply, *reply_len, 0);
if (res < 0)
return res;
- if (res > 0 && reply[0] == '<') {
+ if ((res > 0 && reply[0] == '<') ||
+ (res > 6 && strncmp(reply, "IFNAME=", 7) == 0)) {
/* This is an unsolicited message from
* wpa_supplicant, not the reply to the
* request. Use msg_cb to report this to the
--
2.7.5
More information about the Hostap
mailing list