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) {


Reply via email to