ConnMan's own autoscan mechanism has proven to work properly than
wpa_supplicant's one which does not support hidden SSIDs. Thus removing
its support entirely.
---
 gsupplicant/gsupplicant.h |  5 ----
 gsupplicant/supplicant.c  | 66 -----------------------------------------------
 plugins/wifi.c            | 21 +--------------
 3 files changed, 1 insertion(+), 91 deletions(-)

diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h
index 97c804a..187dc65 100644
--- a/gsupplicant/gsupplicant.h
+++ b/gsupplicant/gsupplicant.h
@@ -225,11 +225,6 @@ int g_supplicant_interface_scan(GSupplicantInterface 
*interface,
                                        GSupplicantInterfaceCallback callback,
                                                        void *user_data);
 
-int g_supplicant_interface_autoscan(GSupplicantInterface *interface,
-                                       const char *autoscan_data,
-                                       GSupplicantInterfaceCallback callback,
-                                                       void *user_data);
-
 int g_supplicant_interface_p2p_find(GSupplicantInterface *interface,
                                        GSupplicantInterfaceCallback callback,
                                                        void *user_data);
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 3bdf0dc..dd9a525 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -3443,14 +3443,6 @@ struct interface_scan_data {
        void *user_data;
 };
 
-struct interface_autoscan_data {
-       GSupplicantInterface *interface;
-       char *path;
-       GSupplicantInterfaceCallback callback;
-       const char *autoscan_params;
-       void *user_data;
-};
-
 static void interface_create_data_free(struct interface_create_data *data)
 {
        g_free(data->ifname);
@@ -3967,64 +3959,6 @@ int g_supplicant_interface_scan(GSupplicantInterface 
*interface,
        return ret;
 }
 
-static void interface_autoscan_result(const char *error,
-                               DBusMessageIter *iter, void *user_data)
-{
-       struct interface_autoscan_data *data = user_data;
-       int err = 0;
-
-       if (error) {
-               SUPPLICANT_DBG("error %s", error);
-               err = -EIO;
-       }
-
-       g_free(data->path);
-
-       if (data->callback)
-               data->callback(err, data->interface, data->user_data);
-
-       dbus_free(data);
-}
-
-static void interface_autoscan_params(DBusMessageIter *iter, void *user_data)
-{
-       struct interface_autoscan_data *data = user_data;
-
-       dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING,
-                                                &data->autoscan_params);
-}
-
-int g_supplicant_interface_autoscan(GSupplicantInterface *interface,
-                                       const char *autoscan_data,
-                                       GSupplicantInterfaceCallback callback,
-                                                       void *user_data)
-{
-       struct interface_autoscan_data *data;
-       int ret;
-
-       data = dbus_malloc0(sizeof(*data));
-       if (!data)
-               return -ENOMEM;
-
-       data->interface = interface;
-       data->path = g_strdup(interface->path);
-       data->callback = callback;
-       data->autoscan_params = autoscan_data;
-       data->user_data = user_data;
-
-       ret = supplicant_dbus_method_call(interface->path,
-                       SUPPLICANT_INTERFACE ".Interface", "AutoScan",
-                       interface_autoscan_params,
-                       interface_autoscan_result, data,
-                       interface);
-       if (ret < 0) {
-               g_free(data->path);
-               dbus_free(data);
-       }
-
-       return ret;
-}
-
 static int parse_supplicant_error(DBusMessageIter *iter)
 {
        int err = -ECANCELED;
diff --git a/plugins/wifi.c b/plugins/wifi.c
index e081f8a..1f90a31 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -1399,22 +1399,8 @@ static void setup_autoscan(struct wifi_data *wifi)
        start_autoscan(wifi->device);
 }
 
-static void interface_autoscan_callback(int result,
-                                       GSupplicantInterface *interface,
-                                                       void *user_data)
-{
-       struct wifi_data *wifi = user_data;
-
-       if (result < 0) {
-               DBG("Could not enable Autoscan, falling back...");
-               setup_autoscan(wifi);
-       }
-}
-
 static void finalize_interface_creation(struct wifi_data *wifi)
 {
-       GSupplicantInterface *interface = wifi->interface;
-
        DBG("interface is ready wifi %p tethering %d", wifi, wifi->tethering);
 
        if (!wifi->device) {
@@ -1430,12 +1416,7 @@ static void finalize_interface_creation(struct wifi_data 
*wifi)
        if (wifi->p2p_device)
                return;
 
-       /* Setting up automatic scanning */
-       if (g_supplicant_interface_autoscan(interface, AUTOSCAN_DEFAULT,
-                               interface_autoscan_callback, wifi) < 0) {
-               DBG("Could not enable Autoscan, falling back...");
-               setup_autoscan(wifi);
-       }
+       setup_autoscan(wifi);
 }
 
 static void interface_create_callback(int result,
-- 
2.0.5

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to