diff -r 78fb24b5f758 -r 98e444a1b204 jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java --- a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java Thu Aug 31 12:48:19 2017 -0700 +++ b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java Thu Aug 31 17:08:35 2017 -0400 @@ -102,11 +102,6 @@ AccessController.doPrivileged((PrivilegedAction) () -> Long.getLong("sun.rmi.transport.tcp.threadKeepAliveTime", 60000)); - /** enable multiplexing protocol */ - private static final boolean enableMultiplexProtocol = // default false - AccessController.doPrivileged((PrivilegedAction) () -> - Boolean.getBoolean("sun.rmi.transport.tcp.enableMultiplexProtocol")); - /** thread pool for connection handlers */ private static final ExecutorService connectionThreadPool = new ThreadPoolExecutor(0, maxConnectionThreads, @@ -687,6 +682,7 @@ } } + @SuppressWarnings("fallthrough") private void run0() { TCPEndpoint endpoint = getEndpoint(); int port = endpoint.getPort(); @@ -801,59 +797,11 @@ break; case TransportConstants.MultiplexProtocol: - - if (!enableMultiplexProtocol) { - if (tcpLog.isLoggable(Log.VERBOSE)) { - tcpLog.log(Log.VERBOSE, "(port " + port + - ") rejecting multiplex protocol"); - } - - // If MultiplexProtocol is disabled, send NACK immediately. - out.writeByte(TransportConstants.ProtocolNack); - out.flush(); - break; - } - - if (tcpLog.isLoggable(Log.VERBOSE)) { - tcpLog.log(Log.VERBOSE, "(port " + port + - ") accepting multiplex protocol"); - } - - // send ack - out.writeByte(TransportConstants.ProtocolAck); - - // suggest endpoint (in case client doesn't already have one) if (tcpLog.isLoggable(Log.VERBOSE)) { tcpLog.log(Log.VERBOSE, "(port " + port + - ") suggesting " + remoteHost + ":" + remotePort); + ") rejecting multiplex protocol"); } - - out.writeUTF(remoteHost); - out.writeInt(remotePort); - out.flush(); - - // read endpoint client has decided to use - ep = new TCPEndpoint(in.readUTF(), in.readInt(), - endpoint.getClientSocketFactory(), - endpoint.getServerSocketFactory()); - if (tcpLog.isLoggable(Log.VERBOSE)) { - tcpLog.log(Log.VERBOSE, "(port " + - port + ") client using " + - ep.getHost() + ":" + ep.getPort()); - } - - ConnectionMultiplexer multiplexer; - synchronized (channelTable) { - // create or find channel for this endpoint - ch = getChannel(ep); - multiplexer = - new ConnectionMultiplexer(ch, bufIn, sockOut, - false); - ch.useMultiplexer(multiplexer); - } - multiplexer.run(); - break; - + // Fall-through to reject use of MultiplexProtocol default: // protocol not understood, send nack and close socket out.writeByte(TransportConstants.ProtocolNack);