Lines Matching refs:rep

315 		struct reply_info* rep = (struct reply_info*)msg->entry.data;
316 if(qstate->env->cfg->serve_expired && rep) {
319 > rep->serve_expired_ttl) {
322 rep->serve_expired_ttl = *qstate->env->now +
327 rep->serve_expired_norec_ttl = NORR_TTL +
330 if(rep && (FLAGS_GET_RCODE(rep->flags) ==
332 FLAGS_GET_RCODE(rep->flags) ==
334 FLAGS_GET_RCODE(rep->flags) ==
337 *qstate->env->now <= rep->ttl)) {
397 msg->rep->rrset_count > RR_COUNT_MAX) return 0; /* overflow */
398 sets = regional_alloc(region, (num_an+num_ns+msg->rep->rrset_count) *
406 if(ub_packed_rrset_ttl(p->rrset) < msg->rep->ttl) {
407 msg->rep->ttl = ub_packed_rrset_ttl(p->rrset);
408 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);
409 msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;
412 memcpy(sets+num_an, msg->rep->rrsets, msg->rep->an_numrrsets *
417 if(prepend_is_duplicate(sets+msg->rep->an_numrrsets+num_an,
419 msg->rep->rrsets+msg->rep->an_numrrsets,
420 msg->rep->ns_numrrsets, p->rrset))
422 sets[msg->rep->an_numrrsets + num_an + num_ns++] = p->rrset;
423 if(ub_packed_rrset_ttl(p->rrset) < msg->rep->ttl) {
424 msg->rep->ttl = ub_packed_rrset_ttl(p->rrset);
425 msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);
426 msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;
429 memcpy(sets + num_an + msg->rep->an_numrrsets + num_ns,
430 msg->rep->rrsets + msg->rep->an_numrrsets,
431 (msg->rep->ns_numrrsets + msg->rep->ar_numrrsets) *
436 msg->rep->rrset_count += num_an + num_ns;
437 msg->rep->an_numrrsets += num_an;
438 msg->rep->ns_numrrsets += num_ns;
439 msg->rep->rrsets = sets;
541 for(i=0; i<msg->rep->an_numrrsets; i++) {
542 struct ub_packed_rrset_key* r = msg->rep->rrsets[i];
567 for(i=msg->rep->an_numrrsets; i<msg->rep->an_numrrsets +
568 msg->rep->ns_numrrsets; i++) {
569 struct ub_packed_rrset_key* r = msg->rep->rrsets[i];
665 if(iq->response && iq->response->rep) {
666 if(FLAGS_GET_RCODE(iq->response->rep->flags) != 0) {
669 FLAGS_GET_RCODE(iq->response->rep->flags),
675 if(iq->response->rep->an_numrrsets == 0) {
1160 struct reply_info* rep = iq->response->rep;
1168 for(i=rep->an_numrrsets+rep->ns_numrrsets; i<rep->rrset_count; i++) {
1169 s = rep->rrsets[i];
1440 forged_response->rep, iq->qchase.qname,
1514 msg->rep->security = sec_status_unchecked;
1522 msg->rep);
1524 (int)msg->rep->ttl,
1525 (int)msg->rep->prefetch_ttl);
1557 if(FLAGS_GET_RCODE(msg->rep->flags) == LDNS_RCODE_SERVFAIL)
1879 &iq->response->qinfo, iq->response->rep);
2318 iq->deleg_msg?iq->deleg_msg->rep:
2319 (iq->response?iq->response->rep:NULL));
2656 if(msg && FLAGS_GET_RCODE(msg->rep->flags) ==
2661 if(msg && FLAGS_GET_RCODE(msg->rep->flags) ==
2665 if(msg->rep->security == sec_status_secure) {
2669 if(msg->rep->security == sec_status_unchecked) {
2684 if(msg && FLAGS_GET_RCODE(msg->rep->flags) ==
2728 &iq->response->qinfo, iq->response->rep);
2730 if((iq->chase_flags&BIT_RD) && !(iq->response->rep->flags&BIT_AA)) {
2851 forged_response->rep, iq->qchase.qname,
3111 find_NS(struct reply_info* rep, size_t from, size_t to)
3115 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_NS)
3116 return rep->rrsets[i];
3166 iq->response->rep->flags &= ~BIT_TC;
3219 iq->response->rep, iq->response->rep->an_numrrsets,
3220 iq->response->rep->an_numrrsets
3221 + iq->response->rep->ns_numrrsets);
3222 if(!ns) ns = find_NS(iq->response->rep, 0,
3223 iq->response->rep->an_numrrsets);
3232 FLAGS_GET_RCODE(iq->response->rep->flags) == LDNS_RCODE_YXDOMAIN) {
3238 if(type == RESPONSE_TYPE_CNAME && iq->response->rep->an_numrrsets >= 1
3239 && ntohs(iq->response->rep->rrsets[0]->rk.type) == LDNS_RR_TYPE_DNAME) {
3242 get_cname_target(iq->response->rep->rrsets[0], &sname,
3244 if(snamelen && dname_subdomain_c(sname, iq->response->rep->rrsets[0]->rk.dname)) {
3266 FLAGS_GET_RCODE(iq->response->rep->flags)
3268 (iq->response->rep->an_numrrsets?"ANSWER":
3288 reply_find_answer_rrset(&iq->qchase, iq->response->rep) != NULL) {
3294 iter_make_minimal(iq->response->rep);
3298 iq->response->rep,
3317 if(FLAGS_GET_RCODE(iq->response->rep->flags) !=
3320 if(FLAGS_GET_RCODE(iq->response->rep->flags) ==
3333 if(FLAGS_GET_RCODE(iq->response->rep->flags) ==
3385 reply_find_rrset_section_ns(iq->response->rep,
3388 || reply_find_rrset_section_an(iq->response->rep,
3396 iq->response->rep, 1, 0, 0, NULL, 0,
3400 iq->response->rep);
3403 iq->response->rep, iq->dp->name);
3408 iq->pside_glue = reply_find_rrset(iq->response->rep,
3498 iq->response->rep);
3525 iq->response->rep, 1, qstate->prefetch_leeway,
3538 forged_response->rep, iq->qchase.qname,
3743 iq->response->rep->flags &= ~(BIT_RD|BIT_RA); /* ignore rec-lame */
3844 rrset = reply_find_answer_rrset(&iq->qchase, qstate->return_msg->rep);
3902 if(!reply_find_rrset(qstate->return_msg->rep, qstate->qinfo.qname,
3952 foriq->response->rep->authoritative = 0;
3958 if(from->rep->rrset_count != 0) {
3959 size_t n = from->rep->rrset_count+to->rep->rrset_count;
3962 to->rep->flags = from->rep->flags;
3964 if(from->rep->rrset_count > RR_COUNT_MAX ||
3965 to->rep->rrset_count > RR_COUNT_MAX) {
3978 memcpy(dest, to->rep->rrsets, to->rep->an_numrrsets
3980 dest += to->rep->an_numrrsets;
3981 memcpy(dest, from->rep->rrsets, from->rep->an_numrrsets
3983 dest += from->rep->an_numrrsets;
3985 memcpy(dest, to->rep->rrsets+to->rep->an_numrrsets,
3986 to->rep->ns_numrrsets * sizeof(dest[0]));
3987 dest += to->rep->ns_numrrsets;
3988 memcpy(dest, from->rep->rrsets+from->rep->an_numrrsets,
3989 from->rep->ns_numrrsets * sizeof(dest[0]));
3990 dest += from->rep->ns_numrrsets;
3992 memcpy(dest, to->rep->rrsets+to->rep->an_numrrsets+
3993 to->rep->ns_numrrsets,
3994 to->rep->ar_numrrsets * sizeof(dest[0]));
3995 dest += to->rep->ar_numrrsets;
3996 memcpy(dest, from->rep->rrsets+from->rep->an_numrrsets+
3997 from->rep->ns_numrrsets,
3998 from->rep->ar_numrrsets * sizeof(dest[0]));
4000 to->rep->rrsets = d;
4001 to->rep->an_numrrsets += from->rep->an_numrrsets;
4002 to->rep->ns_numrrsets += from->rep->ns_numrrsets;
4003 to->rep->ar_numrrsets += from->rep->ar_numrrsets;
4004 to->rep->rrset_count = n;
4006 if(from->rep->security < to->rep->security) /* lowest sec */
4007 to->rep->security = from->rep->security;
4008 if(from->rep->qdcount != 0) /* insert qd if appropriate */
4009 to->rep->qdcount = from->rep->qdcount;
4010 if(from->rep->ttl < to->rep->ttl) /* use smallest TTL */
4011 to->rep->ttl = from->rep->ttl;
4012 if(from->rep->prefetch_ttl < to->rep->prefetch_ttl)
4013 to->rep->prefetch_ttl = from->rep->prefetch_ttl;
4014 if(from->rep->serve_expired_ttl < to->rep->serve_expired_ttl)
4015 to->rep->serve_expired_ttl = from->rep->serve_expired_ttl;
4016 if(from->rep->serve_expired_norec_ttl < to->rep->serve_expired_norec_ttl)
4017 to->rep->serve_expired_norec_ttl = from->rep->serve_expired_norec_ttl;
4100 iq->deleg_msg?iq->deleg_msg->rep:
4101 (iq->response?iq->response->rep:NULL));
4110 iq->response->rep->flags |= BIT_RA;
4114 iq->response->rep->flags &= ~BIT_AA;
4117 iq->response->rep->flags |= BIT_QR;
4120 iq->response->rep->reason_bogus_str = NULL;
4127 iq->response->rep->reason_bogus_str = err_str;
4146 iq->response->rep->security = sec_status_unchecked;
4152 iq->response->rep, 0, qstate->prefetch_leeway,
4380 iq->response->rep);
4394 caps_strip_reply(iq->response->rep);
4407 iq->caps_reply = iq->response->rep;
4417 iq->caps_reply = iq->response->rep;
4422 !caps_failed_rcode(iq->response->rep)) {
4424 iq->caps_reply = iq->response->rep;
4427 caps_failed_rcode(iq->response->rep)) {
4433 caps_failed_rcode(iq->response->rep)) {
4436 } else if(!reply_equal(iq->response->rep, iq->caps_reply,