diff options
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.patch | 63 |
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; ++ } + } + } + |