mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 18:28:25 +00:00
Fix spurious AD flags in some DNS replies from local config.
This commit is contained in:
@@ -1330,7 +1330,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
{
|
{
|
||||||
if (t->class == qclass && hostname_isequal(name, t->name))
|
if (t->class == qclass && hostname_isequal(name, t->name))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1, sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
unsigned long ttl = daemon->local_ttl;
|
unsigned long ttl = daemon->local_ttl;
|
||||||
@@ -1370,7 +1370,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
addr.addr.rcode.rcode = NOTIMP;
|
addr.addr.rcode.rcode = NOTIMP;
|
||||||
log_query(F_CONFIG | F_RCODE, name, &addr, NULL);
|
log_query(F_CONFIG | F_RCODE, name, &addr, NULL);
|
||||||
}
|
}
|
||||||
ans = 1;
|
ans = 1, sec_data = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1725,7 +1725,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
}
|
}
|
||||||
else if (is_name_synthetic(flag, name, &addr))
|
else if (is_name_synthetic(flag, name, &addr))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1, sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
log_query(F_FORWARD | F_CONFIG | flag, name, &addr, NULL);
|
log_query(F_FORWARD | F_CONFIG | flag, name, &addr, NULL);
|
||||||
@@ -1764,6 +1764,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
if (!rec->issrv && hostname_isequal(name, rec->name))
|
if (!rec->issrv && hostname_isequal(name, rec->name))
|
||||||
{
|
{
|
||||||
ans = found = 1;
|
ans = found = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
int offset;
|
int offset;
|
||||||
@@ -1782,6 +1783,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
cache_find_by_name(NULL, name, now, F_HOSTS | F_DHCP | F_NO_RR))
|
cache_find_by_name(NULL, name, now, F_HOSTS | F_DHCP | F_NO_RR))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
log_query(F_CONFIG | F_RRNAME, name, NULL, "<MX>");
|
log_query(F_CONFIG | F_RRNAME, name, NULL, "<MX>");
|
||||||
@@ -1802,6 +1804,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
if (rec->issrv && hostname_isequal(name, rec->name))
|
if (rec->issrv && hostname_isequal(name, rec->name))
|
||||||
{
|
{
|
||||||
found = ans = 1;
|
found = ans = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
int offset;
|
int offset;
|
||||||
@@ -1838,6 +1841,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
if (!found && option_bool(OPT_FILTER) && (qtype == T_SRV || (qtype == T_ANY && strchr(name, '_'))))
|
if (!found && option_bool(OPT_FILTER) && (qtype == T_SRV || (qtype == T_ANY && strchr(name, '_'))))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
log_query(F_CONFIG | F_NEG, name, NULL, NULL);
|
log_query(F_CONFIG | F_NEG, name, NULL, NULL);
|
||||||
}
|
}
|
||||||
@@ -1850,6 +1854,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
if (hostname_isequal(name, na->name))
|
if (hostname_isequal(name, na->name))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
{
|
{
|
||||||
log_query(F_CONFIG | F_RRNAME, name, NULL, "<NAPTR>");
|
log_query(F_CONFIG | F_RRNAME, name, NULL, "<NAPTR>");
|
||||||
@@ -1862,11 +1867,12 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (qtype == T_MAILB)
|
if (qtype == T_MAILB)
|
||||||
ans = 1, nxdomain = 1;
|
ans = 1, nxdomain = 1, sec_data = 0;
|
||||||
|
|
||||||
if (qtype == T_SOA && option_bool(OPT_FILTER))
|
if (qtype == T_SOA && option_bool(OPT_FILTER))
|
||||||
{
|
{
|
||||||
ans = 1;
|
ans = 1;
|
||||||
|
sec_data = 0;
|
||||||
if (!dryrun)
|
if (!dryrun)
|
||||||
log_query(F_CONFIG | F_NEG, name, &addr, NULL);
|
log_query(F_CONFIG | F_NEG, name, &addr, NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user