]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Direct P2P_CONNECT command to proper interface
authorJouni Malinen <j@w1.fi>
Sun, 1 Mar 2015 09:54:39 +0000 (11:54 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 1 Mar 2015 09:54:39 +0000 (11:54 +0200)
It is possible for the P2P_CONNECT control interface command to be
issued on an incorrect interface. While the upper layer component should
really use global control interface for this, make this work by
redirecting the command to the correct context if needed.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/ctrl_iface.c

index a2d79faceecb8c2a220c67219ca284d2adb93432..e840b352d307d21604308714116d9bfd95bfa588 100644 (file)
@@ -4741,6 +4741,14 @@ static int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd,
        int pd;
        int ht40, vht;
 
+       if (!wpa_s->global->p2p_init_wpa_s)
+               return -1;
+       if (wpa_s->global->p2p_init_wpa_s != wpa_s) {
+               wpa_dbg(wpa_s, MSG_DEBUG, "Direct P2P_CONNECT command to %s",
+                       wpa_s->global->p2p_init_wpa_s->ifname);
+               wpa_s = wpa_s->global->p2p_init_wpa_s;
+       }
+
        /* <addr> <"pbc" | "pin" | PIN> [label|display|keypad|p2ps]
         * [persistent|persistent=<network id>]
         * [join] [auth] [go_intent=<0..15>] [freq=<in MHz>] [provdisc]