summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Lucifredi <flucifredi@acm.org>2007-12-25 16:36:47 +0000
committerFederico Lucifredi <flucifredi@acm.org>2007-12-25 16:36:47 +0000
commit487471ad96b0c0eb2d00fb7b4ff6d74512322315 (patch)
treecd7ff672b8c4e76cc284ade857f044c34c95532b
parent84c26eb8fd2a3aa415eb7a36c94d14a9f2a51cc8 (diff)
added key, fixed error-checking bug.
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1614 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/wide-area.c11
-rw-r--r--avahi-core/wide-area.h2
2 files changed, 7 insertions, 6 deletions
diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c
index 38ac099..c14201f 100644
--- a/avahi-core/wide-area.c
+++ b/avahi-core/wide-area.c
@@ -723,12 +723,13 @@ int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e) {
}
/* TODO: should this be located in this file? */
-/* r = tsig_sign_packet("dynamic.endorfine.org", p, AVAHI_TSIG_HMAC_MD5) */
+/* fill key with HEX format key */
+/* r = tsig_sign_packet("dynamic.endorfine.org", key, p, AVAHI_TSIG_HMAC_MD5) */
/* check for NULL on return */
-AvahiRecord* tsig_sign_packet(const char* name, AvahiDnsPacket *p, unsigned algorithm) {
+AvahiRecord* tsig_sign_packet(const char* keyname, const char* key, AvahiDnsPacket *p, unsigned algorithm) {
AvahiRecord *r;
- r = avahi_record_new_full(name, AVAHI_DNS_CLASS_ANY, AVAHI_DNS_TYPE_TSIG, 0);
+ r = avahi_record_new_full(keyname, AVAHI_DNS_CLASS_ANY, AVAHI_DNS_TYPE_TSIG, 0);
if (!r) {
avahi_log_error("avahi_record_new_full() failed.");
@@ -737,7 +738,7 @@ AvahiRecord* tsig_sign_packet(const char* name, AvahiDnsPacket *p, unsigned algo
r->ttl = 0;
- r->data.tsig.name = avahi_strdup(name);
+ r->data.tsig.name = avahi_strdup(keyname);
if(!(r->data.tsig.name)) /* OOM check */
return NULL;
@@ -753,7 +754,7 @@ AvahiRecord* tsig_sign_packet(const char* name, AvahiDnsPacket *p, unsigned algo
case AVAHI_TSIG_HMAC_MD5 :
r->data.tsig.algorithm_name = avahi_strdup("hmac-md5.sig-alg.reg.int");
- if(!(r->data.tsig.name)) /* OOM check */
+ if(!(r->data.tsig.algorithm_name)) /* OOM check */
return NULL;
r->data.tsig.mac_size = 16;
diff --git a/avahi-core/wide-area.h b/avahi-core/wide-area.h
index 4f1271b..f052987 100644
--- a/avahi-core/wide-area.h
+++ b/avahi-core/wide-area.h
@@ -44,7 +44,7 @@ void avahi_wide_area_set_servers(AvahiWideAreaLookupEngine *e, const AvahiAddres
void avahi_wide_area_clear_cache(AvahiWideAreaLookupEngine *e);
void avahi_wide_area_cleanup(AvahiWideAreaLookupEngine *e);
int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e);
-AvahiRecord* tsig_sign_packet(const char* name, AvahiDnsPacket *p, unsigned algorithm);
+AvahiRecord* tsig_sign_packet(const char* keyname, const char* key, AvahiDnsPacket *p, unsigned algorithm);
AvahiWideAreaLookup *avahi_wide_area_lookup_new(AvahiWideAreaLookupEngine *e, AvahiKey *key, AvahiWideAreaLookupCallback callback, void *userdata);
void avahi_wide_area_lookup_free(AvahiWideAreaLookup *q);