Ticket #397 (closed defect: invalid)
recursor-3.3-hooks inconsistent ttl in lua postresolve()
| Reported by: | anon | Owned by: | ahu |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | recursor | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
i'm trying to implement postresolve script and came across some inconsistent behaviour.
function postresolve ( remoteip, domain, qtype, records, origrcode )
for key,val in pairs(records) do
-- pdnslog(".. records: "..domain.." "..key.." ("..val.qtype..") "..val.ttl) pdnslog(".. "..key.." => ") for kk,vv in pairs(val) do
pdnslog("... "..kk.." => "..vv)
end
end return origrcode, records
end
if i query a domain with low ttl, ie.
root@kuromaku:~# for i in n1g.akamaiedge.net. n6g.akamaiedge.net. n4g.akamaiedge.net. n7g.akamaiedge.net. n2g.akamaiedge.net. n5g.akamaiedge.net. n0g.akamaiedge.net. n3g.akamaiedge.net. n8g.akamaiedge.net. ; do dig e5237.g.akamaiedge.net @$i | grep e5237.g.akamaiedge.net ; done e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55 e5237.g.akamaiedge.net. 20 IN A 2.16.37.55
i'm getting a syslog entry every time local recursor cache expires. but a ttl entry in such a refresh is not the one returned by authoritative nameservers - see attached file.
it seems that in most cases returned ttl is correct (20 seconds), but sometimes it drifts.
what i expect is to get a DNSResourceRecord as get from authoritative dns server in lua.
any advise?
