diff options
author | Federico Lucifredi <flucifredi@acm.org> | 2008-01-19 23:42:11 +0000 |
---|---|---|
committer | Federico Lucifredi <flucifredi@acm.org> | 2008-01-19 23:42:11 +0000 |
commit | d999577c6f026e2deff227b7d287071066dc082c (patch) | |
tree | d957369c6a1e994c378e7f71eab94f48e1eedb45 /avahi-core | |
parent | d1a7a4a42a6b74e8513ca976b9a1e351c6df41eb (diff) |
RRSIG append_rdata() support.
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico2@1726 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-core')
-rw-r--r-- | avahi-core/dns.c | 31 |
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) |