summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-04-24 00:48:36 +0000
committerLennart Poettering <lennart@poettering.net>2006-04-24 00:48:36 +0000
commit5be3898b65a4090f22de65751735138e6662f845 (patch)
tree6ecf54f08baf7186e39834b775ab8fc8879e1ec7
parent5c22acadcbe5b01d910d75b71e86e06a425172d3 (diff)
filter out double DNS server entries
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1195 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-dnsconfd/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c
index b384a03..dafa718 100644
--- a/avahi-dnsconfd/main.c
+++ b/avahi-dnsconfd/main.c
@@ -202,8 +202,18 @@ static char *concat_dns_servers(AvahiIfIndex interface) {
for (i = servers; i; i = i->servers_next)
if (i->interface == interface || interface <= 0) {
+ DNSServerInfo *j;
char *t;
+ /* Filter out double entries */
+ for (j = servers; j != i; j = j->servers_next)
+ if (j->interface == interface || interface <= 0)
+ if (strcmp(i->address, j->address) == 0)
+ break;
+
+ if (j != i)
+ continue;
+
if (!r)
t = avahi_strdup(i->address);
else