---
src/provider.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/provider.c b/src/provider.c
index 21b3873..a5b53ed 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -753,7 +753,7 @@ int __connman_provider_create_and_connect(DBusMessage *msg)
struct connman_provider *provider;
DBusMessageIter iter, array;
const char *type = NULL, *name = NULL, *service_path;
- const char *host = NULL, *domain = NULL;
+ const char *host = NULL, *domain = NULL, *networks = NULL;
char *ident;
int err;
@@ -780,6 +780,8 @@ int __connman_provider_create_and_connect(DBusMessage *msg)
dbus_message_iter_get_basic(&value, &host);
else if (g_str_equal(key, "VPN.Domain") == TRUE)
dbus_message_iter_get_basic(&value, &domain);
+ else if (g_str_equal(key, "UserNetworks") == TRUE)
+ dbus_message_iter_get_basic(&value, &networks);
break;
}
@@ -789,7 +791,7 @@ int __connman_provider_create_and_connect(DBusMessage *msg)
if (host == NULL || domain == NULL)
return -EINVAL;
- DBG("Type %s name %s", type, name);
+ DBG("Type %s name %s networks %s", type, name, networks);
if (type == NULL || name == NULL)
return -EOPNOTSUPP;
@@ -817,6 +819,12 @@ int __connman_provider_create_and_connect(DBusMessage *msg)
connman_provider_load(provider);
}
+ if (networks != NULL) {
+ g_free(provider->user_networks);
+ provider->user_networks = g_strdup(networks);
+ set_user_networks(provider, provider->user_networks);
+ }
+
dbus_message_iter_init(msg, &iter);
dbus_message_iter_recurse(&iter, &array);
--
1.7.5.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman