aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch')
-rw-r--r--package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch b/package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch
new file mode 100644
index 0000000000..b9be306118
--- /dev/null
+++ b/package/network/services/dnsmasq/patches/0005-Fix-logging-in-cf5984367bc6a949e3803a576512c5a7bc48e.patch
@@ -0,0 +1,63 @@
+From cbb5b17ad8e03e08ade62376a4f6a2066e55960d Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Tue, 23 Oct 2018 23:45:57 +0100
+Subject: [PATCH 05/11] Fix logging in cf5984367bc6a949e3803a576512c5a7bc48ebab
+
+Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+---
+ src/rfc1035.c | 27 ++++++++++++++++++---------
+ 1 file changed, 18 insertions(+), 9 deletions(-)
+
+--- a/src/rfc1035.c
++++ b/src/rfc1035.c
+@@ -1335,7 +1335,6 @@ size_t answer_request(struct dns_header
+ {
+ unsigned long ttl = daemon->local_ttl;
+ int ok = 1;
+- log_query(F_CONFIG | F_RRNAME, name, NULL, "<TXT>");
+ #ifndef NO_ID
+ /* Dynamically generate stat record */
+ if (t->stat != 0)
+@@ -1345,11 +1344,14 @@ size_t answer_request(struct dns_header
+ ok = 0;
+ }
+ #endif
+- if (ok && add_resource_record(header, limit, &trunc, nameoffset, &ansp,
+- ttl, NULL,
+- T_TXT, t->class, "t", t->len, t->txt))
+- anscount++;
+-
++ if (ok)
++ {
++ log_query(F_CONFIG | F_RRNAME, name, NULL, "<TXT>");
++ if (add_resource_record(header, limit, &trunc, nameoffset, &ansp,
++ ttl, NULL,
++ T_TXT, t->class, "t", t->len, t->txt))
++ anscount++;
++ }
+ }
+ }
+ }
+@@ -1357,12 +1359,19 @@ size_t answer_request(struct dns_header
+
+ if (qclass == C_CHAOS)
+ {
+- /* don't forward *.bind and *.server chaos queries */
++ /* don't forward *.bind and *.server chaos queries - always reply with NOTIMP */
+ if (hostname_issubdomain("bind", name) || hostname_issubdomain("server", name))
+ {
+ if (!ans)
+- notimp = 1, auth = 0;
+- ans = 1;
++ {
++ notimp = 1, auth = 0;
++ if (!dryrun)
++ {
++ addr.addr.rcode.rcode = NOTIMP;
++ log_query(F_CONFIG | F_RCODE, name, &addr, NULL);
++ }
++ ans = 1;
++ }
+ }
+ }
+