Commit 92a75372 authored by Christian Schudt's avatar Christian Schudt

OF-784 Possible NullPointerException in MessageRouter logic

parent 2d781944
...@@ -20,20 +20,15 @@ ...@@ -20,20 +20,15 @@
package org.jivesoftware.openfire; package org.jivesoftware.openfire;
import java.util.List; import org.dom4j.QName;
import java.util.StringTokenizer; import org.jivesoftware.openfire.carbons.Sent;
import org.jivesoftware.openfire.container.BasicModule;
import org.dom4j.QName; import org.jivesoftware.openfire.forward.Forwarded;
import org.jivesoftware.openfire.carbons.Sent; import org.jivesoftware.openfire.interceptor.InterceptorManager;
import org.jivesoftware.openfire.container.BasicModule;
import org.jivesoftware.openfire.forward.Forwarded;
import org.jivesoftware.openfire.interceptor.InterceptorManager;
import org.jivesoftware.openfire.interceptor.PacketRejectedException; import org.jivesoftware.openfire.interceptor.PacketRejectedException;
import org.jivesoftware.openfire.privacy.PrivacyList; import org.jivesoftware.openfire.session.ClientSession;
import org.jivesoftware.openfire.privacy.PrivacyListManager; import org.jivesoftware.openfire.session.LocalClientSession;
import org.jivesoftware.openfire.session.ClientSession; import org.jivesoftware.openfire.session.Session;
import org.jivesoftware.openfire.session.LocalClientSession;
import org.jivesoftware.openfire.session.Session;
import org.jivesoftware.openfire.user.UserManager; import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -43,6 +38,9 @@ import org.xmpp.packet.Message; ...@@ -43,6 +38,9 @@ import org.xmpp.packet.Message;
import org.xmpp.packet.Packet; import org.xmpp.packet.Packet;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
import java.util.List;
import java.util.StringTokenizer;
/** /**
* <p>Route message packets throughout the server.</p> * <p>Route message packets throughout the server.</p>
* <p>Routing is based on the recipient and sender addresses. The typical * <p>Routing is based on the recipient and sender addresses. The typical
...@@ -145,7 +143,7 @@ public class MessageRouter extends BasicModule { ...@@ -145,7 +143,7 @@ public class MessageRouter extends BasicModule {
// Sent carbon copies to other resources of the sender: // Sent carbon copies to other resources of the sender:
// When a client sends a <message/> of type "chat" // When a client sends a <message/> of type "chat"
if (packet.getType() == Message.Type.chat && !isPrivate) { // && session.isMessageCarbonsEnabled() ??? // must the own session also be carbon enabled? if (packet.getType() == Message.Type.chat && !isPrivate && session != null) { // && session.isMessageCarbonsEnabled() ??? // must the own session also be carbon enabled?
List<JID> routes = routingTable.getRoutes(packet.getFrom().asBareJID(), null); List<JID> routes = routingTable.getRoutes(packet.getFrom().asBareJID(), null);
for (JID route : routes) { for (JID route : routes) {
// The sending server SHOULD NOT send a forwarded copy to the sending full JID if it is a Carbons-enabled resource. // The sending server SHOULD NOT send a forwarded copy to the sending full JID if it is a Carbons-enabled resource.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment