diff options
-rw-r--r-- | net/dns.lua | 10 | ||||
-rw-r--r-- | plugins/mod_watchregistrations.lua | 3 |
2 files changed, 4 insertions, 9 deletions
diff --git a/net/dns.lua b/net/dns.lua index 232e9e7c..20f85462 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 @@ -506,11 +504,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]]; diff --git a/plugins/mod_watchregistrations.lua b/plugins/mod_watchregistrations.lua index dc979b9a..82666b09 100644 --- a/plugins/mod_watchregistrations.lua +++ b/plugins/mod_watchregistrations.lua @@ -22,7 +22,8 @@ module:hook("user-registered", function (user) :tag("body") :text(registration_notification:gsub("%$(%w+)", function (v) return user[v] or user.session and user.session[v] or nil; - end)); + end)) + :up(); for jid in registration_watchers do module:log("debug", "Notifying %s", jid); message.attr.to = jid; |