dnsproxy: Avoid duplication of domains in the TCP server domain list
authorPaulo Pizarro <paulo.pizarro@gmail.com>
Mon, 18 Jun 2012 02:22:38 +0000 (23:22 -0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Mon, 18 Jun 2012 10:32:32 +0000 (13:32 +0300)
The domain list is created in the tcp_server_event function
at connection time (G_IO_OUT event), so it is not necessary
to create it here too.

src/dnsproxy.c

index 58d1bfe..5adede5 100644 (file)
@@ -2368,7 +2368,6 @@ static gboolean tcp_listener_event(GIOChannel *channel, GIOCondition condition,
        unsigned char buf[768];
        char query[512];
        struct request_data *req;
-       struct server_data *server;
        int sk, client_sk, len, err;
        struct sockaddr_in6 client_addr;
        socklen_t client_addr_len = sizeof(client_addr);
@@ -2432,26 +2431,14 @@ static gboolean tcp_listener_event(GIOChannel *channel, GIOCondition condition,
 
        for (list = server_list; list; list = list->next) {
                struct server_data *data = list->data;
-               GList *domains;
 
                if (data->protocol != IPPROTO_UDP || data->enabled == FALSE)
                        continue;
 
-               server = create_server(data->interface, NULL,
-                                       data->server, IPPROTO_TCP);
-               if (server == NULL)
+               if(create_server(data->interface, NULL,
+                                       data->server, IPPROTO_TCP) == NULL)
                        continue;
 
-               for (domains = data->domains; domains;
-                               domains = domains->next) {
-                       char *dom = domains->data;
-
-                       DBG("Adding domain %s to %s", dom, server->server);
-
-                       server->domains = g_list_append(server->domains,
-                                               g_strdup(dom));
-               }
-
                waiting_for_connect = TRUE;
        }