From: Yu Watanabe Date: Wed, 8 Nov 2023 12:35:12 +0000 (+0900) Subject: resolve/mdns: allow mDNS queries with truncation flag X-Git-Tag: v255-rc2~74^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f087266e3d0aadfc3fcc17f33c72a3079c15b2c;p=thirdparty%2Fsystemd.git resolve/mdns: allow mDNS queries with truncation flag If the query has many Known-Answers records, then the truncation flag is set. Fixes #29168. --- diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c index ecc75c6590b..ca1eea43463 100644 --- a/src/resolve/resolved-dns-packet.c +++ b/src/resolve/resolved-dns-packet.c @@ -307,13 +307,13 @@ int dns_packet_validate_query(DnsPacket *p) { if (DNS_PACKET_OPCODE(p) != 0) return -EBADMSG; - if (DNS_PACKET_TC(p)) - return -EBADMSG; - switch (p->protocol) { case DNS_PROTOCOL_LLMNR: case DNS_PROTOCOL_DNS: + if (DNS_PACKET_TC(p)) /* mDNS query may have truncation flag. */ + return -EBADMSG; + /* RFC 4795, Section 2.1.1. says to discard all queries with QDCOUNT != 1 */ if (DNS_PACKET_QDCOUNT(p) != 1) return -EBADMSG;