X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes.c;h=deac6c4270498144e134e35bbea7d030b4c1a1d2;hb=a8768e80b11709ee11b70a769f0ea86964988e3b;hp=bd87450a80349cddb2efec32b0927ae9b708f88e;hpb=a719a4bedec2bc512b7f95f7446e02f6662ebbc7;p=adns.git diff --git a/src/types.c b/src/types.c index bd87450..deac6c4 100644 --- a/src/types.c +++ b/src/types.c @@ -381,11 +381,12 @@ static adns_status pap_findaddrs(const parseinfo *pai, adns_rr_hostaddr *ha, int *cbyte_io, int count, int dmstart) { int rri, naddrs; int type, class, rdlen, rdstart, ownermatched; + unsigned long ttl; adns_status st; for (rri=0, naddrs=-1; rriqu, pai->serv, pai->dgram, pai->dglen, cbyte_io, - &type, &class, &rdlen, &rdstart, + &type, &class, &ttl, &rdlen, &rdstart, pai->dgram, pai->dglen, dmstart, &ownermatched); if (st) return st; if (!ownermatched || class != DNS_CLASS_IN || type != adns_r_a) { @@ -395,6 +396,7 @@ static adns_status pap_findaddrs(const parseinfo *pai, adns_rr_hostaddr *ha, naddrs= 0; } if (!adns__vbuf_ensure(&pai->qu->vb, (naddrs+1)*sizeof(adns_rr_addr))) R_NOMEM; + adns__update_expires(pai->qu,ttl,pai->now); st= pa_addr(pai, rdstart,rdstart+rdlen, pai->qu->vb.buf + naddrs*sizeof(adns_rr_addr)); if (st) return st;