diff options
author | Waqas Hussain <waqas20@gmail.com> | 2009-11-25 22:00:33 +0500 |
---|---|---|
committer | Waqas Hussain <waqas20@gmail.com> | 2009-11-25 22:00:33 +0500 |
commit | 70ab443a15224fb4ca15a9dde4adb5227bcbda1f (patch) | |
tree | 6c7ee8e663f006a6a611a6aaf8aca02ce5f6779f /plugins | |
parent | e3c1d3f2c74ba92b1b2bb858b4e2810d78afebcf (diff) | |
download | prosody-70ab443a15224fb4ca15a9dde4adb5227bcbda1f.tar.gz prosody-70ab443a15224fb4ca15a9dde4adb5227bcbda1f.zip |
MUC: Only allow moderators to change the room subject.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/muc/muc.lib.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 7907c0c3..098fef98 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -529,7 +529,12 @@ function room_mt:handle_to_room(origin, stanza) -- presence changes and groupcha stanza.attr.from = current_nick; local subject = getText(stanza, {"subject"}); if subject then - self:set_subject(current_nick, subject); -- TODO use broadcast_message_stanza + if occupant.role == "moderator" then + self:set_subject(current_nick, subject); -- TODO use broadcast_message_stanza + else + stanza.attr.from = from; + origin.send(st.error_reply(stanza, "cancel", "forbidden")); + end else self:broadcast_message(stanza, true); end |