From 8d8c0255f0f0242a067b577747740bab1b1021ea Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 May 2005 23:15:51 +0000 Subject: check MUSTs of RFC: * always set AA bit on response * handle conflict in known answer suppresion git-svn-id: file:///home/lennart/svn/public/avahi/trunk@67 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/dns.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'avahi-core/dns.c') diff --git a/avahi-core/dns.c b/avahi-core/dns.c index 3435a0d..7a99192 100644 --- a/avahi-core/dns.c +++ b/avahi-core/dns.c @@ -63,11 +63,11 @@ AvahiDnsPacket* avahi_dns_packet_new_query(guint mtu) { return p; } -AvahiDnsPacket* avahi_dns_packet_new_response(guint mtu) { +AvahiDnsPacket* avahi_dns_packet_new_response(guint mtu, gboolean aa) { AvahiDnsPacket *p; p = avahi_dns_packet_new(mtu); - avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_FLAGS, AVAHI_DNS_FLAGS(1, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_FLAGS, AVAHI_DNS_FLAGS(1, 0, aa, 0, 0, 0, 0, 0, 0, 0)); return p; } @@ -75,7 +75,7 @@ AvahiDnsPacket* avahi_dns_packet_new_reply(AvahiDnsPacket* p, guint mtu, gboolea AvahiDnsPacket *r; g_assert(p); - r = avahi_dns_packet_new_response(mtu); + r = avahi_dns_packet_new_response(mtu, aa); if (copy_queries) { guint n, saved_rindex; @@ -102,8 +102,7 @@ AvahiDnsPacket* avahi_dns_packet_new_reply(AvahiDnsPacket* p, guint mtu, gboolea avahi_dns_packet_set_field(r, AVAHI_DNS_FIELD_FLAGS, (avahi_dns_packet_get_field(r, AVAHI_DNS_FIELD_FLAGS) & ~AVAHI_DNS_FLAG_OPCODE) | - (avahi_dns_packet_get_field(p, AVAHI_DNS_FIELD_FLAGS) & AVAHI_DNS_FLAG_OPCODE) | - (aa ? AVAHI_DNS_FLAG_AA : 0)); + (avahi_dns_packet_get_field(p, AVAHI_DNS_FIELD_FLAGS) & AVAHI_DNS_FLAG_OPCODE)); return r; } -- cgit