DA: Skip initializing failed_bssids list when eapol failure case
[platform/upstream/connman.git] / tools / supplicant-test.c
old mode 100644 (file)
new mode 100755 (executable)
index 87dff6f..a640807
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -45,13 +45,15 @@ static void create_callback(int result, struct supplicant_interface *interface,
 
        if (result < 0)
                return;
+
+       //supplicant_set_debug_level(1);
 }
 
 static void system_ready(void)
 {
        DBG("*");
 
-       supplicant_interface_create("wlan0", "nl80211",
+       supplicant_interface_create("wlan0", "nl80211,wext",
                                                create_callback, NULL);
 }
 
@@ -60,11 +62,23 @@ static void system_killed(void)
        DBG("*");
 }
 
+static void scan_callback(int result, void *user_data)
+{
+       DBG("* result %d", result);
+
+       if (result < 0)
+               return;
+}
+
 static void interface_added(struct supplicant_interface *interface)
 {
        const char *ifname = supplicant_interface_get_ifname(interface);
+       const char *driver = supplicant_interface_get_driver(interface);
 
-       DBG("* ifname %s", ifname);
+       DBG("* ifname %s driver %s", ifname, driver);
+
+       if (supplicant_interface_scan(interface, scan_callback, NULL) < 0)
+               DBG("scan failed");
 }
 
 static void interface_removed(struct supplicant_interface *interface)
@@ -74,6 +88,20 @@ static void interface_removed(struct supplicant_interface *interface)
        DBG("* ifname %s", ifname);
 }
 
+static void scan_started(struct supplicant_interface *interface)
+{
+       const char *ifname = supplicant_interface_get_ifname(interface);
+
+       DBG("* ifname %s", ifname);
+}
+
+static void scan_finished(struct supplicant_interface *interface)
+{
+       const char *ifname = supplicant_interface_get_ifname(interface);
+
+       DBG("* ifname %s", ifname);
+}
+
 static void network_added(struct supplicant_network *network)
 {
        const char *name = supplicant_network_get_name(network);
@@ -95,6 +123,8 @@ static const struct supplicant_callbacks callbacks = {
        .system_killed          = system_killed,
        .interface_added        = interface_added,
        .interface_removed      = interface_removed,
+       .scan_started           = scan_started,
+       .scan_finished          = scan_finished,
        .network_added          = network_added,
        .network_removed        = network_removed,
 };
@@ -126,8 +156,8 @@ int main(int argc, char *argv[])
        dbus_error_init(&err);
 
        conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, &err);
-       if (conn == NULL) {
-               if (dbus_error_is_set(&err) == TRUE) {
+       if (!conn) {
+               if (dbus_error_is_set(&err)) {
                        fprintf(stderr, "%s\n", err.message);
                        dbus_error_free(&err);
                } else