Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Allow s2s message of subdomain of XMPP domain when no components are found
Description
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
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); }
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