summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Lucifredi <flucifredi@acm.org>2008-01-28 00:48:29 +0000
committerFederico Lucifredi <flucifredi@acm.org>2008-01-28 00:48:29 +0000
commit2cdb75ab524e0c6fc665591daf5811e8045b2912 (patch)
tree989cf72f9449476cc55605c77e10282c332600d1
parent87e4427cf30e4888cb6eac5a88fb64be13f4ba74 (diff)
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
-rw-r--r--avahi-core/query-sched.c20
1 files changed, 20 insertions, 0 deletions
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);