summaryrefslogtreecommitdiffstats
path: root/avahi-core/wide-area.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-core/wide-area.c')
-rw-r--r--avahi-core/wide-area.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c
index 2f45b06..08a4512 100644
--- a/avahi-core/wide-area.c
+++ b/avahi-core/wide-area.c
@@ -791,18 +791,24 @@ void wide_area_publish(AvahiRecord *r, char *zone, uint16_t id) {
avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_ID, id);
- /*zone to be updated */
+ /*SOA RR defining zone to be updated */
k = avahi_key_new(zone, AVAHI_DNS_CLASS_ANY, AVAHI_DNS_TYPE_SOA);
+
if (!k) { /*OOM check */
avahi_log_error("avahi_key_new() failed.");
assert();
}
- p = avahi_dns_packet_append_key(p, k, 0);
+ p = avahi_dns_packet_append_key(p, k, 0); /* add zone record */
+
+ avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_QDCOUNT, 1); /*increment record count for ZONE RR */
if (!p) { /*OOM check */
avahi_log_error("appending of rdata failed.");
assert();
}
+ if (!append_rdata(p,r) /* add resource record */
+ assert();
+
} \ No newline at end of file