rtnl: Register all RDNSS search domains
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 21 Dec 2010 15:57:14 +0000 (16:57 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Tue, 21 Dec 2010 15:57:14 +0000 (16:57 +0100)
src/rtnl.c

index 96f8061..9441c9a 100644 (file)
@@ -1140,13 +1140,23 @@ static void rtnl_newnduseropt(struct nlmsghdr *hdr)
        }
 
        if (nr_servers) {
-               int i;
+               int i, j;
                char buf[40];
 
                for (i = 0; i < nr_servers; i++) {
-                       if (inet_ntop(AF_INET6, servers + i, buf, sizeof(buf)))
+                       if (!inet_ntop(AF_INET6, servers + i, buf, sizeof(buf)))
+                               continue;
+
+                       if (domains == NULL || domains[0] == NULL) {
+                               connman_resolver_append_lifetime(interface,
+                                                       NULL, buf, lifetime);
+                               continue;
+                       }
+
+                       for (j = 0; domains[j]; j++)
                                connman_resolver_append_lifetime(interface,
-                                      domains?domains[0]:NULL, buf, lifetime);
+                                                               domains[j],
+                                                               buf, lifetime);
                }
        }
        g_free(domains);