From 10cac5b1a2549a3731e870c574bdd64df7d92877 Mon Sep 17 00:00:00 2001 From: Amarnath Hullur Subramanyam Date: Wed, 23 Sep 2015 12:39:41 -0700 Subject: [PATCH] Android: Set ctrl_iface client socket group (AID_WIFI) separately Split chown() call in wpa_ctrl_open() and wpa_ctrl_open2() to allow the group id to be set even if the process does not have privileges to change the owner. This is needed for modules that need to communicate with wpa_supplicant since without the group change, wpa_supplicant may not have privileges to send the response to a control interface command. Signed-off-by: Jouni Malinen --- src/common/wpa_ctrl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/common/wpa_ctrl.c b/src/common/wpa_ctrl.c index 820dd128a..5733aa605 100644 --- a/src/common/wpa_ctrl.c +++ b/src/common/wpa_ctrl.c @@ -152,6 +152,8 @@ try_again: #ifdef ANDROID chmod(ctrl->local.sun_path, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); + /* Set group even if we do not have privileges to change owner */ + chown(ctrl->local.sun_path, -1, AID_WIFI); chown(ctrl->local.sun_path, AID_SYSTEM, AID_WIFI); if (os_strncmp(ctrl_path, "@android:", 9) == 0) {