GAS: Remove unused gas_query_cancel()
[mech_eap.git] / wpa_supplicant / dbus / dbus_old_handlers.c
index 504de2a..e8f62ef 100644 (file)
@@ -165,8 +165,8 @@ DBusMessage * wpas_dbus_global_add_interface(DBusMessage *message,
                iface.confname = confname;
                iface.bridge_ifname = bridge_ifname;
                /* Otherwise, have wpa_supplicant attach to it. */
-               wpa_s = wpa_supplicant_add_iface(global, &iface);
-               if (wpa_s) {
+               wpa_s = wpa_supplicant_add_iface(global, &iface, NULL);
+               if (wpa_s && wpa_s->dbus_path) {
                        const char *path = wpa_s->dbus_path;
 
                        reply = dbus_message_new_method_return(message);
@@ -262,7 +262,7 @@ DBusMessage * wpas_dbus_global_get_interface(DBusMessage *message,
        }
 
        wpa_s = wpa_supplicant_get_iface(global, ifname);
-       if (wpa_s == NULL) {
+       if (wpa_s == NULL || !wpa_s->dbus_path) {
                reply = wpas_dbus_new_invalid_iface_error(message);
                goto out;
        }
@@ -354,6 +354,11 @@ DBusMessage * wpas_dbus_iface_scan_results(DBusMessage *message,
        DBusMessageIter sub_iter;
        struct wpa_bss *bss;
 
+       if (!wpa_s->dbus_path)
+               return dbus_message_new_error(message,
+                                             WPAS_ERROR_INTERNAL_ERROR,
+                                             "no D-Bus interface available");
+
        /* Create and initialize the return message */
        reply = dbus_message_new_method_return(message);
        dbus_message_iter_init_append(reply, &iter);
@@ -495,7 +500,7 @@ DBusMessage * wpas_dbus_iface_capabilities(DBusMessage *message,
        /* EAP methods */
        eap_methods = eap_get_names_as_string_array(&num_items);
        if (eap_methods) {
-               dbus_bool_t success = FALSE;
+               dbus_bool_t success;
                size_t i = 0;
 
                success = wpa_dbus_dict_append_string_array(
@@ -708,10 +713,11 @@ DBusMessage * wpas_dbus_iface_add_network(DBusMessage *message,
                                          struct wpa_supplicant *wpa_s)
 {
        DBusMessage *reply = NULL;
-       struct wpa_ssid *ssid;
+       struct wpa_ssid *ssid = NULL;
        char path_buf[WPAS_DBUS_OBJECT_PATH_MAX], *path = path_buf;
 
-       ssid = wpa_config_add_network(wpa_s->conf);
+       if (wpa_s->dbus_path)
+               ssid = wpa_config_add_network(wpa_s->conf);
        if (ssid == NULL) {
                reply = dbus_message_new_error(
                        message, WPAS_ERROR_ADD_NETWORK_ERROR,
@@ -769,7 +775,7 @@ DBusMessage * wpas_dbus_iface_remove_network(DBusMessage *message,
        }
 
        /* Ensure the network is actually a child of this interface */
-       if (os_strcmp(iface, wpa_s->dbus_path) != 0) {
+       if (!wpa_s->dbus_path || os_strcmp(iface, wpa_s->dbus_path) != 0) {
                reply = wpas_dbus_new_invalid_network_error(message);
                goto out;
        }
@@ -803,10 +809,10 @@ out:
 }
 
 
-static const char  const *dont_quote[] = {
+static const char * const dont_quote[] = {
        "key_mgmt", "proto", "pairwise", "auth_alg", "group", "eap",
        "opensc_engine_path", "pkcs11_engine_path", "pkcs11_module_path",
-       "bssid", NULL
+       "bssid", "scan_freq", "freq_list", NULL
 };
 
 
@@ -878,7 +884,7 @@ DBusMessage * wpas_dbus_iface_set_network(DBusMessage *message,
                        if (should_quote_opt(entry.key)) {
                                size = os_strlen(entry.str_value);
                                /* Zero-length option check */
-                               if (size <= 0)
+                               if (size == 0)
                                        goto error;
                                size += 3;  /* For quotes and terminator */
                                value = os_zalloc(size);
@@ -1020,7 +1026,7 @@ DBusMessage * wpas_dbus_iface_select_network(DBusMessage *message,
                        goto out;
                }
                /* Ensure the object path really points to this interface */
-               if (network == NULL ||
+               if (network == NULL || !wpa_s->dbus_path ||
                    os_strcmp(iface_obj_path, wpa_s->dbus_path) != 0) {
                        reply = wpas_dbus_new_invalid_network_error(message);
                        goto out;
@@ -1134,25 +1140,27 @@ DBusMessage * wpas_dbus_iface_set_smartcard_modules(
                    entry.type == DBUS_TYPE_STRING) {
                        os_free(opensc_engine_path);
                        opensc_engine_path = os_strdup(entry.str_value);
+                       wpa_dbus_dict_entry_clear(&entry);
                        if (opensc_engine_path == NULL)
                                goto error;
                } else if (!strcmp(entry.key, "pkcs11_engine_path") &&
                           entry.type == DBUS_TYPE_STRING) {
                        os_free(pkcs11_engine_path);
                        pkcs11_engine_path = os_strdup(entry.str_value);
+                       wpa_dbus_dict_entry_clear(&entry);
                        if (pkcs11_engine_path == NULL)
                                goto error;
                } else if (!strcmp(entry.key, "pkcs11_module_path") &&
                                 entry.type == DBUS_TYPE_STRING) {
                        os_free(pkcs11_module_path);
                        pkcs11_module_path = os_strdup(entry.str_value);
+                       wpa_dbus_dict_entry_clear(&entry);
                        if (pkcs11_module_path == NULL)
                                goto error;
                } else {
                        wpa_dbus_dict_entry_clear(&entry);
                        goto error;
                }
-               wpa_dbus_dict_entry_clear(&entry);
        }
 
        os_free(wpa_s->conf->opensc_engine_path);