Software / code / prosody
Comparison
plugins/muc/muc.lib.lua @ 1996:3e6b36c6d7b7
MUC: Kick occupants on sending error messages to other occupants.
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sun, 18 Oct 2009 05:35:33 +0500 |
| parent | 1989:97c3236cc4ac |
| child | 1997:c70ee886e309 |
comparison
equal
deleted
inserted
replaced
| 1995:03ecc636af1e | 1996:3e6b36c6d7b7 |
|---|---|
| 349 else | 349 else |
| 350 origin.send(st.error_reply(stanza, "cancel", "not-acceptable")); | 350 origin.send(st.error_reply(stanza, "cancel", "not-acceptable")); |
| 351 end | 351 end |
| 352 elseif stanza.name == "message" and type == "groupchat" then -- groupchat messages not allowed in PM | 352 elseif stanza.name == "message" and type == "groupchat" then -- groupchat messages not allowed in PM |
| 353 origin.send(st.error_reply(stanza, "modify", "bad-request")); | 353 origin.send(st.error_reply(stanza, "modify", "bad-request")); |
| 354 elseif current_nick and stanza.name == "message" and type == "error" and get_kickable_error(stanza) then | |
| 355 log("debug", "%s kicked from %s for sending an error message", current_nick, self.jid); | |
| 356 self:handle_to_occupant(origin, st.presence({type='unavailable', from=stanza.attr.from, to=stanza.attr.to}) | |
| 357 :tag('status'):text('This participant is kicked from the room because he sent an error message to another occupant')); -- send unavailable | |
| 354 else -- private stanza | 358 else -- private stanza |
| 355 local o_data = self._occupants[to]; | 359 local o_data = self._occupants[to]; |
| 356 if o_data then | 360 if o_data then |
| 357 log("debug", "%s sent private stanza to %s (%s)", from, to, o_data.jid); | 361 log("debug", "%s sent private stanza to %s (%s)", from, to, o_data.jid); |
| 358 local jid = o_data.jid; | 362 local jid = o_data.jid; |