X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Freply.c;h=4e7f8f7aa782bf0d02aff0780d1d0ec2b0e33710;hb=3b3e6ba1d88ceec9d67a739d4fe2f26ba9a6278c;hp=2691f679d31cce4ac4b77be2ec8a05bea1e75f95;hpb=ac015392d33daece5de3b5cf9ecfa6a8988860fe;p=adns.git diff --git a/src/reply.c b/src/reply.c index 2691f67..4e7f8f7 100644 --- a/src/reply.c +++ b/src/reply.c @@ -47,7 +47,8 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, parseinfo pai; if (dglen1) { - adns__diag(ads,serv,0,"server claimed to answer %d questions with one message", - qdcount); + adns__diag(ads,serv,0,"server claimed to answer %d" + " questions with one message", qdcount); } else if (ads->iflags & adns_if_debug) { adns__vbuf_init(&tempvb); adns__debug(ads,serv,0,"reply not found, id %02x, query owner %s", - id, adns__diag_domain(ads,serv,0,&tempvb,dgram,dglen,DNS_HDRSIZE)); + id, adns__diag_domain(ads,serv,0,&tempvb, + dgram,dglen,DNS_HDRSIZE)); adns__vbuf_free(&tempvb); } return; } - /* We're definitely going to do something with this packet and this query now. */ + /* We're definitely going to do something with this packet and this + * query now. */ anstart= qu->query_dglen; arstart= -1; @@ -169,14 +174,15 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, if (rrtype == -1) goto x_truncated; if (rrclass != DNS_CLASS_IN) { - adns__diag(ads,serv,qu,"ignoring answer RR with wrong class %d (expected IN=%d)", - rrclass,DNS_CLASS_IN); + adns__diag(ads,serv,qu,"ignoring answer RR with wrong class %d" + " (expected IN=%d)", rrclass,DNS_CLASS_IN); continue; } if (!ownermatched) { if (ads->iflags & adns_if_debug) { adns__debug(ads,serv,qu,"ignoring RR with an unexpected owner %s", - adns__diag_domain(ads,serv,qu, &qu->vb, dgram,dglen,rrstart)); + adns__diag_domain(ads,serv,qu, &qu->vb, + dgram,dglen,rrstart)); } continue; } @@ -186,14 +192,16 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, adns__query_fail(qu,adns_s_prohibitedcname); return; } else if (qu->cname_dgram) { /* Ignore second and subsequent CNAME(s) */ - adns__debug(ads,serv,qu,"allegedly canonical name %s is actually alias for %s", - qu->answer->cname, - adns__diag_domain(ads,serv,qu, &qu->vb, dgram,dglen,rdstart)); + adns__debug(ads,serv,qu,"allegedly canonical name %s" + " is actually alias for %s", qu->answer->cname, + adns__diag_domain(ads,serv,qu, &qu->vb, + dgram,dglen,rdstart)); adns__query_fail(qu,adns_s_prohibitedcname); return; } else if (wantedrrs) { /* Ignore CNAME(s) after RR(s). */ adns__debug(ads,serv,qu,"ignoring CNAME (to %s) coexisting with RR", - adns__diag_domain(ads,serv,qu, &qu->vb, dgram,dglen,rdstart)); + adns__diag_domain(ads,serv,qu, &qu->vb, + dgram,dglen,rdstart)); } else { qu->cname_begin= rdstart; qu->cname_dglen= dglen; @@ -205,7 +213,10 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, if (st) { adns__query_fail(qu,st); return; } l= strlen(qu->vb.buf)+1; qu->answer->cname= adns__alloc_preserved(qu,l); - if (!qu->answer->cname) { adns__query_fail(qu,adns_s_nomemory); return; } + if (!qu->answer->cname) { + adns__query_fail(qu,adns_s_nomemory); + return; + } qu->cname_dgram= adns__alloc_mine(qu,dglen); memcpy(qu->cname_dgram,dgram,dglen); @@ -222,7 +233,8 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, } else if (rrtype == (qu->typei->type & adns__rrt_typemask)) { wantedrrs++; } else { - adns__debug(ads,serv,qu,"ignoring answer RR with irrelevant type %d",rrtype); + adns__debug(ads,serv,qu,"ignoring answer RR" + " with irrelevant type %d",rrtype); } } @@ -234,9 +246,11 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, nsstart= cbyte; if (!wantedrrs) { - /* Oops, NODATA or NXDOMAIN or perhaps a referral (which would be a problem) */ + /* Oops, NODATA or NXDOMAIN or perhaps a referral + * (which would be a problem) */ - /* RFC2308: NODATA has _either_ a SOA _or_ _no_ NS records in authority section */ + /* RFC2308: NODATA has _either_ a SOA _or_ _no_ NS records + * in authority section */ foundsoa= 0; soattl= 0; foundns= 0; for (rri= 0; rrianswer->rrs.untyped= adns__alloc_interim(qu,qu->typei->rrsz*wantedrrs); - if (!qu->answer->rrs.untyped) { adns__query_fail(qu,adns_s_nomemory); return; } + if (!qu->answer->rrs.untyped) { + adns__query_fail(qu,adns_s_nomemory); + return; + } typei= qu->typei; cbyte= anstart; @@ -352,7 +372,7 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, x_restartquery: if (qu->cname_dgram) { st= adns__mkquery_frdgram(qu->ads,&qu->vb,&qu->id, - qu->cname_dgram, qu->cname_dglen, qu->cname_begin, + qu->cname_dgram,qu->cname_dglen,qu->cname_begin, qu->typei->type, qu->flags); if (st) { adns__query_fail(qu,st); return; }