From e9eb648e0e08b7bf692fbcbe9eaa3505316fad70 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 15 May 2014 21:34:32 +0300 Subject: [PATCH] P2P: Reject P2P_FIND and P2P_LISTEN on disabled interface This makes the P2P operations behave more consistently with the SCAN command. Signed-off-by: Jouni Malinen --- wpa_supplicant/ctrl_iface.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c index b2936c59a..9f01271d2 100644 --- a/wpa_supplicant/ctrl_iface.c +++ b/wpa_supplicant/ctrl_iface.c @@ -3933,6 +3933,11 @@ static int p2p_ctrl_find(struct wpa_supplicant *wpa_s, char *cmd) char *pos; unsigned int search_delay; + if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED) { + wpa_dbg(wpa_s, MSG_INFO, + "Reject P2P_FIND since interface is disabled"); + return -1; + } if (os_strstr(cmd, "type=social")) type = P2P_FIND_ONLY_SOCIAL; else if (os_strstr(cmd, "type=progressive")) @@ -4084,6 +4089,11 @@ static int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd, static int p2p_ctrl_listen(struct wpa_supplicant *wpa_s, char *cmd) { unsigned int timeout = atoi(cmd); + if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED) { + wpa_dbg(wpa_s, MSG_INFO, + "Reject P2P_LISTEN since interface is disabled"); + return -1; + } return wpas_p2p_listen(wpa_s, timeout); }