blob: aba3f5d5bd2bd93268d780cf70ef23e179a8c9da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
local st = require "util.stanza";
local send = require "core.sessionmanager".send_to_session;
local xmlns_stanzas ='urn:ietf:params:xml:ns:xmpp-stanzas';
require "modulemanager"
-- Handle stanzas that were addressed to the server (whether they came from c2s, s2s, etc.)
function handle_stanza(origin, stanza)
-- Use plugins
if not modulemanager.handle_stanza(origin, stanza) then
if stanza.name == "iq" then
if stanza.attr.type ~= "result" and stanza.attr.type ~= "error" then
send(origin, st.error_reply(stanza, "cancel", "service-unavailable"));
end
elseif stanza.name == "message" then
send(origin, st.error_reply(stanza, "cancel", "service-unavailable"));
elseif stanza.name ~= "presence" then
error("Unknown stanza");
end
end
end
|