iq->is_whitelisted = ipsecmod_domain_is_whitelisted(
(struct ipsecmod_env*)qstate->env->modinfo[id], qstate->qinfo.qname,
qstate->qinfo.qname_len, qstate->qinfo.qclass);
- iq->region = regional_create();
return 1;
}
if(rrset_key) {
/* We have an answer. */
/* Copy to super's region. */
- rrset_key = packed_rrset_copy_region(rrset_key, siq->region, 0);
+ rrset_key = packed_rrset_copy_region(rrset_key, super->region, 0);
siq->ipseckey_rrset = rrset_key;
if(!rrset_key) {
log_err("ipsecmod: out of memory.");
void
ipsecmod_clear(struct module_qstate* qstate, int id)
{
- struct ipsecmod_qstate* iq;
if(!qstate)
return;
- iq = (struct ipsecmod_qstate*)qstate->minfo[id];
- if(iq) {
- /* free contents of iq. */
- regional_destroy(iq->region);
- }
qstate->minfo[id] = NULL;
}
/** If the qname is whitelisted or not. */
/** NOTE: No whitelist means all qnames are whitelisted. */
int is_whitelisted;
- /** Region to store the IPSECKEY rrset. */
- struct regional* region;
/** Pointer to IPSECKEY rrset allocated in the above region. NULL if there
* was no IPSECKEY reply from the subquery. */
struct ub_packed_rrset_key* ipseckey_rrset;