Spark issues across a VPN tunnel

Hi all,

I just setup an Openfire server (v. 3.6.2) on a test server, and I am having some trouble with Spark connecting from across a VPN Tunnel.

My server is setup in our main office, and clients can connect and chat with spark with no issues.

However, our branch office no clients can connect. They try to connect with spark, and all that happens is Spark will sit at “Authenticating” for about a minute, then come back with “Invalid username or password”

I have verified that the branch office can reach the remote server & port, and it can resolve the name without issues.

The users are populated from our Active Directory, so they are valid.

The user accounts (a few test accounts) are able to login from the main office.

The debug log on the server only shows:

2008.11.25 15:16:57 JettyLog: EXCEPTION
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.mortbay.io.nio.ChannelEndPoint.fill(ChannelEndPoint.java:122)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:282)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

On the client side, only the Warn.log gets anything:

Nov 25, 2008 3:11:59 PM org.jivesoftware.spark.util.log.Log warning
WARNING: Exception in Login:
Connection failed. No response from server.:
at org.jivesoftware.smack.PacketReader.startup(PacketReader.java:164)
at org.jivesoftware.smack.XMPPConnection.initConnection(XMPPConnection.java:875)
at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection. java:834)
at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:1276)
at org.jivesoftware.LoginDialog$LoginPanel.login(LoginDialog.java:822)
at org.jivesoftware.LoginDialog$LoginPanel.access$400(LoginDialog.java:196)
at org.jivesoftware.LoginDialog$LoginPanel$1.construct(LoginDialog.java:594)
at org.jivesoftware.spark.util.SwingWorker$2.run(SwingWorker.java:129)
at java.lang.Thread.run(Unknown Source)

I have the server to Require TLS, and old SSL is available…

The odd thing is that a connection can be established using the Old SSL method (which i’d rather not use)

Any ideas on what might be the issue, or anything I can do to try and further debug what’s happening?

So I tracked down the issue to the intrusion prevention service on the firewall at the main site.

I added the OpenFire server as an exception and now I can connect from the branch office.

Now I have to complain to my firewall vendor why their intrusion prevention component is applied to a supposed “fully open” VPN tunnel