Commit 7a28ee14 authored by Guus der Kinderen's avatar Guus der Kinderen

Fix NPE in S2S.

parent cbab2458
...@@ -32,7 +32,6 @@ import javax.net.ssl.SSLEngineResult.Status; ...@@ -32,7 +32,6 @@ import javax.net.ssl.SSLEngineResult.Status;
import org.jivesoftware.openfire.Connection; import org.jivesoftware.openfire.Connection;
import org.jivesoftware.openfire.spi.ConnectionConfiguration; import org.jivesoftware.openfire.spi.ConnectionConfiguration;
import org.jivesoftware.openfire.spi.ConnectionType;
import org.jivesoftware.openfire.spi.EncryptionArtifactFactory; import org.jivesoftware.openfire.spi.EncryptionArtifactFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -77,17 +76,16 @@ public class TLSWrapper { ...@@ -77,17 +76,16 @@ public class TLSWrapper {
try try
{ {
final EncryptionArtifactFactory factory = new EncryptionArtifactFactory( configuration ); final EncryptionArtifactFactory factory = new EncryptionArtifactFactory( configuration );
final SSLEngine sslEngine;
if ( clientMode ) if ( clientMode )
{ {
sslEngine = factory.createClientModeSSLEngine(); tlsEngine = factory.createClientModeSSLEngine();
} }
else else
{ {
sslEngine = factory .createServerModeSSLEngine(); tlsEngine = factory .createServerModeSSLEngine();
} }
final SSLSession sslSession = sslEngine.getSession(); final SSLSession sslSession = tlsEngine.getSession();
netBuffSize = sslSession.getPacketBufferSize(); netBuffSize = sslSession.getPacketBufferSize();
appBuffSize = sslSession.getApplicationBufferSize(); appBuffSize = sslSession.getApplicationBufferSize();
...@@ -187,27 +185,22 @@ public class TLSWrapper { ...@@ -187,27 +185,22 @@ public class TLSWrapper {
* @return the current TLSStatus * @return the current TLSStatus
*/ */
public TLSStatus getStatus() { public TLSStatus getStatus() {
TLSStatus status = null;
if (tlsEngineResult != null && tlsEngineResult.getStatus() == Status.BUFFER_UNDERFLOW) { if (tlsEngineResult != null && tlsEngineResult.getStatus() == Status.BUFFER_UNDERFLOW) {
status = TLSStatus.UNDERFLOW; return TLSStatus.UNDERFLOW;
} else { } else {
if (tlsEngineResult != null && tlsEngineResult.getStatus() == Status.CLOSED) { if (tlsEngineResult != null && tlsEngineResult.getStatus() == Status.CLOSED) {
status = TLSStatus.CLOSED; return TLSStatus.CLOSED;
} else { } else {
switch (tlsEngine.getHandshakeStatus()) { switch (tlsEngine.getHandshakeStatus()) {
case NEED_WRAP: case NEED_WRAP:
status = TLSStatus.NEED_WRITE; return TLSStatus.NEED_WRITE;
break;
case NEED_UNWRAP: case NEED_UNWRAP:
status = TLSStatus.NEED_READ; return TLSStatus.NEED_READ;
break;
default: default:
status = TLSStatus.OK; return TLSStatus.OK;
break;
} }
} }
} }
return status;
} }
private ByteBuffer resizeApplicationBuffer(ByteBuffer app) { private ByteBuffer resizeApplicationBuffer(ByteBuffer app) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment