diff --git a/CHANGELOG b/CHANGELOG index 788aaf9..f7f5125 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -69,6 +69,10 @@ version 2.77 servers. Specifically, be prepared to open a new TCP connection when we want to make multiple queries but the upstream server accepts fewer queries per connection. + + Improve logging of upstream servers when there are a lot + of "local addresses only" entries. Thanks to Hannu Nyman for + the patch. version 2.76 diff --git a/src/config.h b/src/config.h index be9cf05..cf527b3 100644 --- a/src/config.h +++ b/src/config.h @@ -27,6 +27,7 @@ #define FORWARD_TEST 50 /* try all servers every 50 queries */ #define FORWARD_TIME 20 /* or 20 seconds */ #define SERVERS_LOGGED 30 /* Only log this many servers when logging state */ +#define LOCALS_LOGGED 8 /* Only log this many local addresses when logging state */ #define RANDOM_SOCKS 64 /* max simultaneous random ports */ #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */ #define CACHESIZ 150 /* default cache size */ diff --git a/src/network.c b/src/network.c index 770558a..eb41624 100644 --- a/src/network.c +++ b/src/network.c @@ -1438,6 +1438,7 @@ void check_servers(void) struct server *serv; struct serverfd *sfd, *tmp, **up; int port = 0, count; + int locals = 0; /* interface may be new since startup */ if (!option_bool(OPT_NOWILD)) @@ -1541,7 +1542,11 @@ void check_servers(void) s1 = _("domain"), s2 = serv->domain; if (serv->flags & SERV_NO_ADDR) - my_syslog(LOG_INFO, _("using local addresses only for %s %s"), s1, s2); + { + count--; + if (++locals <= LOCALS_LOGGED) + my_syslog(LOG_INFO, _("using local addresses only for %s %s"), s1, s2); + } else if (serv->flags & SERV_USE_RESOLV) my_syslog(LOG_INFO, _("using standard nameservers for %s %s"), s1, s2); else @@ -1558,6 +1563,8 @@ void check_servers(void) } } + if (locals > LOCALS_LOGGED) + my_syslog(LOG_INFO, _("using %d more local addresses"), locals - LOCALS_LOGGED); if (count - 1 > SERVERS_LOGGED) my_syslog(LOG_INFO, _("using %d more nameservers"), count - SERVERS_LOGGED - 1);