Hello,
it seems this bug is still around/reappeared in version 3.9.1. Again it is not possible to connect to a server in a subdomain of the xmpp.domain. The patch is quite similar to the old one from 2006. I have applied a patch for version 3.9.1 below.
Kind Regrads,
Jürgen
— ./src/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java~ 2014-02-06 15:39:46.000000000 +0100
+++ ./src/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java 2014-03-17 11:33:56.198208000 +0100
@@ -236,6 +236,10 @@
else if (jid.getDomain().contains(serverName)) {
// Packet sent to component hosted in this server
routed = routeToComponent(jid, packet, routed);
+ if ( !routed ) {
+ // most likely not a component but a subdomain server
+ routed = routeToRemoteDomain(jid, packet, routed);
+ }
}
else {
// Packet sent to remote server
@csh what do you think of this patch?
Updated patch suggested
— ./src/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java~ 2014-02-06 15:39:46.000000000 +0100
+++ ./src/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java 2014-03-20 11:05:24.817190000 +0100
@@ -233,7 +233,7 @@
// Packet sent to our domain.
routed = routeToLocalDomain(jid, packet, fromServer);
}
else if (jid.getDomain().contains(serverName)) {
+ else if (jid.getDomain().contains(serverName) && hasComponentRoute(jid)) {
// Packet sent to component hosted in this server
routed = routeToComponent(jid, packet, routed);
}