aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2010-02-21 17:43:39 +0500
committerWaqas Hussain <waqas20@gmail.com>2010-02-21 17:43:39 +0500
commite6ee9308ba9da8c2c7ab9e58bf2cb121b71e62af (patch)
treef21fd15c5ef25014e298766bf3151dc54c860922
parent80c27c9e7906ec203f9d679d2896e59d8c5ad9ff (diff)
downloadprosody-e6ee9308ba9da8c2c7ab9e58bf2cb121b71e62af.tar.gz
prosody-e6ee9308ba9da8c2c7ab9e58bf2cb121b71e62af.zip
mod_iq: Fire sub-events for iq/self events.
-rw-r--r--plugins/mod_iq.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/mod_iq.lua b/plugins/mod_iq.lua
index 5be04533..0e1dadfc 100644
--- a/plugins/mod_iq.lua
+++ b/plugins/mod_iq.lua
@@ -53,6 +53,18 @@ module:hook("iq/bare", function(data)
end
end);
+module:hook("iq/self", function(data)
+ -- IQ to bare JID recieved
+ local origin, stanza = data.origin, data.stanza;
+
+ if stanza.attr.type == "get" or stanza.attr.type == "set" then
+ return module:fire_event("iq/self/"..stanza.tags[1].attr.xmlns..":"..stanza.tags[1].name, data);
+ else
+ module:fire_event("iq/self/"..stanza.attr.id, data);
+ return true;
+ end
+end);
+
module:hook("iq/host", function(data)
-- IQ to a local host recieved
local origin, stanza = data.origin, data.stanza;