} else if (g_str_equal(name, "Nameservers.Configuration") == TRUE) {
DBusMessageIter entry;
GString *str;
+ int index;
+ const char *gw;
if (type != DBUS_TYPE_ARRAY)
return __connman_error_invalid_arguments(msg);
if (str == NULL)
return __connman_error_invalid_arguments(msg);
+ index = connman_network_get_index(service->network);
+ gw = __connman_ipconfig_get_gateway(index);
+
+ if (gw && strlen(gw))
+ __connman_service_nameserver_del_routes(service);
+
dbus_message_iter_recurse(&value, &entry);
while (dbus_message_iter_get_arg_type(&entry) == DBUS_TYPE_STRING) {
g_string_free(str, TRUE);
+ if (gw && strlen(gw))
+ __connman_service_nameserver_add_routes(service, gw);
+
update_nameservers(service);
dns_configuration_changed(service);