summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Lucifredi <flucifredi@acm.org>2007-12-27 00:55:36 +0000
committerFederico Lucifredi <flucifredi@acm.org>2007-12-27 00:55:36 +0000
commitf0174295e48d59324286dc75e2b4058aa9e7f06b (patch)
tree74e42753a10bc04f34f74cb00ad5d34e59cacb6d
parent73bdbdcec09d29e6dc3f55938c6b0abf09da8517 (diff)
tying in draft HMAC coding.
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1635 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/wide-area.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c
index 89a187b..b2d2084 100644
--- a/avahi-core/wide-area.c
+++ b/avahi-core/wide-area.c
@@ -731,6 +731,10 @@ int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e) {
AvahiRecord* tsig_sign_packet(const char* keyname, const char* key, unsigned keylength, AvahiDnsPacket *p, unsigned algorithm) {
AvahiRecord *r;
+ unsigned char keyed_hash[EVP_MAX_MD_SIZE];
+ HMAC_CTX ctx;
+ unsigned hash_length;
+
r = avahi_record_new_full(keyname, AVAHI_DNS_CLASS_ANY, AVAHI_DNS_TYPE_TSIG, 0);
if (!r) {
@@ -779,10 +783,6 @@ AvahiRecord* tsig_sign_packet(const char* keyname, const char* key, unsigned key
/*generate MAC */
- unsigned char keyed_hash[EVP_MAX_MD_SIZE];
- HMAC_CTX ctx;
- unsigned hash_length;
-
switch (algorithm){
case AVAHI_TSIG_HMAC_MD5 : HMAC_Init(&ctx, key, keylength, EVP_md5());
@@ -802,7 +802,7 @@ AvahiRecord* tsig_sign_packet(const char* keyname, const char* key, unsigned key
/*HMAC_Update(&ctx, <data/>, <length/>);*/ /*feed all the data to be hashed in */
- HMAC_Final((&ctx, keyed_hash, &hash_length);
+ HMAC_Final(&ctx, keyed_hash, &hash_length);
HMAC_cleanup(&ctx);
r->data.tsig.mac = avahi_strndup(keyed_hash, hash_length);