struct infra_host_key* k;
struct infra_host_data* d;
int init = 376;
+ int dlame, alame, olame;
slab = infra_create(cfg);
unit_assert( infra_host(slab, (struct sockaddr_storage*)&one,
unit_assert( vs == 0 && to == init );
unit_assert( infra_set_lame(slab, (struct sockaddr_storage*)&one,
- (socklen_t)sizeof(int), zone, zonelen, now, 0) );
+ (socklen_t)sizeof(int), zone, zonelen, now, 0,
+ LDNS_RR_TYPE_A) );
unit_assert( (d=infra_lookup_host(slab, (struct sockaddr_storage*)&one,
(socklen_t)sizeof(int), 0, now, &k)) );
unit_assert( d->ttl == now+cfg->host_ttl );
unit_assert( d->edns_version == 0 );
- unit_assert( infra_lookup_lame(d, zone, zonelen, now)==1 );
+ unit_assert( infra_lookup_lame(d, zone, zonelen, now,
+ &dlame, &alame, &olame) );
+ unit_assert(!dlame && alame && !olame);
unit_assert( !infra_lookup_lame(d, zone, zonelen,
- now+cfg->lame_ttl+10) );
- unit_assert( !infra_lookup_lame(d, (uint8_t*)"\000", 1, now) );
+ now+cfg->lame_ttl+10, &dlame, &alame, &olame) );
+ unit_assert( !infra_lookup_lame(d, (uint8_t*)"\000", 1, now,
+ &dlame, &alame, &olame) );
+ lock_rw_unlock(&k->entry.lock);
+
+ /* test merge of data */
+ unit_assert( infra_set_lame(slab, (struct sockaddr_storage*)&one,
+ (socklen_t)sizeof(int), zone, zonelen, now, 0,
+ LDNS_RR_TYPE_AAAA) );
+ unit_assert( (d=infra_lookup_host(slab, (struct sockaddr_storage*)&one,
+ (socklen_t)sizeof(int), 0, now, &k)) );
+ unit_assert( infra_lookup_lame(d, zone, zonelen, now,
+ &dlame, &alame, &olame) );
+ unit_assert(!dlame && alame && olame);
lock_rw_unlock(&k->entry.lock);
infra_delete(slab);