summaryrefslogtreecommitdiffstats
path: root/avahi-core/dns.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-05-10 23:15:51 +0000
committerLennart Poettering <lennart@poettering.net>2005-05-10 23:15:51 +0000
commit8d8c0255f0f0242a067b577747740bab1b1021ea (patch)
tree7a79b9ffb29fc03b9ade734815ebf348de0020d2 /avahi-core/dns.c
parent602a2b6481587b7da2594db39151ec9380f276df (diff)
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
Diffstat (limited to 'avahi-core/dns.c')
-rw-r--r--avahi-core/dns.c9
1 files changed, 4 insertions, 5 deletions
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;
}