Software /
code /
prosody
Diff
core/moduleapi.lua @ 10705:2cffb5ce9f7a
moduleapi: Fix handling of replies to :send_iq from internal modules
Unclear exactly why, but replies to some queries to local modules would
be discarded by stanza_router. This appears to fix it.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 22 Mar 2020 22:32:26 +0100 |
parent | 10595:17bab303daf5 |
child | 10706:0230ceecb8a9 |
line wrap: on
line diff
--- a/core/moduleapi.lua Sun Mar 29 22:12:42 2020 +0200 +++ b/core/moduleapi.lua Sun Mar 22 22:32:26 2020 +0100 @@ -436,7 +436,16 @@ return; end - self:send(stanza, origin); + local wrapped_origin = setmetatable({ + -- XXX Needed in some cases for replies to work correctly when sending queries internally. + send = function (stanza) + resolve({ stanza = stanza }); + end; + }, { + __index = origin or hosts[self.host]; + }); + + self:send(stanza, wrapped_origin); end); p:finally(function ()