diff options
-rw-r--r-- | avahi-dnsconfd/main.c | 10 |
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 |