aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-12-02 17:22:26 +0100
committerKim Alvefur <zash@zash.se>2018-12-02 17:22:26 +0100
commite3d678dd679de143a9dd46fa77360f4874ecdf60 (patch)
tree7b2e2ee4da898d5232152d3b811f97f3e4c5f73a
parentc083a55ca54508f51320cc412c544c481ba25fd1 (diff)
downloadprosody-e3d678dd679de143a9dd46fa77360f4874ecdf60.tar.gz
prosody-e3d678dd679de143a9dd46fa77360f4874ecdf60.zip
mod_presence: Handle older boolean subscription request data (thanks Martin)
-rw-r--r--plugins/mod_presence.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua
index 1ea837e8..5aed5854 100644
--- a/plugins/mod_presence.lua
+++ b/plugins/mod_presence.lua
@@ -81,9 +81,13 @@ function handle_normal_presence(origin, stanza)
end
end
for jid, pending_request in pairs(roster[false].pending) do -- resend incoming subscription requests
- local subscribe = st.deserialize(pending_request);
- subscribe.attr.type, subscribe.attr.from = "subscribe", jid;
- origin.send(subscribe);
+ if type(pending_request) == "table" then
+ local subscribe = st.deserialize(pending_request);
+ subscribe.attr.type, subscribe.attr.from = "subscribe", jid;
+ origin.send(subscribe);
+ else
+ origin.send(st.presence({type="subscribe", from=jid}));
+ end
end
local request = st.presence({type="subscribe", from=origin.username.."@"..origin.host});
for jid, item in pairs(roster) do -- resend outgoing subscription requests