X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/5e6342f017395ae32f9d0d941e2ca2bef48ff84e..f63b3158df6472d1c6533a552675631fdd681d20:/src/query.c diff --git a/src/query.c b/src/query.c index 8d9994b..f805c92 100644 --- a/src/query.c +++ b/src/query.c @@ -68,9 +68,9 @@ static adns_query query_alloc(adns_state ads, const typeinfo *typei, qu->id= 0; qu->flags= flags; - qu->udpretries= 0; + qu->retries= 0; qu->udpnextserver= 0; - qu->udpsent= qu->tcpfailed= 0; + qu->udpsent= 0; timerclear(&qu->timeout); qu->expires= now.tv_sec + MAXTTLBELIEVE; @@ -195,7 +195,7 @@ static int save_owner(adns_query qu, const char *owner, int ol) { int adns_submit(adns_state ads, const char *owner, adns_rrtype type, - adns_queryflags flags, + int flags, void *context, adns_query *query_r) { int r, ol, ndots; @@ -225,6 +225,7 @@ int adns_submit(adns_state ads, if (ol>=1 && owner[ol-1]=='.' && (ol<2 || owner[ol-2]!='\\')) { flags &= ~adns_qf_search; + qu->flags= flags; ol--; } @@ -261,7 +262,7 @@ int adns_submit(adns_state ads, int adns_submit_reverse(adns_state ads, const struct sockaddr *addr, adns_rrtype type, - adns_queryflags flags, + int flags, void *context, adns_query *query_r) { const unsigned char *iaddr; @@ -282,7 +283,7 @@ int adns_submit_reverse(adns_state ads, int adns_synchronous(adns_state ads, const char *owner, adns_rrtype type, - adns_queryflags flags, + int flags, adns_answer **answer_r) { adns_query qu; int r; @@ -398,10 +399,13 @@ void adns_cancel(adns_query qu) { adns__consistency(ads,qu,cc_entex); if (qu->parent) LIST_UNLINK_PART(qu->parent->children,qu,siblings.); switch (qu->state) { - case query_tosend: case query_tcpwait: case query_tcpsent: - LIST_UNLINK(ads->timew,qu); + case query_tosend: + LIST_UNLINK(ads->udpw,qu); break; - case query_child: + case query_tcpw: + LIST_UNLINK(ads->tcpw,qu); + break; + case query_childw: LIST_UNLINK(ads->childw,qu); break; case query_done: