summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);