powered by Jive Software

Bug in IQRosterHandler - IQ Remove not working with s2s

There is a minor bug preventing IQ Remove being forwarded on to external servers correctly.

In the function IQRosterHandler > removeItem

There is an else at the bottom with the code:

// Recipient is remote so we just forward the packet to them

String serverDomain = localServer.getServerInfo().getXMPPDomain();

// Check if the recipient may be hosted by this server

if (!recipient.getDomain().contains(serverDomain)) {

   // **TODO** Implete when s2s is implemented

}

Packet removePacket = createRemoveForward(sender, recipient);

else {

 router.route(removePacket);

}

That should all be removed and simply replaced with:

Packet removePacket = createRemoveForward(sender, recipient);
router.route(removePacket);

As you can see the if statement was incorrect and causing the IQ packet to never be forwarded when it should be.

Thanks

Daniel

Should I add this as an issue? I was hoping someone else could confirm I am correct first.

Thanks