TLS server to server connections are not working with 3.9.2
Description
Environment
is related to
Activity
Daryl Herzmann May 6, 2014 at 1:21 AM
I reverted the patch for https://igniterealtime.atlassian.net/browse/OF-2#icft=OF-2 and igniterealtime's Openfire appears happier now, will reopen that ticket
Tom Evans May 5, 2014 at 11:13 PMEdited
After tweak for exception handling, now seeing this:
2014.05.05 18:05:47 org.jivesoftware.openfire.net.SocketReadingMode - Error while negotiating TLS: org.jivesoftware.openfire.net.SocketConnection@2880efbf socket: Socket[addr=/204.93.66.11,port=37019,localport=5269] session: org.jivesoftware.openfire.session.LocalIncomingServerSession@2b218e8f status: 1 address: igniterealtime.org/5affdb24 id: 5affdb24
javax.net.ssl.SSLException: Unsupported record version Unknown-47.115
at sun.security.ssl.EngineInputRecord.bytesInCompletePacket(EngineInputRecord.java:116)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:845)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.jivesoftware.openfire.net.TLSStreamHandler.doHandshake(TLSStreamHandler.java:222)
at org.jivesoftware.openfire.net.TLSStreamHandler.start(TLSStreamHandler.java:168)
at org.jivesoftware.openfire.net.SocketConnection.startTLS(SocketConnection.java:182)
at org.jivesoftware.openfire.net.SocketReadingMode.negotiateTLS(SocketReadingMode.java:85)
at org.jivesoftware.openfire.net.BlockingReadingMode.readStream(BlockingReadingMode.java:138)
at org.jivesoftware.openfire.net.BlockingReadingMode.run(BlockingReadingMode.java:76)
at org.jivesoftware.openfire.net.SocketReader.run(SocketReader.java:137)
at java.lang.Thread.run(Thread.java:745)
Tom Evans May 5, 2014 at 10:36 PM
FYI - I am looking closer at the modified exception handling in this commit:
https://github.com/igniterealtime/Openfire/commit/0d5d58677b49bb2c18a4e5ab24b5907e1ddd27b2
Daryl Herzmann May 5, 2014 at 6:50 PM
Another fun log message while attempting to debug
2014.05.05 13:47:26 org.jivesoftware.openfire.server.OutgoingSessionPromise - OutgoingSessionPromise: Error sending packet to remote server:
<message type="chat" id="purple8d4e40e" to="flo@freakempire.de" from="akrherz@igniterealtime.org/Laptop">
<composing xmlns="http://jabber.org/protocol/chatstates"/>
</message>
java.lang.Exception: Route created but not found!!!
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPacket(OutgoingSessionPromise.java:268)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:238)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Daryl Herzmann May 5, 2014 at 6:35 PM
Attempting to debug I see this in the debug logs, still boggling
2014.05.05 13:33:15 org.jivesoftware.openfire.server.OutgoingServerSocketReader - OutgoingServerSocketReader: Finishing Outgoing Server Reader. Closing session: org.jivesoftware.openfire.session.LocalOutgoingServerSession@b9ffe08 status: -1 address: weather.im id: 88aee576
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at org.jivesoftware.openfire.net.ServerTrafficCounter$InputStreamWrapper.read(ServerTrafficCounter.java:221)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
at org.jivesoftware.openfire.net.TLSStreamReader.doRead(TLSStreamReader.java:78)
at org.jivesoftware.openfire.net.TLSStreamReader.access$000(TLSStreamReader.java:36)
at org.jivesoftware.openfire.net.TLSStreamReader$1.read(TLSStreamReader.java:171)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2992)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.jivesoftware.openfire.net.MXParser.more(MXParser.java:376)
at org.jivesoftware.openfire.net.MXParser.nextImpl(MXParser.java:85)
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100)
at org.dom4j.io.XMPPPacketReader.parseDocument(XMPPPacketReader.java:316)
at org.jivesoftware.openfire.server.OutgoingServerSocketReader$1.run(OutgoingServerSocketReader.java:105)
Something is not working with server 2 server connections. Even igniterealtime's openfire instance is having troubles. Finding exact logs with the failure has not been fruitful yet.