From a9f7f23c5ab1523f8ede042bcf6b4fd3eb8acb06 Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Thu, 24 May 2012 16:25:00 +0300 Subject: [PATCH] service: Properly handle nameservers and search domains Remove system added namservers in 'Nameservers' when setting nameservers from a non-empty 'Nameservers.Config'. Also remove system added domain name from search domains if 'Domains.Config' is set. --- src/service.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/service.c b/src/service.c index 9c06fe9..7d66a4b 100644 --- a/src/service.c +++ b/src/service.c @@ -940,6 +940,8 @@ static void update_nameservers(struct connman_service *service) if (service->nameservers_config != NULL) { int i; + remove_nameservers(service, ifname, service->nameservers); + for (i = 0; service->nameservers_config[i] != NULL; i++) { connman_resolver_append(ifname, NULL, service->nameservers_config[i]); @@ -954,8 +956,12 @@ static void update_nameservers(struct connman_service *service) } if (service->domains != NULL) { + char *searchdomains[2] = {NULL, NULL}; int i; + searchdomains[0] = service->domainname; + remove_searchdomains(service, ifname, searchdomains); + for (i = 0; service->domains[i]; i++) connman_resolver_append(ifname, service->domains[i], NULL); -- 2.7.4