On 6/21/2021 22:15, Geert Stappers via Dnsmasq-discuss wrote:
On Mon, Jun 14, 2021 at 11:54:02AM +0200, Trey Sis wrote:
On 6/14/2021 1:43, Trey Sis wrote:
On 6/13/2021 22:01, Geert Stappers via Dnsmasq-discuss wrote:
...
/home/stappers/src/dnsmasq/.git/rebase-apply/patch:62: trailing
whitespace.
if (!dryrun)
warning: 1 line adds whitespace errors.
My bad! Fixed. Find the new patch attached to this message.
Any chance to get this reviewed and maybe added to upstream, Simon?
It will at least needed to be rebased.
Regards
Geert Stappers
_______________________________________________
Alright, here's the rebased patch against the current git head.
From cdc957cdf3e2fb3281b1515af2d111368724a704 Mon Sep 17 00:00:00 2001
From: treysis <trey...@gmx.net>
Date: Sat, 5 Jun 2021 15:27:26 +0200
Subject: [PATCH] Add option to filter A record requests
---
src/dnsmasq.h | 3 ++-
src/option.c | 3 +++
src/rfc1035.c | 11 +++++++++++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/dnsmasq.h b/src/dnsmasq.h
index b21fc17..48c6c7f 100644
--- a/src/dnsmasq.h
+++ b/src/dnsmasq.h
@@ -273,7 +273,8 @@ struct event_desc {
#define OPT_UMBRELLA 63
#define OPT_UMBRELLA_DEVID 64
#define OPT_CMARK_ALST_EN 65
-#define OPT_LAST 66
+#define OPT_FILTER_A 66
+#define OPT_LAST 67
#define OPTION_BITS (sizeof(unsigned int)*8)
#define OPTION_SIZE ( (OPT_LAST/OPTION_BITS)+((OPT_LAST%OPTION_BITS)!=0) )
diff --git a/src/option.c b/src/option.c
index 464f4ff..2092b02 100644
--- a/src/option.c
+++ b/src/option.c
@@ -173,6 +173,7 @@ struct myoption {
#define LOPT_UMBRELLA 364
#define LOPT_CMARK_ALST_EN 365
#define LOPT_CMARK_ALST 366
+#define LOPT_FILTER_A 367
#ifdef HAVE_GETOPT_LONG
static const struct option opts[] =
@@ -351,6 +352,7 @@ static const struct myoption opts[] =
{ "dynamic-host", 1, 0, LOPT_DYNHOST },
{ "log-debug", 0, 0, LOPT_LOG_DEBUG },
{ "umbrella", 2, 0, LOPT_UMBRELLA },
+ { "filter-a", 0, 0, LOPT_FILTER_A },
{ NULL, 0, 0, 0 }
};
@@ -536,6 +538,7 @@ static struct {
{ LOPT_DUMPMASK, ARG_ONE, "<hex>", gettext_noop("Mask which packets to
dump"), NULL },
{ LOPT_SCRIPT_TIME, OPT_LEASE_RENEW, NULL, gettext_noop("Call dhcp-script
when lease expiry changes."), NULL },
{ LOPT_UMBRELLA, ARG_ONE, "[=<optspec>]", gettext_noop("Send Cisco Umbrella
identifiers including remote IP."), NULL },
+ { LOPT_FILTER_A, OPT_FILTER_A, NULL, gettext_noop("Filter all A requests."),
NULL },
{ 0, 0, NULL, NULL, NULL }
};
diff --git a/src/rfc1035.c b/src/rfc1035.c
index 3bd728e..68e49e3 100644
--- a/src/rfc1035.c
+++ b/src/rfc1035.c
@@ -1930,6 +1930,17 @@ size_t answer_request(struct dns_header *header, char
*limit, size_t qlen,
}
}
+ /* filter A forwards */
+ if (qtype == T_A && option_bool(OPT_FILTER_A))
+ {
+ /* return a null reply */
+ ans = 1;
+ if (!dryrun)
+ log_query(F_CONFIG | F_IPV6 | F_NEG, name, &addr, NULL);
+ break;
+ }
+ /* end of filtering A */
+
if (!ans)
return 0; /* failed to answer a question */
}
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss