# HG changeset patch
# User Waqas Hussain <waqas20@gmail.com>
# Date 1259167325 -18000
# Node ID 85c77568c447f88431b10477fe5d8374ed9a9d88
# Parent  8a411db08af42f9c09bcd3a81a852334cb646030
MUC: Prevent visitors from broadcasting messages.

diff -r 8a411db08af4 -r 85c77568c447 plugins/muc/muc.lib.lua
--- a/plugins/muc/muc.lib.lua	Wed Nov 25 21:40:44 2009 +0500
+++ b/plugins/muc/muc.lib.lua	Wed Nov 25 21:42:05 2009 +0500
@@ -519,8 +519,11 @@
 		local from, to = stanza.attr.from, stanza.attr.to;
 		local room = jid_bare(to);
 		local current_nick = self._jid_nick[from];
-		if not current_nick then -- not in room
+		local occupant = self._occupants[current_nick];
+		if not occupant then -- not in room
 			origin.send(st.error_reply(stanza, "cancel", "not-acceptable"));
+		elseif occupant.role == "visitor" then
+			origin.send(st.error_reply(stanza, "cancel", "forbidden"));
 		else
 			local from = stanza.attr.from;
 			stanza.attr.from = current_nick;