]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
dbus: Add ConfigFile to AddInterface properties
authorSam Leffler <sleffler@google.com>
Sun, 20 Mar 2011 09:52:57 +0000 (11:52 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 20 Mar 2011 09:52:57 +0000 (11:52 +0200)
This provides feature parity with the old-style D-Bus API. Explicit
properties to control global parameters is preferred but until that
happens this allows doing things like setting pkcs11_engine_path and
pkcs11_module_path via D-Bus.

wpa_supplicant/dbus/dbus_new_handlers.c

index e41fc162178e14450ac387d2da711492fbe8b2d2..02ace9b5e0f81dac153156de449e489621ad689f 100644 (file)
@@ -567,6 +567,7 @@ DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
        struct wpa_dbus_dict_entry entry;
        char *driver = NULL;
        char *ifname = NULL;
+       char *confname = NULL;
        char *bridge_ifname = NULL;
 
        dbus_message_iter_init(message, &iter);
@@ -588,6 +589,12 @@ DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
                        wpa_dbus_dict_entry_clear(&entry);
                        if (ifname == NULL)
                                goto error;
+               } else if (!strcmp(entry.key, "ConfigFile") &&
+                          (entry.type == DBUS_TYPE_STRING)) {
+                       confname = os_strdup(entry.str_value);
+                       wpa_dbus_dict_entry_clear(&entry);
+                       if (confname == NULL)
+                               goto error;
                } else if (!strcmp(entry.key, "BridgeIfname") &&
                           (entry.type == DBUS_TYPE_STRING)) {
                        bridge_ifname = os_strdup(entry.str_value);
@@ -618,6 +625,7 @@ DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
                os_memset(&iface, 0, sizeof(iface));
                iface.driver = driver;
                iface.ifname = ifname;
+               iface.confname = confname;
                iface.bridge_ifname = bridge_ifname;
                /* Otherwise, have wpa_supplicant attach to it. */
                if ((wpa_s = wpa_supplicant_add_iface(global, &iface))) {