Lines Matching refs:rep

60  * @param rep: contains list of rrsets to store.
73 store_rrsets(struct module_env* env, struct reply_info* rep, time_t now,
79 for(i=0; i<rep->rrset_count; i++) {
80 rep->ref[i].key = rep->rrsets[i];
81 rep->ref[i].id = rep->rrsets[i]->id;
83 switch(rrset_cache_update(env->rrset_cache, &rep->ref[i],
84 env->alloc, now + ((ntohs(rep->ref[i].key->rk.type)==
91 lock_rw_rdlock(&rep->ref[i].key->entry.lock);
93 if(rep->ref[i].key->id == 0)
96 rep->ref[i].key, region, now);
97 lock_rw_unlock(&rep->ref[i].key->entry.lock);
108 rep->rrsets[i] = rep->ref[i].key;
157 hashvalue_type hash, struct reply_info* rep, time_t leeway, int pside,
161 time_t ttl = rep->ttl;
165 for(i=0; i<rep->rrset_count; i++) {
166 rep->ref[i].key = rep->rrsets[i];
167 rep->ref[i].id = rep->rrsets[i]->id;
170 /* there was a reply_info_sortref(rep) here but it seems to be
172 reply_info_set_ttls(rep, *env->now);
173 store_rrsets(env, rep, *env->now, leeway, pside, qrep, region);
178 free(rep);
189 reply_info_sortref(rep);
190 if(!(e = query_info_entrysetup(qinfo, rep, hash))) {
194 slabhash_insert(env->msg_cache, hash, &e->entry, rep, env->alloc);
231 if((msg->rep->rrsets[msg->rep->rrset_count] =
233 msg->rep->ar_numrrsets++;
234 msg->rep->rrset_count++;
398 if((msg->rep->rrsets[msg->rep->rrset_count] =
400 msg->rep->ns_numrrsets++;
401 msg->rep->rrset_count++;
423 msg->rep = (struct reply_info*)regional_alloc_zero(region,
425 if(!msg->rep)
429 msg->rep->flags = BIT_QR; /* with QR, no AA */
430 msg->rep->qdcount = 1;
431 msg->rep->rrsets = (struct ub_packed_rrset_key**)
434 if(!msg->rep->rrsets)
443 if(!(msg->rep->rrsets[msg->rep->rrset_count++] =
446 msg->rep->ns_numrrsets++;
454 if(!(msg->rep->rrsets[msg->rep->rrset_count++] =
457 msg->rep->an_numrrsets++;
523 msg->rep = (struct reply_info*)regional_alloc(region,
525 if(!msg->rep)
529 msg->rep->rrsets = (struct ub_packed_rrset_key**)
532 if(!msg->rep->rrsets)
564 msg->rep->flags = r->flags;
565 msg->rep->qdcount = r->qdcount;
566 msg->rep->ttl = is_expired
570 msg->rep->prefetch_ttl = r->prefetch_ttl - now;
572 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);
573 msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;
574 msg->rep->security = r->security;
575 msg->rep->an_numrrsets = r->an_numrrsets;
576 msg->rep->ns_numrrsets = r->ns_numrrsets;
577 msg->rep->ar_numrrsets = r->ar_numrrsets;
578 msg->rep->rrset_count = r->rrset_count;
579 msg->rep->authoritative = r->authoritative;
595 for(i=0; i<msg->rep->rrset_count; i++) {
596 msg->rep->rrsets[i] = packed_rrset_copy_region(r->rrsets[i],
598 if(!msg->rep->rrsets[i]) {
624 msg->rep->flags = BIT_QR; /* reply, no AA, no error */
625 msg->rep->authoritative = 0; /* reply stored in cache can't be authoritative */
626 msg->rep->qdcount = 1;
627 msg->rep->ttl = d->ttl - now;
628 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);
629 msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;
630 msg->rep->security = sec_status_unchecked;
631 msg->rep->an_numrrsets = 1;
632 msg->rep->ns_numrrsets = 0;
633 msg->rep->ar_numrrsets = 0;
634 msg->rep->rrset_count = 1;
635 msg->rep->rrsets[0] = packed_rrset_copy_region(rrset, region, now);
636 if(!msg->rep->rrsets[0]) /* copy CNAME */
662 msg->rep->flags = BIT_QR; /* reply, no AA, no error */
663 msg->rep->authoritative = 0; /* reply stored in cache can't be authoritative */
664 msg->rep->qdcount = 1;
665 msg->rep->ttl = d->ttl - now;
666 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);
667 msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;
668 msg->rep->security = sec_status_unchecked;
669 msg->rep->an_numrrsets = 1;
670 msg->rep->ns_numrrsets = 0;
671 msg->rep->ar_numrrsets = 0;
672 msg->rep->rrset_count = 1;
673 msg->rep->rrsets[0] = packed_rrset_copy_region(rrset, region, now);
674 if(!msg->rep->rrsets[0]) /* copy DNAME */
682 msg->rep->flags |= LDNS_RCODE_YXDOMAIN;
698 msg->rep->rrsets[1] = ck;
724 msg->rep->ttl = newd->ttl;
725 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(newd->ttl);
726 msg->rep->serve_expired_ttl = newd->ttl + SERVE_EXPIRED_TTL;
729 msg->rep->an_numrrsets ++;
730 msg->rep->rrset_count ++;
756 msg->rep->flags |= LDNS_RCODE_NOTIMPL;
757 msg->rep->security = sec_status_indeterminate;
947 msg->rep->security = sec_status_unchecked;
970 struct reply_info* rep = NULL;
972 rep = reply_info_copy(msgrep, env->alloc, NULL);
973 if(!rep)
983 for(i=0; i<rep->rrset_count; i++) {
985 rep->rrsets[i]->entry.data, *env->now);
986 ref.key = rep->rrsets[i];
987 ref.id = rep->rrsets[i]->id;
995 free(rep);
1005 reply_info_parsedelete(rep, env->alloc);
1011 rep->flags |= (BIT_RA | BIT_QR);
1012 rep->flags &= ~(BIT_AA | BIT_CD);
1014 dns_cache_store_msg(env, &qinf, h, rep, leeway, pside, msgrep,
1031 struct reply_info* rep = (struct reply_info*)msg->entry.data;
1032 if(rep) {
1033 rep->prefetch_ttl += adjust;