Software /
code /
prosody-modules
Comparison
mod_muc_limits/mod_muc_limits.lua @ 1058:1255de347dd4
mod_muc_limits: Fix traceback on presence sent to the room's bare JID
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 08 Jun 2013 16:31:13 +0100 |
parent | 1057:0b41122b19f9 |
child | 1205:7d2d440e2fa5 |
comparison
equal
deleted
inserted
replaced
1057:0b41122b19f9 | 1058:1255de347dd4 |
---|---|
36 local from_jid = stanza.attr.from; | 36 local from_jid = stanza.attr.from; |
37 local occupant = room._occupants[room._jid_nick[from_jid]]; | 37 local occupant = room._occupants[room._jid_nick[from_jid]]; |
38 if (occupant and occupant.affiliation) or (not(occupant) and room._affiliations[jid_bare(from_jid)]) then | 38 if (occupant and occupant.affiliation) or (not(occupant) and room._affiliations[jid_bare(from_jid)]) then |
39 module:log("debug", "Skipping stanza from affiliated user..."); | 39 module:log("debug", "Skipping stanza from affiliated user..."); |
40 return; | 40 return; |
41 elseif max_nick_length and stanza.name == "presence" and not room._occupants[stanza.attr.to] and #dest_nick > max_nick_length then | 41 elseif dest_nick and max_nick_length and stanza.name == "presence" and not room._occupants[stanza.attr.to] and #dest_nick > max_nick_length then |
42 module:log("debug", "Forbidding long (%d bytes) nick in %s", #dest_nick, dest_room) | 42 module:log("debug", "Forbidding long (%d bytes) nick in %s", #dest_nick, dest_room) |
43 origin.send(st.error_reply(stanza, "modify", "policy-violation", "Your nick name is too long, please use a shorter one") | 43 origin.send(st.error_reply(stanza, "modify", "policy-violation", "Your nick name is too long, please use a shorter one") |
44 :up():tag("x", { xmlns = xmlns_muc })); | 44 :up():tag("x", { xmlns = xmlns_muc })); |
45 return true; | 45 return true; |
46 end | 46 end |