Fix to last commit.
diff --git a/src/dnssec.c b/src/dnssec.c
index ebd7254..e62b424 100644
--- a/src/dnssec.c
+++ b/src/dnssec.c
@@ -1393,7 +1393,8 @@
if (!CHECK_LEN(header, p, plen, 0))
return digest; /* bad packet */
}
-
+
+ hash->digest(ctx, hash->digest_size, digest);
return digest;
}
diff --git a/src/forward.c b/src/forward.c
index 2bc2244..59d03f1 100644
--- a/src/forward.c
+++ b/src/forward.c
@@ -1375,7 +1375,7 @@
{
struct server *firstsendto = NULL;
#ifdef HAVE_DNSSEC
- unsigned char *newhash, *hash[HASH_SIZE];
+ unsigned char *newhash, hash[HASH_SIZE];
if ((newhash = hash_questions(header, (unsigned int)size, daemon->keyname)))
memcpy(hash, newhash, HASH_SIZE);
#else
@@ -1506,10 +1506,16 @@
#ifdef HAVE_DNSSEC
newhash = hash_questions(header, (unsigned int)m, daemon->namebuff);
if (!newhash || memcmp(hash, newhash, HASH_SIZE) != 0)
- break;
+ {
+ m = 0;
+ break;
+ }
#else
if (crc != questions_crc(header, (unsigned int)m, daemon->namebuff))
- break;
+ {
+ m = 0;
+ break;
+ }
#endif
m = process_reply(header, now, last_server, (unsigned int)m,