[Dnsmasq-discuss] [PATCH 3/4] check_server() log servers for special domains properly

weichen302 at icloud.com weichen302 at icloud.com
Sun Feb 8 10:11:21 GMT 2015


Since daemon->servers no longer use server->domain to indicated its role, the
check_server() will log something like "use nameserver 1.2.3.4#53 for
domain(null)". An addition function is used to print out these info correctly.


---
 src/network.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/network.c b/src/network.c
index 7045253..7176ff8 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1422,6 +1422,10 @@ void check_servers(void)
   if (!option_bool(OPT_NOWILD))
     enumerate_interfaces(0);
   
+  char *levels[MAXLABELS + 1];  /* the root node starts at 1 */
+  struct dict_node *root = daemon->dh_special_domains;
+  print_server_special_domains(root, levels, 0);
+
   for (serv = daemon->servers; serv; serv = serv->next)
     {
        if (!(serv->flags & (SERV_LITERAL_ADDRESS | SERV_NO_ADDR | SERV_USE_RESOLV | SERV_NO_REBIND)))
@@ -1461,13 +1465,11 @@ void check_servers(void)
       
       if (!(serv->flags & SERV_NO_REBIND))
 	{
-	  if (serv->flags & (SERV_HAS_DOMAIN | SERV_FOR_NODOTS | SERV_USE_RESOLV))
+	  if (serv->flags & (SERV_FOR_NODOTS | SERV_USE_RESOLV))
 	    {
 	      char *s1, *s2;
 	      if (!(serv->flags & SERV_HAS_DOMAIN))
 		s1 = _("unqualified"), s2 = _("names");
-	      else if (strlen(serv->domain) == 0)
-		s1 = _("default"), s2 = "";
 	      else
 		s1 = _("domain"), s2 = serv->domain;
 	      
-- 
1.7.10.4




More information about the Dnsmasq-discuss mailing list