jetty-9 removed race with NPN replacing connection and extra wrap causing NPE in SSLEngineImpl
This commit is contained in:
parent
6cc0734a1a
commit
97d08c399a
|
@ -1,2 +1,3 @@
|
|||
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
||||
org.eclipse.jetty.LEVEL=INFO
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
|
||||
#org.eclipse.jetty.spdy.LEVEL=DEBUG
|
||||
#org.eclipse.jetty.server.LEVEL=DEBUG
|
||||
#org.eclipse.jetty.io.ssl.LEVEL=DEBUG
|
||||
#org.eclipse.jetty.spdy.server.LEVEL=DEBUG
|
||||
|
|
|
@ -35,7 +35,7 @@ import org.eclipse.jetty.util.log.Logger;
|
|||
|
||||
public class NextProtoNegoServerConnection extends AbstractConnection implements NextProtoNego.ServerProvider
|
||||
{
|
||||
private final Logger logger = Log.getLogger(getClass());
|
||||
private final Logger LOG = Log.getLogger(getClass());
|
||||
private final Connector connector;
|
||||
private final SSLEngine engine;
|
||||
private final List<String> protocols;
|
||||
|
@ -78,6 +78,9 @@ public class NextProtoNegoServerConnection extends AbstractConnection implements
|
|||
if (filled <= 0 || completed)
|
||||
break;
|
||||
}
|
||||
|
||||
if (completed)
|
||||
getEndPoint().getConnection().onOpen();
|
||||
}
|
||||
|
||||
private int fill()
|
||||
|
@ -88,7 +91,7 @@ public class NextProtoNegoServerConnection extends AbstractConnection implements
|
|||
}
|
||||
catch (IOException x)
|
||||
{
|
||||
logger.debug(x);
|
||||
LOG.debug(x);
|
||||
getEndPoint().close();
|
||||
return -1;
|
||||
}
|
||||
|
@ -109,13 +112,13 @@ public class NextProtoNegoServerConnection extends AbstractConnection implements
|
|||
@Override
|
||||
public void protocolSelected(String protocol)
|
||||
{
|
||||
LOG.debug("{} protocolSelected {}",this,protocol);
|
||||
NextProtoNego.remove(engine);
|
||||
ConnectionFactory connectionFactory = connector.getConnectionFactory(protocol);
|
||||
EndPoint endPoint = getEndPoint();
|
||||
endPoint.getConnection().onClose();
|
||||
Connection connection = connectionFactory.newConnection(connector, endPoint);
|
||||
endPoint.setConnection(connection);
|
||||
connection.onOpen();
|
||||
completed = true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue