aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-05-22 05:32:11 +0200
committerKim Alvefur <zash@zash.se>2017-05-22 05:32:11 +0200
commite31827002b8fe636b55057ffc81671bb9c6c8b52 (patch)
treea3a42e2bb381cd665d3a4b868e4ba57543e9c27d
parenta0f29dc705788f2845f365b5aa885aeb071d3405 (diff)
downloadprosody-e31827002b8fe636b55057ffc81671bb9c6c8b52.tar.gz
prosody-e31827002b8fe636b55057ffc81671bb9c6c8b52.zip
net.dns: Simplify expiry calculation (fixes #919)
-rw-r--r--net/dns.lua10
1 files changed, 2 insertions, 8 deletions
diff --git a/net/dns.lua b/net/dns.lua
index d123731c..5e29e906 100644
--- a/net/dns.lua
+++ b/net/dns.lua
@@ -137,9 +137,7 @@ local function prune(rrs, time, soft) -- - - - - - - - - - - - - - - prune
time = time or socket.gettime();
for i,rr in ipairs(rrs) do
if rr.tod then
- -- rr.tod = rr.tod - 50 -- accelerated decripitude
- rr.ttl = math.floor(rr.tod - time);
- if rr.ttl <= 0 then
+ if rr.tod < time then
rrs[rr[rr.type:lower()]] = nil;
table.remove(rrs, i);
return prune(rrs, time, soft); -- Re-iterate
@@ -515,11 +513,7 @@ function resolver:rr() -- - - - - - - - - - - - - - - - - - - - - - - - rr
rr.ttl = 0x10000*self:word() + self:word();
rr.rdlength = self:word();
- if rr.ttl <= 0 then
- rr.tod = self.time + 30;
- else
- rr.tod = self.time + rr.ttl;
- end
+ rr.tod = self.time + rr.ttl;
local remember = self.offset;
local rr_parser = self[dns.type[rr.type]];