Backout bcdff2b1d3ec from 0.8 - going to commit a slightly cleaner patch for the...
[prosody.git] / plugins / mod_message.lua
index e38b60e60d6e00162933b3f6efc8c1bc48e5a206..df3175325b21f2488e19fa6e847c5ecef81be0c0 100644 (file)
@@ -14,7 +14,6 @@ local st = require "util.stanza";
 local jid_bare = require "util.jid".bare;
 local jid_split = require "util.jid".split;
 local user_exists = require "core.usermanager".user_exists;
-local offlinemanager = require "core.offlinemanager";
 local t_insert = table.insert;
 
 local function process_to_bare(bare, origin, stanza)
@@ -45,10 +44,17 @@ local function process_to_bare(bare, origin, stanza)
                end
                -- no resources are online
                local node, host = jid_split(bare);
+               local ok
                if user_exists(node, host) then
                        -- TODO apply the default privacy list
-                       offlinemanager.store(node, host, stanza);
-               else
+
+                       ok = module:fire_event('message/offline/handle', {
+                           origin = origin,
+                           stanza = stanza,
+                       });
+               end
+
+               if not ok then
                        origin.send(st.error_reply(stanza, "cancel", "service-unavailable"));
                end
        end