Sat, 13 Feb 2010 02:55:24 +0500
stanza_router: Fire /self events for stanzas users send to their own bare JID.
core/stanza_router.lua | file | annotate | diff | comparison | revisions |
--- a/core/stanza_router.lua Fri Feb 12 21:33:22 2010 +0000 +++ b/core/stanza_router.lua Sat Feb 13 02:55:24 2010 +0500 @@ -124,7 +124,7 @@ local node, host, resource = jid_split(to); local to_bare = node and (node.."@"..host) or host; -- bare JID - local to_type; + local to_type, to_self; if node then if resource then to_type = '/full'; @@ -132,6 +132,7 @@ to_type = '/bare'; if node == origin.username and host == origin.host then stanza.attr.to = nil; + to_self = true; end end else @@ -149,6 +150,7 @@ local h = hosts[to_bare] or hosts[host or origin.host]; if h then if h.events.fire_event(stanza.name..to_type, event_data) then return; end -- do processing + if to_self and h.events.fire_event(stanza.name..'/self', event_data) then return; end -- do processing if h.type == "component" then component_handle_stanza(origin, stanza);