From 4546141949cce7e2518f94d23361c02cb11a65c4 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 9 Dec 2021 11:14:57 +0100 Subject: [PATCH] dnsdist: Account for the proxy protocol payload when checking the query size --- pdns/dnsdistdist/doh.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pdns/dnsdistdist/doh.cc b/pdns/dnsdistdist/doh.cc index 268e6f97d3..aa1fad141e 100644 --- a/pdns/dnsdistdist/doh.cc +++ b/pdns/dnsdistdist/doh.cc @@ -1320,7 +1320,10 @@ static void on_dnsdist(h2o_socket_t *listener, const char *err) continue; } - if (!du->tcp && du->truncated && du->query.size() > sizeof(dnsheader)) { + if (!du->tcp && + du->truncated && + du->query.size() > du->proxyProtocolPayloadSize && + (du->query.size() - du->proxyProtocolPayloadSize) > sizeof(dnsheader)) { /* restoring the original ID */ dnsheader* queryDH = reinterpret_cast(du->query.data() + du->proxyProtocolPayloadSize); queryDH->id = du->ids.origID; -- 2.47.2