aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-05-27 17:30:16 +0200
committerKim Alvefur <zash@zash.se>2017-05-27 17:30:16 +0200
commit3513190931f213b9f661dde88db87ddbfd531b35 (patch)
tree04a1c3f3af54f4b092c83cce4df035594f3b6ac1
parent240b0bb53ec6286c5cdce7d8ca10af514a00bb0f (diff)
parent607f7ee607b814000ac65e1e032ee4a20c91116e (diff)
downloadprosody-3513190931f213b9f661dde88db87ddbfd531b35.tar.gz
prosody-3513190931f213b9f661dde88db87ddbfd531b35.zip
Merge 0.10->trunk
-rw-r--r--net/dns.lua10
-rw-r--r--plugins/mod_disco.lua1
-rw-r--r--plugins/mod_watchregistrations.lua3
3 files changed, 5 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_disco.lua b/plugins/mod_disco.lua
index b135d46d..10eb632d 100644
--- a/plugins/mod_disco.lua
+++ b/plugins/mod_disco.lua
@@ -175,6 +175,7 @@ module:hook("iq/bare/http://jabber.org/protocol/disco#info:query", function(even
end
local reply = st.reply(stanza):tag('query', {xmlns='http://jabber.org/protocol/disco#info'});
if not reply.attr.from then reply.attr.from = origin.username.."@"..origin.host; end -- COMPAT To satisfy Psi when querying own account
+ reply:tag('identity', {category='account', type='registered'}):up();
module:fire_event("account-disco-info", { origin = origin, reply = reply });
origin.send(reply);
return true;
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;