diff options
author | Tobias Markmann <tm@ayena.de> | 2009-05-15 17:33:04 +0200 |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2009-05-15 17:33:04 +0200 |
commit | 672ffb89624c3af6badb7354a6bcd9c0d7624e48 (patch) | |
tree | 74f77ffb11e96241a74cbf9136a424b3fe493cf5 /util | |
parent | b35bf3760e750fa55ea3ad5d4e97c59ba2eda9a1 (diff) | |
parent | d836e5c09de5c45af4c76cc8cc66458bc0c5deec (diff) | |
download | prosody-672ffb89624c3af6badb7354a6bcd9c0d7624e48.tar.gz prosody-672ffb89624c3af6badb7354a6bcd9c0d7624e48.zip |
Merging SASL buggy client workaround with current tip.
Diffstat (limited to 'util')
-rw-r--r-- | util/events.lua | 6 | ||||
-rw-r--r-- | util/stanza.lua | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/util/events.lua b/util/events.lua index b1f3811c..704d31a4 100644 --- a/util/events.lua +++ b/util/events.lua @@ -53,7 +53,8 @@ function new() if not h then h = {}; handlers[event] = h; end
local dispatcher = function(data)
for _, handler in ipairs(h) do
- handler(data);
+ local ret = handler(data);
+ if ret ~= nil then return ret; end
end
end;
dispatchers[event] = dispatcher;
@@ -66,7 +67,8 @@ function new() local h = handlers[event];
if h then
for _, handler in ipairs(h) do
- handler(data);
+ local ret = handler(data);
+ if ret ~= nil then return ret; end
end
end
end;
diff --git a/util/stanza.lua b/util/stanza.lua index 7e40dfa4..526bb2f0 100644 --- a/util/stanza.lua +++ b/util/stanza.lua @@ -258,10 +258,9 @@ function reply(orig) return stanza(orig.name, orig.attr and { to = orig.attr.from, from = orig.attr.to, id = orig.attr.id, type = ((orig.name == "iq" and "result") or orig.attr.type) }); end -function error_reply(orig, type, condition, message, clone) +function error_reply(orig, type, condition, message) local t = reply(orig); t.attr.type = "error"; - -- TODO use clone t:tag("error", {type = type}) :tag(condition, {xmlns = "urn:ietf:params:xml:ns:xmpp-stanzas"}):up(); if (message) then t:tag("text"):text(message):up(); end |