dbus: Add ConfigFile to AddInterface properties
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.
This commit is contained in:
parent
fe885594ac
commit
d4c1ec56f1
1 changed files with 8 additions and 0 deletions
|
@ -567,6 +567,7 @@ DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
|
||||||
struct wpa_dbus_dict_entry entry;
|
struct wpa_dbus_dict_entry entry;
|
||||||
char *driver = NULL;
|
char *driver = NULL;
|
||||||
char *ifname = NULL;
|
char *ifname = NULL;
|
||||||
|
char *confname = NULL;
|
||||||
char *bridge_ifname = NULL;
|
char *bridge_ifname = NULL;
|
||||||
|
|
||||||
dbus_message_iter_init(message, &iter);
|
dbus_message_iter_init(message, &iter);
|
||||||
|
@ -588,6 +589,12 @@ DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
|
||||||
wpa_dbus_dict_entry_clear(&entry);
|
wpa_dbus_dict_entry_clear(&entry);
|
||||||
if (ifname == NULL)
|
if (ifname == NULL)
|
||||||
goto error;
|
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") &&
|
} else if (!strcmp(entry.key, "BridgeIfname") &&
|
||||||
(entry.type == DBUS_TYPE_STRING)) {
|
(entry.type == DBUS_TYPE_STRING)) {
|
||||||
bridge_ifname = os_strdup(entry.str_value);
|
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));
|
os_memset(&iface, 0, sizeof(iface));
|
||||||
iface.driver = driver;
|
iface.driver = driver;
|
||||||
iface.ifname = ifname;
|
iface.ifname = ifname;
|
||||||
|
iface.confname = confname;
|
||||||
iface.bridge_ifname = bridge_ifname;
|
iface.bridge_ifname = bridge_ifname;
|
||||||
/* Otherwise, have wpa_supplicant attach to it. */
|
/* Otherwise, have wpa_supplicant attach to it. */
|
||||||
if ((wpa_s = wpa_supplicant_add_iface(global, &iface))) {
|
if ((wpa_s = wpa_supplicant_add_iface(global, &iface))) {
|
||||||
|
|
Loading…
Reference in a new issue