diff options
Diffstat (limited to 'package/network/services/dnsmasq/patches/010-reduce-logging.patch')
-rw-r--r-- | package/network/services/dnsmasq/patches/010-reduce-logging.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/package/network/services/dnsmasq/patches/010-reduce-logging.patch b/package/network/services/dnsmasq/patches/010-reduce-logging.patch new file mode 100644 index 0000000..9141a13 --- /dev/null +++ b/package/network/services/dnsmasq/patches/010-reduce-logging.patch @@ -0,0 +1,83 @@ +From 3e2496fb16fb78cb95fffdac80f967310a34b1fa Mon Sep 17 00:00:00 2001 +From: Hannu Nyman <hannu.nyman@iki.fi> +Date: Sat, 11 Feb 2017 13:44:08 +0000 +Subject: [PATCH] Decrease the number of individual sites listed in log. + +By default 30 first servers are listed individually to system log, and +then a count of the remaining items. With e.g. a NXDOMAIN based adblock +service, dnsmasq lists 30 unnecessary ad sites every time when dnsmasq +evaluates the list. But the actual nameservers in use are evaluated last +and are not displayed as they get included in the "remaining items" total. + +Handle the "local addresses only" separately and list only a few of them. +Remove the "local addresses only" from the general count. +--- + CHANGELOG | 4 ++++ + src/config.h | 1 + + src/network.c | 9 ++++++++- + 3 files changed, 13 insertions(+), 1 deletion(-) + +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); + +-- +1.7.10.4 + |