]> git.meshlink.io Git - catta/commitdiff
core: don't check ARCOUNT to avoid incompatibility with EDNS0
authorLennart Poettering <lennart@poettering.net>
Mon, 28 Jun 2010 20:09:54 +0000 (22:09 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 28 Jun 2010 20:09:54 +0000 (22:09 +0200)
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

index 569b44eb2c8f6abb389eeaa1acfd3071b7117b11..6c7c4e2ef1b3d42dde6649933a59dba1044ecf82 100644 (file)
@@ -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 */