BIT_RD
(uint16_t)(BIT_RD|BIT_CD), qstate->is_priming,
if(!(qflags&BIT_RD))
(qstate->query_flags&BIT_RD) &&
(qstate->query_flags&BIT_RD) && !(qstate->query_flags&BIT_CD)){
(qstate->query_flags&BIT_RD) && !(qstate->query_flags&BIT_CD)){
iq->chase_flags |= BIT_RD;
if((qstate->query_flags&BIT_RD)==0) {
if(!(qstate->query_flags & BIT_RD) && iq->deleg_msg) {
iq->chase_flags &= ~BIT_RD;
iq->chase_flags &= ~BIT_RD; /* go to authorities */
iq->chase_flags &= ~BIT_RD; /* go to authorities */
&& !(iq->chase_flags & BIT_RD)) {
if((iq->chase_flags&BIT_RD) && !(iq->response->rep->flags&BIT_AA)) {
sq_check_ratelimit = (!(iq->chase_flags & BIT_RD) && !iq->ratelimit_ok);
iq->chase_flags | (iq->chase_to_rd?BIT_RD:0),
((iq->chase_to_rd||(iq->chase_flags&BIT_RD)!=0)&&
(int)((iq->chase_flags&BIT_RD) || iq->chase_to_rd),
if(type == RESPONSE_TYPE_REFERRAL && (iq->chase_flags&BIT_RD) &&
!(iq->chase_flags&BIT_RD)
&& !(iq->chase_flags&BIT_RD)
&& !(iq->chase_flags & BIT_RD)) {
&& (qstate->query_flags&BIT_RD)
&& !(iq->chase_flags&BIT_RD)
iq->response->rep->flags &= ~(BIT_RD|BIT_RA); /* ignore rec-lame */
(int)((iq->chase_flags&BIT_RD) || iq->chase_to_rd),
if(!qstate->no_cache_store && (qstate->query_flags&BIT_RD)) {
qflags |= BIT_RD;
qflags = BIT_RD;
qflags = BIT_RD;
error_encode(buf, rcode, NULL, 0, BIT_RD, NULL);
qflags = BIT_RD;
return (*qstate->env->attach_sub)(qstate, &subqi, BIT_RD, 0, 0, &subq);
uint16_t qflags = BIT_RD;
uint16_t qflags = BIT_RD;
uint16_t qflags = BIT_RD;
mstate->s.query_flags = (qflags & (BIT_RD|BIT_CD));
if(mesh_add_sub(qstate, &qinfo, BIT_RD, 0, 0, &newq, &sub)) {
if((a->s.query_flags&BIT_RD) && !(b->s.query_flags&BIT_RD))
if(!(a->s.query_flags&BIT_RD) && (b->s.query_flags&BIT_RD))
(m->s.query_flags&BIT_RD)?"RD":"",
s = mesh_area_find(mesh, NULL, qinfo, qflags&(BIT_RD|BIT_CD), 0, 0);
uint16_t mesh_flags = qflags&(BIT_RD|BIT_CD);
uint16_t mesh_flags = qflags&(BIT_RD|BIT_CD);
uint16_t mesh_flags = BIT_RD|(qflags&BIT_CD);
uint16_t mesh_flags = BIT_RD|(qflags&BIT_CD);
flags = rep->flags | (qflags & (BIT_RD|BIT_CD));
flags = (rep->flags & ~BIT_AA) | (qflags & (BIT_RD|BIT_CD));
flags |= (qflags & (BIT_RD|BIT_CD)); /* copy RD and CD bit */
uint16_t qflags = BIT_RD;
if(!(query_flags&BIT_RD) && rep->an_numrrsets == 0 &&
if(!(query_flags&BIT_RD) && rep->ns_numrrsets == 0 &&
if((qstate->query_flags&BIT_RD)) {
subtype = val_classify_response(BIT_RD, qinfo, qinfo, msg->rep, 0);
|BIT_QR|BIT_RA|(qstate->query_flags|(BIT_CD|BIT_RD));
(uint16_t)(BIT_RD|flags), 0, valrec)) {
(uint16_t)(BIT_RD|flags), 0, valrec, newq, &sub)){
(uint16_t)(BIT_RD|flags), 0, valrec, newq)){
if(iter_dp_is_useless(&qinfo, BIT_RD, dp,
((d->flags&BIT_RD)?" RD":""),
((d->flags&BIT_RD)?" RD":""),
uint16_t qflags = BIT_RD;
if( (flags&BIT_RD) )
if ((qflags & BIT_RD)) {
if ((qflags & BIT_RD)) {
qflags |= BIT_RD;
(uint16_t)(BIT_RD|flags), 0, 0)) {
(uint16_t)(BIT_RD|flags), 0, 0, &newq)){
(uint16_t)(BIT_RD|BIT_CD), qstate->is_priming,
if(!(qflags&BIT_RD))
(qstate->query_flags&BIT_RD) &&
(qstate->query_flags&BIT_RD) && !(qstate->query_flags&BIT_CD)){
(qstate->query_flags&BIT_RD) && !(qstate->query_flags&BIT_CD)){
iq->chase_flags |= BIT_RD;
if((qstate->query_flags&BIT_RD)==0) {
if(!(qstate->query_flags & BIT_RD) && iq->deleg_msg) {
iq->chase_flags &= ~BIT_RD;
iq->chase_flags &= ~BIT_RD; /* go to authorities */
iq->chase_flags &= ~BIT_RD; /* go to authorities */
&& !(iq->chase_flags & BIT_RD)) {
if((iq->chase_flags&BIT_RD) && !(iq->response->rep->flags&BIT_AA)) {
sq_check_ratelimit = (!(iq->chase_flags & BIT_RD) && !iq->ratelimit_ok);
iq->chase_flags | (iq->chase_to_rd?BIT_RD:0),
((iq->chase_to_rd||(iq->chase_flags&BIT_RD)!=0)&&
(int)((iq->chase_flags&BIT_RD) || iq->chase_to_rd),
if(type == RESPONSE_TYPE_REFERRAL && (iq->chase_flags&BIT_RD) &&
!(iq->chase_flags&BIT_RD)
&& !(iq->chase_flags&BIT_RD)
&& !(iq->chase_flags & BIT_RD)) {
&& (qstate->query_flags&BIT_RD)
&& !(iq->chase_flags&BIT_RD)
iq->response->rep->flags &= ~(BIT_RD|BIT_RA); /* ignore rec-lame */
(int)((iq->chase_flags&BIT_RD) || iq->chase_to_rd),
if(!qstate->no_cache_store && (qstate->query_flags&BIT_RD)) {
qflags |= BIT_RD;
qflags = BIT_RD;
qflags = BIT_RD;
error_encode(buf, rcode, NULL, 0, BIT_RD, NULL);
qflags = BIT_RD;
return (*qstate->env->attach_sub)(qstate, &subqi, BIT_RD, 0, 0, &subq);
uint16_t qflags = BIT_RD;
uint16_t qflags = BIT_RD;
uint16_t qflags = BIT_RD;
mstate->s.query_flags = (qflags & (BIT_RD|BIT_CD));
if(mesh_add_sub(qstate, &qinfo, BIT_RD, 0, 0, &newq, &sub)) {
if((a->s.query_flags&BIT_RD) && !(b->s.query_flags&BIT_RD))
if(!(a->s.query_flags&BIT_RD) && (b->s.query_flags&BIT_RD))
(m->s.query_flags&BIT_RD)?"RD":"",
s = mesh_area_find(mesh, NULL, qinfo, qflags&(BIT_RD|BIT_CD), 0, 0);
uint16_t mesh_flags = qflags&(BIT_RD|BIT_CD);
uint16_t mesh_flags = qflags&(BIT_RD|BIT_CD);
uint16_t mesh_flags = BIT_RD|(qflags&BIT_CD);
uint16_t mesh_flags = BIT_RD|(qflags&BIT_CD);
sldns_buffer_write_u16_at(buf, 2, BIT_RD);
sldns_buffer_write_u16_at(buf, 2, BIT_RD);
z, (flags&BIT_RD)?" RD":"", (flags&BIT_CD)?" CD":"",
(flags&~(BIT_RD|BIT_CD))?" MORE":"", (dnssec)?" DO":"");
sldns_buffer_write_u16_at(buf, 2, BIT_RD);
if((flags&BIT_RD)!=0) sldns_buffer_printf(buf, " RD");
flags = rep->flags | (qflags & (BIT_RD|BIT_CD));
flags = (rep->flags & ~BIT_AA) | (qflags & (BIT_RD|BIT_CD));
flags |= (qflags & (BIT_RD|BIT_CD)); /* copy RD and CD bit */
uint16_t qflags = BIT_RD;
if(!(query_flags&BIT_RD) && rep->an_numrrsets == 0 &&
if(!(query_flags&BIT_RD) && rep->ns_numrrsets == 0 &&
if((qstate->query_flags&BIT_RD)) {
subtype = val_classify_response(BIT_RD, qinfo, qinfo, msg->rep, 0);
|BIT_QR|BIT_RA|(qstate->query_flags|(BIT_CD|BIT_RD));
(uint16_t)(BIT_RD|flags), 0, valrec)) {
(uint16_t)(BIT_RD|flags), 0, valrec, newq, &sub)){
(uint16_t)(BIT_RD|flags), 0, valrec, newq)){