From d999577c6f026e2deff227b7d287071066dc082c Mon Sep 17 00:00:00 2001 From: Federico Lucifredi Date: Sat, 19 Jan 2008 23:42:11 +0000 Subject: RRSIG append_rdata() support. git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico2@1726 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/dns.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'avahi-core') 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) -- cgit