- Fix that NSEC3 negative cache is used when there is no salt.

git-svn-id: file:///svn/unbound/trunk@3639 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2016-02-24 15:02:35 +00:00
parent fc66af5eea
commit 718e98b1cd
2 changed files with 15 additions and 5 deletions

View file

@ -1,5 +1,6 @@
24 February 2016: Wouter
- Fix OpenBSD asynclook lock free that gets used later (fix test code).
- Fix that NSEC3 negative cache is used when there is no salt.
23 February 2016: Wouter
- ub_ctx_set_stub() function for libunbound to config stub zones.

View file

@ -823,13 +823,22 @@ void neg_insert_data(struct val_neg_cache* neg,
(h != zone->nsec3_hash || it != zone->nsec3_iter ||
slen != zone->nsec3_saltlen ||
memcmp(zone->nsec3_salt, s, slen) != 0)) {
uint8_t* sa = memdup(s, slen);
if(sa) {
if(slen > 0) {
uint8_t* sa = memdup(s, slen);
if(sa) {
free(zone->nsec3_salt);
zone->nsec3_salt = sa;
zone->nsec3_saltlen = slen;
zone->nsec3_iter = it;
zone->nsec3_hash = h;
}
} else {
free(zone->nsec3_salt);
zone->nsec3_salt = sa;
zone->nsec3_saltlen = slen;
zone->nsec3_hash = h;
zone->nsec3_salt = NULL;
zone->nsec3_saltlen = 0;
zone->nsec3_iter = it;
zone->nsec3_hash = h;
}
}
}