From 2cdb75ab524e0c6fc665591daf5811e8045b2912 Mon Sep 17 00:00:00 2001 From: Federico Lucifredi Date: Mon, 28 Jan 2008 00:48:29 +0000 Subject: code to append SEC signatures to records, part I. git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico2@1741 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/query-sched.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/avahi-core/query-sched.c b/avahi-core/query-sched.c index 0319b02..4285dd3 100644 --- a/avahi-core/query-sched.c +++ b/avahi-core/query-sched.c @@ -230,6 +230,9 @@ static int packet_add_query_job(AvahiQueryScheduler *s, AvahiDnsPacket *p, Avahi static void append_known_answers_and_send(AvahiQueryScheduler *s, AvahiDnsPacket *p) { AvahiKnownAnswer *ka; unsigned n; + + FILE fp; /* used to load the private keys */ + assert(s); assert(p); @@ -252,6 +255,23 @@ static void append_known_answers_and_send(AvahiQueryScheduler *s, AvahiDnsPacket avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_FLAGS, avahi_dns_packet_get_field(p, AVAHI_DNS_FIELD_FLAGS) | AVAHI_DNS_FLAG_TC); avahi_dns_packet_set_field(p, AVAHI_DNS_FIELD_ANCOUNT, n); + + /* append signature */ + + /* append trust record */ + /* TODO: the trust record should be generated by an external admin tool and imported, we currently generate it on the fly here */ + if(!(fp = fopen("/etc/avahi/46890.pem","r"))) { + avahi_log_error("private key file open failed."); + assert(fp); + } + + if(!(private_key = PEM_read_PrivateKey(fp, NULL, NULL, "secret"))) { + avahi_log_error("private key read failed."); + assert(fp); + } + + fclose(fp); + avahi_interface_send_packet(s->interface, p); avahi_dns_packet_free(p); -- cgit