diff options
author | Kim Alvefur <zash@zash.se> | 2017-05-22 05:32:11 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2017-05-22 05:32:11 +0200 |
commit | c1e87de11a3c5e9a4764146d1737bef76f20e399 (patch) | |
tree | a3a42e2bb381cd665d3a4b868e4ba57543e9c27d | |
parent | 5126ff2f6c6f1e916408f616a2b3304ba4d967af (diff) | |
download | prosody-c1e87de11a3c5e9a4764146d1737bef76f20e399.tar.gz prosody-c1e87de11a3c5e9a4764146d1737bef76f20e399.zip |
net.dns: Simplify expiry calculation (fixes #919)
-rw-r--r-- | net/dns.lua | 10 |
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]]; |