Debug printfs
authorSimon Kelley <simon@thekelleys.org.uk>
Fri, 6 Jun 2025 08:43:48 +0000 (09:43 +0100)
committerSimon Kelley <simon@thekelleys.org.uk>
Fri, 6 Jun 2025 08:43:48 +0000 (09:43 +0100)
src/domain-match.c

index 708790f..38617e0 100644 (file)
@@ -279,6 +279,10 @@ int filter_servers(int seed, int flags, int *lowout, int *highout)
     nhigh++;
   
   nhigh++;
+
+  if (flags & F_DOMAINSRV)
+    my_syslog(LOG_DEBUG, "In filter_servers, seed = %n, low = %n, high = %n, arraysz = %n",
+             seed, nlow, nhigh, daemon->serverarraysz);
   
 #define SERV_LOCAL_ADDRESS (SERV_6ADDR | SERV_4ADDR | SERV_ALL_ZEROS)
   
@@ -342,8 +346,12 @@ int filter_servers(int seed, int flags, int *lowout, int *highout)
                        nhigh = i;
                      else
                        {
+                         if (flags & F_DOMAINSRV)
+                           my_syslog(LOG_DEBUG, "In filter_servers, seed = %n, low = %n, high = %n, arraysz = %n",
+                                     seed, nlow, nhigh, daemon->serverarraysz);
+                         
                          /* If we want a server for a particular domain, and this one isn't, return nothing. */
-                         if (nlow != nhigh && (flags & F_DOMAINSRV) && daemon->serverarray[nlow]->domain_len == 0)
+                         if (nlow < daemon->serverarraysz && nlow != nhigh && (flags & F_DOMAINSRV) && daemon->serverarray[nlow]->domain_len == 0)
                            nlow = nhigh;
                        }
                    }