powered by Jive Software

Bug: outgoing s2s sessions do not bind to specified address

Seems to be a bug:

Outgoing s2s sessions do not bind to specified (in the config file or database) ip address (network.address).

openfire_src/src/java/org/jivesoftware/openfire/server/ServerDialback.java:

public LocalOutgoingServerSession createOutgoingSession(String domain, String hostname, int port) {

// Connect to the remote server
Socket socket = new Socket();
socket.connect(new InetSocketAddress(realHostname, realPort),
RemoteServerManager.getSocketTimeout());

I guess there should be used another constructor:

Socket socket = **new **``**Socket**(InetAddress address, int port)

or one more function before socket.connect:

**socket.bind**(SocketAddress bindpoint)

Binding system property seem to have no effect at all. But uncommenting network tags in the openfire.xml and specifying needed IP there works for the local connections. I just want to make sure. Are you able to bind to some IP address for a simple client-2-server connections? Admin Console should be showing this on the main screen. Or is this not working only for the server-2-server connections?

Client-to-server connections are OK (in the meaning of binding). Only s2s binding fails.

I have filed this as OF-34.