Author: markt
Date: Mon Jun 19 20:22:27 2017
New Revision: 1799276

URL: http://svn.apache.org/viewvc?rev=1799276&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=61195
Backport, with deprecation where appropriate, the endpoint and protocol 
property changes from 9.0.x to ease migration from 8.5.x to 9.0.x.

Modified:
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
    tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java Mon Jun 
19 20:22:27 2017
@@ -274,7 +274,11 @@ public abstract class AbstractProtocol<S
     }
 
 
+    public int getAcceptCount() { return endpoint.getAcceptCount(); }
+    public void setAcceptCount(int acceptCount) { 
endpoint.setAcceptCount(acceptCount); }
+    @Deprecated
     public int getBacklog() { return endpoint.getBacklog(); }
+    @Deprecated
     public void setBacklog(int backlog) { endpoint.setBacklog(backlog); }
 
 
@@ -284,7 +288,13 @@ public abstract class AbstractProtocol<S
     }
 
 
+    public int getConnectionLinger() { return endpoint.getConnectionLinger(); }
+    public void setConnectionLinger(int connectionLinger) {
+        endpoint.setConnectionLinger(connectionLinger);
+    }
+    @Deprecated
     public int getSoLinger() { return endpoint.getSoLinger(); }
+    @Deprecated
     public void setSoLinger(int soLinger) { endpoint.setSoLinger(soLinger); }
 
 
@@ -312,20 +322,17 @@ public abstract class AbstractProtocol<S
      * wait for that data to arrive before closing the connection.
      */
     public int getConnectionTimeout() {
-        // Note that the endpoint uses the alternative name
-        return endpoint.getSoTimeout();
+        return endpoint.getConnectionTimeout();
     }
     public void setConnectionTimeout(int timeout) {
-        // Note that the endpoint uses the alternative name
-        endpoint.setSoTimeout(timeout);
+        endpoint.setConnectionTimeout(timeout);
     }
 
-    /*
-     * Alternative name for connectionTimeout property
-     */
+    @Deprecated
     public int getSoTimeout() {
         return getConnectionTimeout();
     }
+    @Deprecated
     public void setSoTimeout(int timeout) {
         setConnectionTimeout(timeout);
     }

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java 
Mon Jun 19 20:22:27 2017
@@ -43,7 +43,7 @@ public abstract class AbstractAjpProtoco
 
     public AbstractAjpProtocol(AbstractEndpoint<S> endpoint) {
         super(endpoint);
-        setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT);
+        setConnectionTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT);
         // AJP does not use Send File
         getEndpoint().setUseSendfile(false);
         ConnectionHandler<S> cHandler = new ConnectionHandler<>(this);

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Mon Jun 
19 20:22:27 2017
@@ -400,7 +400,7 @@ public class AjpProcessor extends Abstra
         // Setting up the socket
         this.socketWrapper = socket;
 
-        int soTimeout = endpoint.getSoTimeout();
+        int soTimeout = endpoint.getConnectionTimeout();
         boolean cping = false;
 
         boolean keptAlive = false;

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java 
(original)
+++ 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java 
Mon Jun 19 20:22:27 2017
@@ -50,7 +50,7 @@ public abstract class AbstractHttp11Prot
 
     public AbstractHttp11Protocol(AbstractEndpoint<S> endpoint) {
         super(endpoint);
-        setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT);
+        setConnectionTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT);
         ConnectionHandler<S> cHandler = new ConnectionHandler<>(this);
         setHandler(cHandler);
         getEndpoint().setHandler(cHandler);

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java 
Mon Jun 19 20:22:27 2017
@@ -366,7 +366,7 @@ public class Http11InputBuffer implement
                     }
                     // At least one byte of the request has been received.
                     // Switch to the socket timeout.
-                    
wrapper.setReadTimeout(wrapper.getEndpoint().getSoTimeout());
+                    
wrapper.setReadTimeout(wrapper.getEndpoint().getConnectionTimeout());
                 }
                 if (!keptAlive && byteBuffer.position() == 0 && 
byteBuffer.limit() >= CLIENT_PREFACE_START.length - 1) {
                     boolean prefaceMatch = true;

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon 
Jun 19 20:22:27 2017
@@ -855,7 +855,7 @@ public class Http11Processor extends Abs
             }
 
             if (!disableUploadTimeout) {
-                int soTimeout = endpoint.getSoTimeout();
+                int soTimeout = endpoint.getConnectionTimeout();
                 if(soTimeout > 0) {
                     socketWrapper.setReadTimeout(soTimeout);
                 } else {

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java 
Mon Jun 19 20:22:27 2017
@@ -422,9 +422,13 @@ public abstract class AbstractEndpoint<S
      * should be used for server sockets. By default, this value
      * is 100.
      */
-    private int backlog = 100;
-    public void setBacklog(int backlog) { if (backlog > 0) this.backlog = 
backlog; }
-    public int getBacklog() { return backlog; }
+    private int acceptCount = 100;
+    public void setAcceptCount(int acceptCount) { if (acceptCount > 0) 
this.acceptCount = acceptCount; }
+    public int getAcceptCount() { return acceptCount; }
+    @Deprecated
+    public void setBacklog(int backlog) { setAcceptCount(backlog); }
+    @Deprecated
+    public int getBacklog() { return getAcceptCount(); }
 
     /**
      * Controls when the Endpoint binds the port. <code>true</code>, the 
default
@@ -469,11 +473,15 @@ public abstract class AbstractEndpoint<S
      * @return The current socket linger time for sockets created by this
      *         endpoint
      */
-    public int getSoLinger() { return socketProperties.getSoLingerTime(); }
-    public void setSoLinger(int soLinger) {
-        socketProperties.setSoLingerTime(soLinger);
-        socketProperties.setSoLingerOn(soLinger>=0);
+    public int getConnectionLinger() { return 
socketProperties.getSoLingerTime(); }
+    public void setConnectionLinger(int connectionLinger) {
+        socketProperties.setSoLingerTime(connectionLinger);
+        socketProperties.setSoLingerOn(connectionLinger>=0);
     }
+    @Deprecated
+    public int getSoLinger() { return getConnectionLinger(); }
+    @Deprecated
+    public void setSoLinger(int soLinger) { setConnectionLinger(soLinger);}
 
 
     /**
@@ -481,8 +489,12 @@ public abstract class AbstractEndpoint<S
      *
      * @return The current socket timeout for sockets created by this endpoint
      */
-    public int getSoTimeout() { return socketProperties.getSoTimeout(); }
-    public void setSoTimeout(int soTimeout) { 
socketProperties.setSoTimeout(soTimeout); }
+    public int getConnectionTimeout() { return 
socketProperties.getSoTimeout(); }
+    public void setConnectionTimeout(int soTimeout) { 
socketProperties.setSoTimeout(soTimeout); }
+    @Deprecated
+    public int getSoTimeout() { return getConnectionTimeout(); }
+    @Deprecated
+    public void setSoTimeout(int soTimeout) { setConnectionTimeout(soTimeout); 
}
 
     /**
      * SSL engine.

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon 
Jun 19 20:22:27 2017
@@ -335,7 +335,7 @@ public class AprEndpoint extends Abstrac
             throw new Exception(sm.getString("endpoint.init.bind", "" + ret, 
Error.strerror(ret)));
         }
         // Start listening on the server socket
-        ret = Socket.listen(serverSock, getBacklog());
+        ret = Socket.listen(serverSock, getAcceptCount());
         if (ret != 0) {
             throw new Exception(sm.getString("endpoint.init.listen", "" + ret, 
Error.strerror(ret)));
         }
@@ -835,8 +835,8 @@ public class AprEndpoint extends Abstrac
                 AprSocketWrapper wrapper = new 
AprSocketWrapper(Long.valueOf(socket), this);
                 wrapper.setKeepAliveLeft(getMaxKeepAliveRequests());
                 wrapper.setSecure(isSSLEnabled());
-                wrapper.setReadTimeout(getSoTimeout());
-                wrapper.setWriteTimeout(getSoTimeout());
+                wrapper.setReadTimeout(getConnectionTimeout());
+                wrapper.setWriteTimeout(getConnectionTimeout());
                 connections.put(Long.valueOf(socket), wrapper);
                 getExecutor().execute(new SocketWithOptionsProcessor(wrapper));
             }
@@ -1564,7 +1564,7 @@ public class AprEndpoint extends Abstrac
                 while (pollerRunning && connectionCount.get() < 1 &&
                         addList.size() < 1 && closeList.size() < 1) {
                     try {
-                        if (getSoTimeout() > 0 && pollerRunning) {
+                        if (getConnectionTimeout() > 0 && pollerRunning) {
                             maintain();
                         }
                         synchronized (this) {
@@ -1837,7 +1837,7 @@ public class AprEndpoint extends Abstrac
                 }
                 try {
                     // Process socket timeouts
-                    if (getSoTimeout() > 0 && pollerRunning) {
+                    if (getConnectionTimeout() > 0 && pollerRunning) {
                         // This works and uses only one timeout mechanism for 
everything, but the
                         // non event poller might be a bit faster by using the 
old maintain.
                         maintain();
@@ -1933,14 +1933,14 @@ public class AprEndpoint extends Abstrac
             if (size <= 0) {
                 size = (OS.IS_WIN32 || OS.IS_WIN64) ? (1 * 1024) : (16 * 1024);
             }
-            sendfilePollset = allocatePoller(size, pool, getSoTimeout());
+            sendfilePollset = allocatePoller(size, pool, 
getConnectionTimeout());
             if (sendfilePollset == 0 && size > 1024) {
                 size = 1024;
-                sendfilePollset = allocatePoller(size, pool, getSoTimeout());
+                sendfilePollset = allocatePoller(size, pool, 
getConnectionTimeout());
             }
             if (sendfilePollset == 0) {
                 size = 62;
-                sendfilePollset = allocatePoller(size, pool, getSoTimeout());
+                sendfilePollset = allocatePoller(size, pool, 
getConnectionTimeout());
             }
             desc = new long[size * 2];
             sendfileData = new HashMap<>(size);
@@ -2018,7 +2018,7 @@ public class AprEndpoint extends Abstrac
                             // Entire file has been sent
                             Pool.destroy(data.fdpool);
                             // Set back socket to blocking mode
-                            Socket.timeoutSet(data.socket, getSoTimeout() * 
1000);
+                            Socket.timeoutSet(data.socket, 
getConnectionTimeout() * 1000);
                             return SendfileState.DONE;
                         }
                     }
@@ -2154,7 +2154,7 @@ public class AprEndpoint extends Abstrac
                                 case PIPELINED: {
                                     // Destroy file descriptor pool, which 
should close the file
                                     Pool.destroy(state.fdpool);
-                                    Socket.timeoutSet(state.socket, 
getSoTimeout() * 1000);
+                                    Socket.timeoutSet(state.socket, 
getConnectionTimeout() * 1000);
                                     // Process the pipelined request data
                                     if (!processSocket(state.socket, 
SocketEvent.OPEN_READ)) {
                                         closeSocket(state.socket);
@@ -2164,7 +2164,7 @@ public class AprEndpoint extends Abstrac
                                 case OPEN: {
                                     // Destroy file descriptor pool, which 
should close the file
                                     Pool.destroy(state.fdpool);
-                                    Socket.timeoutSet(state.socket, 
getSoTimeout() * 1000);
+                                    Socket.timeoutSet(state.socket, 
getConnectionTimeout() * 1000);
                                     // Put the socket back in the poller for
                                     // processing of further requests
                                     getPoller().add(state.socket, 
getKeepAliveTimeout(),
@@ -2194,7 +2194,7 @@ public class AprEndpoint extends Abstrac
                         }
                     }
                     // Call maintain for the sendfile poller
-                    if (getSoTimeout() > 0 &&
+                    if (getConnectionTimeout() > 0 &&
                             maintainTime > 1000000L && sendfileRunning) {
                         rv = Poll.maintain(sendfilePollset, desc, false);
                         maintainTime = 0;
@@ -2250,7 +2250,7 @@ public class AprEndpoint extends Abstrac
                 if (!deferAccept) {
                     if (setSocketOptions(socket)) {
                         getPoller().add(socket.getSocket().longValue(),
-                                getSoTimeout(), Poll.APR_POLLIN);
+                                getConnectionTimeout(), Poll.APR_POLLIN);
                     } else {
                         // Close socket and pool
                         closeSocket(socket.getSocket().longValue());

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Mon 
Jun 19 20:22:27 2017
@@ -151,7 +151,7 @@ public class Nio2Endpoint extends Abstra
         serverSock = AsynchronousServerSocketChannel.open(threadGroup);
         socketProperties.setProperties(serverSock);
         InetSocketAddress addr = (getAddress()!=null?new 
InetSocketAddress(getAddress(),getPort()):new InetSocketAddress(getPort()));
-        serverSock.bind(addr,getBacklog());
+        serverSock.bind(addr,getAcceptCount());
 
         // Initialize thread count defaults for acceptor, poller
         if (acceptorThreadCount != 1) {
@@ -319,8 +319,8 @@ public class Nio2Endpoint extends Abstra
             
socketWrapper.setWriteTimeout(getSocketProperties().getSoTimeout());
             
socketWrapper.setKeepAliveLeft(Nio2Endpoint.this.getMaxKeepAliveRequests());
             socketWrapper.setSecure(isSSLEnabled());
-            socketWrapper.setReadTimeout(getSoTimeout());
-            socketWrapper.setWriteTimeout(getSoTimeout());
+            socketWrapper.setReadTimeout(getConnectionTimeout());
+            socketWrapper.setWriteTimeout(getConnectionTimeout());
             // Continue processing on another thread
             return processSocket(socketWrapper, SocketEvent.OPEN_READ, true);
         } catch (Throwable t) {

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon 
Jun 19 20:22:27 2017
@@ -207,7 +207,7 @@ public class NioEndpoint extends Abstrac
         serverSock = ServerSocketChannel.open();
         socketProperties.setProperties(serverSock.socket());
         InetSocketAddress addr = (getAddress()!=null?new 
InetSocketAddress(getAddress(),getPort()):new InetSocketAddress(getPort()));
-        serverSock.socket().bind(addr,getBacklog());
+        serverSock.socket().bind(addr,getAcceptCount());
         serverSock.configureBlocking(true); //mimic APR behavior
 
         // Initialize thread count defaults for acceptor, poller
@@ -704,8 +704,8 @@ public class NioEndpoint extends Abstrac
             ka.setWriteTimeout(getSocketProperties().getSoTimeout());
             ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests());
             ka.setSecure(isSSLEnabled());
-            ka.setReadTimeout(getSoTimeout());
-            ka.setWriteTimeout(getSoTimeout());
+            ka.setReadTimeout(getConnectionTimeout());
+            ka.setWriteTimeout(getConnectionTimeout());
             PollerEvent r = eventCache.pop();
             ka.interestOps(SelectionKey.OP_READ);//this is what OP_REGISTER 
turns into.
             if ( r==null) r = new PollerEvent(socket,ka,OP_REGISTER);
@@ -1381,7 +1381,7 @@ public class NioEndpoint extends Abstrac
                 // Need to re-negotiate SSL connection
                 engine.setNeedClientAuth(true);
                 try {
-                    sslChannel.rehandshake(getEndpoint().getSoTimeout());
+                    
sslChannel.rehandshake(getEndpoint().getConnectionTimeout());
                     ((JSSESupport) sslSupport).setSession(engine.getSession());
                 } catch (IOException ioe) {
                     log.warn(sm.getString("socket.sslreneg",ioe));

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
Mon Jun 19 20:22:27 2017
@@ -240,7 +240,7 @@ public class SecureNio2Channel extends N
                             sc.write(netOutBuffer, socket, 
handshakeWriteCompletionHandler);
                         } else {
                             try {
-                                
sc.write(netOutBuffer).get(endpoint.getSoTimeout(), TimeUnit.MILLISECONDS);
+                                
sc.write(netOutBuffer).get(endpoint.getConnectionTimeout(), 
TimeUnit.MILLISECONDS);
                             } catch (InterruptedException | ExecutionException 
| TimeoutException e) {
                                 throw new 
IOException(sm.getString("channel.nio.ssl.handshakeError"));
                             }
@@ -273,7 +273,7 @@ public class SecureNio2Channel extends N
                             sc.write(netOutBuffer, socket, 
handshakeWriteCompletionHandler);
                         } else {
                             try {
-                                
sc.write(netOutBuffer).get(endpoint.getSoTimeout(), TimeUnit.MILLISECONDS);
+                                
sc.write(netOutBuffer).get(endpoint.getConnectionTimeout(), 
TimeUnit.MILLISECONDS);
                             } catch (InterruptedException | ExecutionException 
| TimeoutException e) {
                                 throw new 
IOException(sm.getString("channel.nio.ssl.handshakeError"));
                             }
@@ -296,7 +296,7 @@ public class SecureNio2Channel extends N
                             sc.read(netInBuffer, socket, 
handshakeReadCompletionHandler);
                         } else {
                             try {
-                                
sc.read(netInBuffer).get(endpoint.getSoTimeout(), TimeUnit.MILLISECONDS);
+                                
sc.read(netInBuffer).get(endpoint.getConnectionTimeout(), 
TimeUnit.MILLISECONDS);
                             } catch (InterruptedException | ExecutionException 
| TimeoutException e) {
                                 throw new 
IOException(sm.getString("channel.nio.ssl.handshakeError"));
                             }
@@ -527,7 +527,7 @@ public class SecureNio2Channel extends N
         sslEngine.closeOutbound();
 
         try {
-            if (!flush().get(endpoint.getSoTimeout(), 
TimeUnit.MILLISECONDS).booleanValue()) {
+            if (!flush().get(endpoint.getConnectionTimeout(), 
TimeUnit.MILLISECONDS).booleanValue()) {
                 throw new 
IOException(sm.getString("channel.nio.ssl.remainingDataDuringClose"));
             }
         } catch (InterruptedException | ExecutionException | TimeoutException 
e) {
@@ -547,7 +547,7 @@ public class SecureNio2Channel extends N
         netOutBuffer.flip();
         //if there is data to be written
         try {
-            if (!flush().get(endpoint.getSoTimeout(), 
TimeUnit.MILLISECONDS).booleanValue()) {
+            if (!flush().get(endpoint.getConnectionTimeout(), 
TimeUnit.MILLISECONDS).booleanValue()) {
                 throw new 
IOException(sm.getString("channel.nio.ssl.remainingDataDuringClose"));
             }
         } catch (InterruptedException | ExecutionException | TimeoutException 
e) {

Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1799276&r1=1799275&r2=1799276&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Mon Jun 19 20:22:27 2017
@@ -143,6 +143,11 @@
         engine so that a concurrent destruction cannot cause a JVM crash.
         (remm)
       </fix>
+      <fix>
+        <bug>61195</bug>: Backport, with deprecation where appropriate, the
+        endpoint and protocol property changes from 9.0.x to ease migration 
from
+        8.5.x to 9.0.x. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Jasper">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to