Return an error when trying to connect hidden networks
[connman] / plugins / wifi.c
index 7c30f07..21b9208 100644 (file)
@@ -136,15 +136,21 @@ static int wifi_scan(struct connman_device *device)
 static int wifi_join(struct connman_device *device,
                                        struct connman_network *network)
 {
-       const char *ssid;
+       int err;
 
        DBG("device %p", device);
 
-       ssid = connman_network_get_string(network, "WiFi.SSID");
+       err = supplicant_connect(network);
+       if (err < 0)
+               return err;
+
+       connman_network_ref(network);
+
+       connman_device_add_network(device, network);
 
-       DBG("SSID %s", ssid);
+       connman_network_set_available(network, TRUE);
 
-       return -EIO;
+       return 0;
 }
 
 static struct connman_device_driver wifi_driver = {