Commit 8f515822 authored by Guus der Kinderen's avatar Guus der Kinderen

OF-1008: Do not send error messages to non-available local users

When the local user that is sent a message delivery failure report is
not online, drop the stanza. This prevents loops where the failure
to deliver the failure message triggers another failure message.
parent 362ed2c5
...@@ -252,7 +252,7 @@ public class MessageRouter extends BasicModule { ...@@ -252,7 +252,7 @@ public class MessageRouter extends BasicModule {
final Message msg = (Message) packet; final Message msg = (Message) packet;
if ( msg.getType().equals( Message.Type.chat ) && serverName.equals( recipient.getDomain() ) && recipient.getResource() != null if ( msg.getType().equals( Message.Type.chat ) && serverName.equals( recipient.getDomain() ) && recipient.getResource() != null
&& userManager.isRegisteredUser( recipient.getNode() ) ) && routingTable.hasClientRoute( recipient.asBareJID() ) )
{ {
// If message was sent to an unavailable full JID of a user then retry using the bare JID. // If message was sent to an unavailable full JID of a user then retry using the bare JID.
routingTable.routePacket( recipient.asBareJID(), packet, false ); routingTable.routePacket( recipient.asBareJID(), packet, false );
......
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