summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Lucifredi <flucifredi@acm.org>2008-01-19 23:42:11 +0000
committerFederico Lucifredi <flucifredi@acm.org>2008-01-19 23:42:11 +0000
commitd999577c6f026e2deff227b7d287071066dc082c (patch)
treed957369c6a1e994c378e7f71eab94f48e1eedb45
parentd1a7a4a42a6b74e8513ca976b9a1e351c6df41eb (diff)
RRSIG append_rdata() support.
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico2@1726 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/dns.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/avahi-core/dns.c b/avahi-core/dns.c
index 097efd2..bfab09a 100644
--- a/avahi-core/dns.c
+++ b/avahi-core/dns.c
@@ -768,6 +768,37 @@ static int append_rdata(AvahiDnsPacket *p, AvahiRecord *r) {
break;
+ case AVAHI_DNS_TYPE_RRSIG:
+
+ if (!avahi_dns_packet_append_uint16(p, r->data.rrsig.type_covered))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint8(p, r->data.rrsig.algorithm))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint8(p, r->data.rrsig.labels))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint32(p, r->data.rrsig.original_ttl))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint32(p, r->data.rrsig.signature_expiration))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint32(p, r->data.rrsig.signature_inception))
+ return -1;
+
+ if (!avahi_dns_packet_append_uint16(p, r->data.rrsig.key_tag))
+ return -1;
+
+ if (!(avahi_dns_packet_append_name(p, r->data.rrsig.signers_name)))
+ return -1;
+
+ if (!avahi_dns_packet_append_bytes(p, r->data.rrsig.signature, strlen(r->data.tsig.rrsig.signature)))
+ return -1; /*truncates the null-termination */
+
+ break;
+
default:
if (r->data.generic.size)