diff options
Diffstat (limited to 'avahi-core/wide-area.c')
-rw-r--r-- | avahi-core/wide-area.c | 10 |
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 |