diff options
author | daurnimator <quae@daurnimator.com> | 2014-04-29 18:50:30 -0400 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2014-04-29 18:50:30 -0400 |
commit | dec7312aa52711ea86d95d697916f8a4e2d07888 (patch) | |
tree | 27f1cba901a312525a3bba1fd84b580117c80851 /plugins/muc | |
parent | f0e4ed8339ed677c644bd2bf8d17aa31a18472da (diff) | |
download | prosody-dec7312aa52711ea86d95d697916f8a4e2d07888.tar.gz prosody-dec7312aa52711ea86d95d697916f8a4e2d07888.zip |
plugins/muc/lock.lib: lock inside of pre-create instead of 'created'
Diffstat (limited to 'plugins/muc')
-rw-r--r-- | plugins/muc/lock.lib.lua | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/plugins/muc/lock.lib.lua b/plugins/muc/lock.lib.lua index 7cf19be3..319a6973 100644 --- a/plugins/muc/lock.lib.lua +++ b/plugins/muc/lock.lib.lua @@ -23,7 +23,10 @@ local function is_locked(room) end if lock_rooms then - module:hook("muc-room-created", function(event) + module:hook("muc-room-pre-create", function(event) + -- Older groupchat protocol doesn't lock + if not event.stanza:get_child("x", "http://jabber.org/protocol/muc") then return end + -- Lock room at creation local room = event.room; lock(room); if lock_room_timeout and lock_room_timeout > 0 then @@ -33,16 +36,9 @@ if lock_rooms then end end); end - end); + end, 10); end --- Older groupchat protocol doesn't lock -module:hook("muc-room-pre-create", function(event) - if is_locked(event.room) and not event.stanza:get_child("x", "http://jabber.org/protocol/muc") then - unlock(event.room); - end -end, 10); - -- Don't let users into room while it is locked module:hook("muc-occupant-pre-join", function(event) if not event.is_new_room and is_locked(event.room) then -- Deny entry |