aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2009-05-15 17:33:04 +0200
committerTobias Markmann <tm@ayena.de>2009-05-15 17:33:04 +0200
commit672ffb89624c3af6badb7354a6bcd9c0d7624e48 (patch)
tree74f77ffb11e96241a74cbf9136a424b3fe493cf5 /util
parentb35bf3760e750fa55ea3ad5d4e97c59ba2eda9a1 (diff)
parentd836e5c09de5c45af4c76cc8cc66458bc0c5deec (diff)
downloadprosody-672ffb89624c3af6badb7354a6bcd9c0d7624e48.tar.gz
prosody-672ffb89624c3af6badb7354a6bcd9c0d7624e48.zip
Merging SASL buggy client workaround with current tip.
Diffstat (limited to 'util')
-rw-r--r--util/events.lua6
-rw-r--r--util/stanza.lua3
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