From d133b188f257ac505b66a69ddf58165e8eeb73ca Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 28 Jun 2010 22:09:54 +0200 Subject: [PATCH] core: don't check ARCOUNT to avoid incompatibility with EDNS0 Newer Bonjour implementations add EDNS0 extensions to the query packets. We currently consider those corrupted or invalid. This patch drops the check, and accepts them as valid. http://avahi.org/ticket/284 --- avahi-core/server.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/avahi-core/server.c b/avahi-core/server.c index 569b44e..6c7c4e2 100644 --- a/avahi-core/server.c +++ b/avahi-core/server.c @@ -923,10 +923,9 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres if (avahi_dns_packet_is_query(p)) { int legacy_unicast = 0; - if (avahi_dns_packet_get_field(p, AVAHI_DNS_FIELD_ARCOUNT) != 0) { - avahi_log_warn("Invalid query packet."); - return; - } + /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the + * AR section completely here, so far. Until the day we add + * EDNS0 support. */ if (port != AVAHI_MDNS_PORT) { /* Legacy Unicast */ -- 2.39.5