struct connman_service *service;
connman_bool_t setip = FALSE;
enum connman_ipconfig_method method;
+ char *nameservers;
int index;
DBG("%s", modem->path);
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;
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);
}