summaryrefslogtreecommitdiffstats
path: root/avahi-core
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-06-28 22:09:54 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-28 22:09:54 +0200
commitd133b188f257ac505b66a69ddf58165e8eeb73ca (patch)
tree6f2f854aedb2d67ecb61645021ecde950317029d /avahi-core
parent1fbf43bbd92a7ac7c07de6253f7a2efcc9a93c47 (diff)
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
Diffstat (limited to 'avahi-core')
-rw-r--r--avahi-core/server.c7
1 files 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 */