summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Lucifredi <flucifredi@acm.org>2007-12-28 03:06:50 +0000
committerFederico Lucifredi <flucifredi@acm.org>2007-12-28 03:06:50 +0000
commit4fe3c8336b8d5343d14c0e42aed7eb7cb5ec1315 (patch)
tree5d53b352826eeee187fc00e864530fe1171a3e77
parent2fe10c97fccccacf69eb58d1258e26c9a20eb782 (diff)
append_rdata() extensions for TSIG
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1668 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/dns.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/avahi-core/dns.c b/avahi-core/dns.c
index 9312502..6cd876a 100644
--- a/avahi-core/dns.c
+++ b/avahi-core/dns.c
@@ -763,6 +763,34 @@ static int append_rdata(AvahiDnsPacket *p, AvahiRecord *r) {
break;
case AVAHI_DNS_TYPE_TSIG:
+
+ if (!(avahi_dns_packet_append_name(p, r->data.tsig.algorithm_name)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, r->data.tsig.time_signed, 6)) /* 6 bytes. Order may need fixing? */
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.fudge, sizeof(r->data.tsig.fudge)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.mac_size, sizeof(r->data.tsig.mac_size)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.mac, r->data.tsig.mac_size))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.original_id, sizeof(r->data.tsig.original_id)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.error, sizeof(r->data.tsig.error)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.other_len, sizeof(r->data.tsig.other_len)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, &r->data.tsig.other_data, r->data.tsig.other_len))
+ return -1;
+
break;
default: