]> git.meshlink.io Git - catta/blobdiff - avahi-dnsconfd/main.c
filter out double DNS server entries
[catta] / avahi-dnsconfd / main.c
index b384a038e0df19196c76cf40a7d2f702afec1435..dafa718b5cfecc410716a8f6217ed2104505faee 100644 (file)
@@ -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