Author: berndf
Date: Fri May 25 13:42:21 2012
New Revision: 1342622
URL: http://svn.apache.org/viewvc?rev=1342622&view=rev
Log:
handle non-create room, improve logging
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java?rev=1342622&r1=1342621&r2=1342622&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
Fri May 25 13:42:21 2012
@@ -139,6 +139,11 @@ public class MUCPresenceHandler extends
newRoom = true;
}
+ if (room == null) {
+ // room not existing or access not allowed
+ return createPresenceErrorStanza(roomJid, newOccupantJid,
stanza.getID(), "auth", "not-authorized");
+ }
+
if (room.isInRoom(newOccupantJid)) {
// user is already in room, change nick
logger.debug("{} has requested to change nick in room {}",
newOccupantJid, roomJid);
@@ -191,6 +196,7 @@ public class MUCPresenceHandler extends
}
if (nickConflict) {
+ logger.debug("persistent nick confict for {} entering {}",
newOccupantJid, roomJid);
// user with this nick is already in room
return createPresenceErrorStanza(roomJid, newOccupantJid,
stanza.getID(), "cancel", "conflict");
}
@@ -204,6 +210,7 @@ public class MUCPresenceHandler extends
}
if (password == null || !password.equals(room.getPassword())) {
+ logger.debug("{} is not allowed to enter room {}",
newOccupantJid, roomJid);
// password missing or not matching
return createPresenceErrorStanza(roomJid, newOccupantJid,
stanza.getID(), "auth", "not-authorized");
}
@@ -213,7 +220,9 @@ public class MUCPresenceHandler extends
try {
newOccupant = room.addOccupant(newOccupantJid, nick);
} catch(RuntimeException e) {
- return createPresenceErrorStanza(roomJid, newOccupantJid,
stanza.getID(), "auth", e.getMessage());
+ final String message = e.getMessage();
+ logger.debug("{} has not been added as occupant to room {},
reason: " + message, newOccupantJid, roomJid);
+ return createPresenceErrorStanza(roomJid, newOccupantJid,
stanza.getID(), "auth", message);
}
if(newRoom) {