diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-08-10 11:59:04 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-08-14 09:02:19 +0300 |
commit | 5702348938d6a6cf680ec503cc02a532f24c9910 (patch) | |
tree | 062500218984b025dec84e6c3897eec911585951 /plugins/ofono.c | |
parent | 677303d07342589f22ce9f937ad9cf53d00394df (diff) | |
download | connman-5702348938d6a6cf680ec503cc02a532f24c9910.tar.gz connman-5702348938d6a6cf680ec503cc02a532f24c9910.tar.bz2 connman-5702348938d6a6cf680ec503cc02a532f24c9910.zip |
ofono: Set IPv6 nameservers
Diffstat (limited to 'plugins/ofono.c')
-rw-r--r-- | plugins/ofono.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/plugins/ofono.c b/plugins/ofono.c index 87bb956f..2122b85d 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -259,6 +259,7 @@ static void set_connected(struct modem_data *modem) struct connman_service *service; connman_bool_t setip = FALSE; enum connman_ipconfig_method method; + char *nameservers; int index; DBG("%s", modem->path); @@ -289,8 +290,6 @@ static void set_connected(struct modem_data *modem) if (method == CONNMAN_IPCONFIG_METHOD_FIXED) { connman_network_set_ipaddress(modem->network, modem->context->ipv4_address); - connman_network_set_nameservers(modem->network, - modem->context->ipv4_nameservers); } method = modem->context->ipv6_method; @@ -302,6 +301,22 @@ static void set_connected(struct modem_data *modem) setip = TRUE; } + /* Set the nameservers */ + if (modem->context->ipv4_nameservers != NULL && + modem->context->ipv6_nameservers != NULL) { + nameservers = g_strdup_printf("%s %s", + modem->context->ipv4_nameservers, + modem->context->ipv6_nameservers); + connman_network_set_nameservers(modem->network, nameservers); + g_free(nameservers); + } else if (modem->context->ipv4_nameservers != NULL) { + connman_network_set_nameservers(modem->network, + modem->context->ipv4_nameservers); + } else if (modem->context->ipv6_nameservers != NULL) { + connman_network_set_nameservers(modem->network, + modem->context->ipv6_nameservers); + } + if (setip == TRUE) connman_network_set_connected(modem->network, TRUE); } |