Analyse pseudeoheader before it might get stripped off

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER 2023-04-09 10:51:16 +02:00
parent 538c6a058c
commit 72b4bc5041
No known key found for this signature in database
GPG Key ID: 00135ACBD90B28DD
1 changed files with 4 additions and 1 deletions

View File

@ -723,6 +723,10 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
/* Get extended RCODE. */
rcode |= sizep[2] << 4;
// Pi-hole modification: Interpret the pseudoheader before
// it might get stripped off below (added_pheader == true)
FTL_parse_pseudoheaders(pheader, (size_t)plen);
if (option_bool(OPT_CLIENT_SUBNET) && !check_source(header, plen, pheader, query_source))
{
my_syslog(LOG_WARNING, _("discarding DNS reply: subnet option mismatch"));
@ -782,7 +786,6 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
union all_addr a;
a.log.rcode = rcode;
a.log.ede = ede;
FTL_parse_pseudoheaders(pheader, (size_t)plen);
log_query(F_UPSTREAM | F_RCODE, "error", &a, NULL, 0);
return resize_packet(header, n, pheader, plen);