From: Daniel Wagner Date: Fri, 10 Aug 2012 09:59:04 +0000 (+0200) Subject: ofono: Set IPv6 nameservers X-Git-Tag: 1.5~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5702348938d6a6cf680ec503cc02a532f24c9910;p=platform%2Fupstream%2Fconnman.git ofono: Set IPv6 nameservers --- 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); }