|
@@ -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;
|
|
|
|
|
|
if ((wpa_s = wpa_supplicant_add_iface(global, &iface))) {
|