You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/08/12 08:41:14 UTC

svn commit: r1756128 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/coyote/ java/org/apache/coyote/ajp/ java/org/apache/coyote/http11/ java/org/apache/coyote/http2/

Author: markt
Date: Fri Aug 12 08:41:14 2016
New Revision: 1756128

URL: http://svn.apache.org/viewvc?rev=1756128&view=rev
Log:
Use default implementations to reduce duplication

Modified:
    tomcat/tc8.5.x/trunk/   (props changed)
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProcessor.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings_es.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/Processor.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/LocalStrings.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings_es.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/LocalStrings.properties
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Propchange: tomcat/tc8.5.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Aug 12 08:41:14 2016
@@ -1 +1 @@
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409,1741501
 ,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747404,1747506,1747536,1747
 924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756106
+/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409,1741501
 ,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747404,1747506,1747536,1747
 924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProcessor.java Fri Aug 12 08:41:14 2016
@@ -18,6 +18,7 @@ package org.apache.coyote;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
+import java.nio.ByteBuffer;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -571,16 +572,73 @@ public abstract class AbstractProcessor
     protected abstract void disableSwallowRequest();
 
 
-    protected abstract boolean getPopulateRequestAttributesFromSocket();
+    /**
+     * Processors that populate request attributes directly (e.g. AJP) should
+     * over-ride this method and return {@code false}.
+     *
+     * @return {@code true} if the SocketWrapper should be used to populate the
+     *         request attributes, otherwise {@code false}.
+     */
+    protected boolean getPopulateRequestAttributesFromSocket() {
+        return true;
+    }
 
 
-    protected abstract void populateRequestAttributeRemoteHost();
+    /**
+     * Populate the remote host request attribute. Processors (e.g. AJP) that
+     * populate this from an alternative source should override this method.
+     */
+    protected void populateRequestAttributeRemoteHost() {
+        if (getPopulateRequestAttributesFromSocket() && socketWrapper != null) {
+            request.remoteHost().setString(socketWrapper.getRemoteHost());
+        }
+    }
 
 
-    protected abstract void populateSslRequestAttributes();
+    /**
+     * Populate the TLS related request attributes from the {@link SSLSupport}
+     * instance associated with this processor. Protocols that populate TLS
+     * attributes from a different source (e.g. AJP) should override this
+     * method.
+     */
+    protected void populateSslRequestAttributes() {
+        try {
+            if (sslSupport != null) {
+                Object sslO = sslSupport.getCipherSuite();
+                if (sslO != null) {
+                    request.setAttribute(SSLSupport.CIPHER_SUITE_KEY, sslO);
+                }
+                sslO = sslSupport.getPeerCertificateChain();
+                if (sslO != null) {
+                    request.setAttribute(SSLSupport.CERTIFICATE_KEY, sslO);
+                }
+                sslO = sslSupport.getKeySize();
+                if (sslO != null) {
+                    request.setAttribute (SSLSupport.KEY_SIZE_KEY, sslO);
+                }
+                sslO = sslSupport.getSessionId();
+                if (sslO != null) {
+                    request.setAttribute(SSLSupport.SESSION_ID_KEY, sslO);
+                }
+                sslO = sslSupport.getProtocol();
+                if (sslO != null) {
+                    request.setAttribute(SSLSupport.PROTOCOL_VERSION_KEY, sslO);
+                }
+                request.setAttribute(SSLSupport.SESSION_MGR, sslSupport);
+            }
+        } catch (Exception e) {
+            getLog().warn(sm.getString("abstractProcessor.socket.ssl"), e);
+        }
+    }
 
 
-    protected abstract void sslReHandShake() ;
+    /**
+     * Processors that can perform a TLS re-handshake (e.g. HTTP/1.1) should
+     * override this method and implement the re-handshake.
+     */
+    protected void sslReHandShake() {
+        // NO-OP
+    }
 
 
     protected abstract boolean isRequestBodyFullyRead();
@@ -595,13 +653,83 @@ public abstract class AbstractProcessor
     protected abstract void executeDispatches(SocketWrapperBase<?> wrapper);
 
 
-    protected abstract void doHttpUpgrade(UpgradeToken upgradeToken);
+    /**
+     * {@inheritDoc}
+     * Processors that implement HTTP upgrade must override this method and
+     * provide the necessary token.
+     */
+    @Override
+    public UpgradeToken getUpgradeToken() {
+        // Should never reach this code but in case we do...
+        throw new IllegalStateException(
+                sm.getString("abstractProcessor.httpupgrade.notsupported"));
+    }
+
+
+    /**
+     * Process an HTTP upgrade. Processors that support HTTP upgrade should
+     * override this method and process the provided token.
+     *
+     * @param upgradeToken Contains all the information necessary for the
+     *                     Processor to process the upgrade
+     *
+     * @throws UnsupportedOperationException if the protocol does not support
+     *         HTTP upgrade
+     */
+    protected void doHttpUpgrade(UpgradeToken upgradeToken) {
+        // Should never happen
+        throw new UnsupportedOperationException(
+                sm.getString("abstractProcessor.httpupgrade.notsupported"));
+    }
 
 
-    protected abstract boolean isPushSupported();
+    /**
+     * {@inheritDoc}
+     * Processors that implement HTTP upgrade must override this method.
+     */
+    @Override
+    public ByteBuffer getLeftoverInput() {
+        // Should never reach this code but in case we do...
+        throw new IllegalStateException(sm.getString("abstractProcessor.httpupgrade.notsupported"));
+    }
 
 
-    protected abstract void doPush(PushToken pushToken);
+    /**
+     * {@inheritDoc}
+     * Processors that implement HTTP upgrade must override this method.
+     */
+    @Override
+    public boolean isUpgrade() {
+        return false;
+    }
+
+
+    /**
+     * Protocols that support push should override this method and return {@code
+     * true}.
+     *
+     * @return {@code true} if push is supported by this processor, otherwise
+     *         {@code false}.
+     */
+    protected boolean isPushSupported() {
+        return false;
+    }
+
+
+    /**
+     * Process a push. Processors that support push should override this method
+     * and process the provided token.
+     *
+     * @param pushToken Contains all the information necessary for the Processor
+     *                  to process the push request
+     *
+     * @throws UnsupportedOperationException if the protocol does not support
+     *         push
+     */
+    protected void doPush(PushToken pushToken) {
+        throw new UnsupportedOperationException(
+                sm.getString("abstractProcessor.pushrequest.notsupported"));
+    }
 
 
     /**

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings.properties Fri Aug 12 08:41:14 2016
@@ -19,7 +19,10 @@ abstractConnectionHandler.protocolexcept
 abstractConnectionHandler.socketexception.debug=SocketExceptions are normal, ignored
 abstractConnectionHandler.negotiatedProcessor.fail=Failed to create Processor for negotiated protocol [{0}]
 
+abstractProcessor.httpupgrade.notsupported=HTTP upgrade is not supported by this protocol
 abstractProcessor.nonContainerThreadError=An error occurred in processing while on a non-container thread. The connection will be closed immediately
+abstractProcessor.pushrequest.notsupported=Server push requests are not supported by this protocol
+abstractProcessor.socket.ssl=Exception getting SSL attributes
 
 abstractProtocol.mbeanDeregistrationFailed=Failed to deregister MBean named [{0}] from MBean server [{1}]
 

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings_es.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings_es.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/LocalStrings_es.properties Fri Aug 12 08:41:14 2016
@@ -12,4 +12,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
 abstractConnectionHandler.error = Error leyendo requerimiento, ignorado
+
+abstractProcessor.socket.ssl = Excepci\u00F3n obteniendo atributos SSL

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/Processor.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/Processor.java?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/Processor.java Fri Aug 12 08:41:14 2016
@@ -46,8 +46,21 @@ public interface Processor {
      */
     SocketState process(SocketWrapperBase<?> socketWrapper, SocketEvent status) throws IOException;
 
+    /**
+     * Generate an upgrade token.
+     *
+     * @return An upgrade token encapsulating the information required to
+     *         process the upgrade request
+     *
+     * @throws IllegalStateException if this is called on a Processor that does
+     *         not support upgrading
+     */
     UpgradeToken getUpgradeToken();
 
+    /**
+     * @return {@code true} if the Processor is currently processing an upgrade
+     *         request, otherwise {@code false}
+     */
     boolean isUpgrade();
     boolean isAsync();
 
@@ -81,8 +94,12 @@ public interface Processor {
     void setSslSupport(SSLSupport sslSupport);
 
     /**
-     * Allows retrieving additional input during the upgrade process
+     * Allows retrieving additional input during the upgrade process.
+     *
      * @return leftover bytes
+     *
+     * @throws IllegalStateException if this is called on a Processor that does
+     *         not support upgrading
      */
     ByteBuffer getLeftoverInput();
 

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=1756128&r1=1756127&r2=1756128&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 Fri Aug 12 08:41:14 2016
@@ -21,7 +21,6 @@ import java.io.EOFException;
 import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.net.InetAddress;
-import java.nio.ByteBuffer;
 import java.security.NoSuchProviderException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
@@ -33,9 +32,7 @@ import org.apache.coyote.ActionCode;
 import org.apache.coyote.ErrorState;
 import org.apache.coyote.InputBuffer;
 import org.apache.coyote.OutputBuffer;
-import org.apache.coyote.PushToken;
 import org.apache.coyote.RequestInfo;
-import org.apache.coyote.UpgradeToken;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -537,14 +534,6 @@ public class AjpProcessor extends Abstra
 
 
     @Override
-    public UpgradeToken getUpgradeToken() {
-        // Should never reach this code but in case we do...
-        throw new IllegalStateException(
-                sm.getString("ajpprocessor.httpupgrade.notsupported"));
-    }
-
-
-    @Override
     public void recycle() {
         getAdapter().checkRecycled(request, response);
         super.recycle();
@@ -652,19 +641,6 @@ public class AjpProcessor extends Abstra
     }
 
 
-    @Override
-    public final boolean isUpgrade() {
-        // AJP does not support HTTP upgrade
-        return false;
-    }
-
-
-    @Override
-    public ByteBuffer getLeftoverInput() {
-        return null;
-    }
-
-
     /**
      * Get more request body data from the web server and store it in the
      * internal buffer.
@@ -1270,13 +1246,6 @@ public class AjpProcessor extends Abstra
 
 
     @Override
-    protected final void sslReHandShake() {
-        // NO-OP. Can't force a new SSL handshake with the client when using
-        // AJP as the reverse proxy controls that connection.
-    }
-
-
-    @Override
     protected final boolean isRequestBodyFullyRead() {
         return endOfStream;
     }
@@ -1300,35 +1269,6 @@ public class AjpProcessor extends Abstra
     }
 
 
-    /**
-     * @param upgradeToken Unused.
-     */
-    @Override
-    protected final void doHttpUpgrade(UpgradeToken upgradeToken) {
-        // HTTP connections only. Unsupported for AJP.
-        throw new UnsupportedOperationException(
-                sm.getString("ajpprocessor.httpupgrade.notsupported"));
-    }
-
-
-    @Override
-    protected final boolean isPushSupported() {
-        // HTTP2 connections only. Unsupported for AJP.
-        return false;
-    }
-
-
-    /**
-     * @param pushToken Unused
-     */
-    @Override
-    protected final void doPush(PushToken pushToken) {
-        // HTTP2 connections only. Unsupported for AJP.
-        throw new UnsupportedOperationException(
-                sm.getString("ajpprocessor.pushrequest.notsupported"));
-    }
-
-
     /**
      * Read at least the specified amount of bytes, and place them
      * in the input buffer. Note that if any data is available to read then this

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/LocalStrings.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/LocalStrings.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/ajp/LocalStrings.properties Fri Aug 12 08:41:14 2016
@@ -27,8 +27,6 @@ ajpprocessor.readtimeout=Timeout attempt
 ajpprocessor.request.prepare=Error preparing request
 ajpprocessor.request.process=Error processing request
 ajpprocessor.certs.fail=Certificate conversion failed
-ajpprocessor.httpupgrade.notsupported=HTTP upgrade is not supported by the AJP protocol
-ajpprocessor.pushrequest.notsupported=Server push requests are not supported by the AJP protocol
 
 ajpmessage.null=Cannot append null value
 ajpmessage.overflow=Overflow error for buffer adding {0} bytes at position {1}

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=1756128&r1=1756127&r2=1756128&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 Fri Aug 12 08:41:14 2016
@@ -30,7 +30,6 @@ import javax.servlet.http.HttpServletRes
 import org.apache.coyote.AbstractProcessor;
 import org.apache.coyote.ActionCode;
 import org.apache.coyote.ErrorState;
-import org.apache.coyote.PushToken;
 import org.apache.coyote.Request;
 import org.apache.coyote.RequestInfo;
 import org.apache.coyote.UpgradeProtocol;
@@ -1414,19 +1413,6 @@ public class Http11Processor extends Abs
 
 
     @Override
-    public boolean isUpgrade() {
-        return upgradeToken != null;
-    }
-
-
-
-    @Override
-    public UpgradeToken getUpgradeToken() {
-        return upgradeToken;
-    }
-
-
-    @Override
     protected Log getLog() {
         return log;
     }
@@ -1538,52 +1524,6 @@ public class Http11Processor extends Abs
 
 
     @Override
-    protected final boolean getPopulateRequestAttributesFromSocket() {
-        return true;
-    }
-
-
-    @Override
-    protected final void populateRequestAttributeRemoteHost() {
-        if (getPopulateRequestAttributesFromSocket() && socketWrapper != null) {
-            request.remoteHost().setString(socketWrapper.getRemoteHost());
-        }
-    }
-
-
-    @Override
-    protected final void populateSslRequestAttributes() {
-        try {
-            if (sslSupport != null) {
-                Object sslO = sslSupport.getCipherSuite();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.CIPHER_SUITE_KEY, sslO);
-                }
-                sslO = sslSupport.getPeerCertificateChain();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.CERTIFICATE_KEY, sslO);
-                }
-                sslO = sslSupport.getKeySize();
-                if (sslO != null) {
-                    request.setAttribute (SSLSupport.KEY_SIZE_KEY, sslO);
-                }
-                sslO = sslSupport.getSessionId();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.SESSION_ID_KEY, sslO);
-                }
-                sslO = sslSupport.getProtocol();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.PROTOCOL_VERSION_KEY, sslO);
-                }
-                request.setAttribute(SSLSupport.SESSION_MGR, sslSupport);
-            }
-        } catch (Exception e) {
-            log.warn(sm.getString("http11processor.socket.ssl"), e);
-        }
-    }
-
-
-    @Override
     protected final void sslReHandShake() {
         if (sslSupport != null) {
             // Consume and buffer the request body, so that it does not
@@ -1631,6 +1571,12 @@ public class Http11Processor extends Abs
 
 
     @Override
+    public UpgradeToken getUpgradeToken() {
+        return upgradeToken;
+    }
+
+
+    @Override
     protected final void doHttpUpgrade(UpgradeToken upgradeToken) {
         this.upgradeToken = upgradeToken;
         // Stop further HTTP output
@@ -1639,17 +1585,14 @@ public class Http11Processor extends Abs
 
 
     @Override
-    protected final boolean isPushSupported() {
-        // HTTP2 connections only. Unsupported for HTTP/1.x
-        return false;
+    public ByteBuffer getLeftoverInput() {
+        return inputBuffer.getLeftover();
     }
 
 
     @Override
-    protected final void doPush(PushToken pushToken) {
-        // HTTP2 connections only. Unsupported for AJP.
-        throw new UnsupportedOperationException(
-                sm.getString("http11processor.pushrequest.notsupported"));
+    public boolean isUpgrade() {
+        return upgradeToken != null;
     }
 
 
@@ -1697,12 +1640,6 @@ public class Http11Processor extends Abs
     }
 
 
-    @Override
-    public ByteBuffer getLeftoverInput() {
-        return inputBuffer.getLeftover();
-    }
-
-
     @Override
     public void pause() {
         // NOOP for HTTP

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings.properties Fri Aug 12 08:41:14 2016
@@ -20,13 +20,11 @@ abstractHttp11Protocol.httpUpgradeConfig
 http11processor.fallToDebug=\n Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
 http11processor.header.parse=Error parsing HTTP request header
 http11processor.neverused=This method should never be used
-http11processor.pushrequest.notsupported=Server push requests are not supported by the HTTP/1.1 protocol
 http11processor.request.prepare=Error preparing request
 http11processor.request.process=Error processing request
 http11processor.request.finish=Error finishing request
 http11processor.response.finish=Error finishing response
 http11processor.socket.info=Exception getting socket information
-http11processor.socket.ssl=Exception getting SSL attributes
 http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points
 
 iib.available.readFail=A non-blocking read failed while attempting to determine if data was available

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings_es.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings_es.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/LocalStrings_es.properties Fri Aug 12 08:41:14 2016
@@ -19,7 +19,6 @@ http11processor.request.process = Error
 http11processor.request.finish = Error acabando requerimiento
 http11processor.response.finish = Error acabando respuesta
 http11processor.socket.info = Excepci\u00F3n obteniendo informaci\u00F3n de conector
-http11processor.socket.ssl = Excepci\u00F3n obteniendo atributos SSL
 http11processor.socket.sslreneg = Excepci\u00F3n renegociando la conexi\u00F3n SSL
 iib.eof.error = Inesperado Fin De Archivo (EOF) le\u00EDdo en el enchufe (socket)
 iib.requestheadertoolarge.error = La cabecera del requerimiento es demasido grande

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/LocalStrings.properties?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/LocalStrings.properties (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/LocalStrings.properties Fri Aug 12 08:41:14 2016
@@ -83,9 +83,7 @@ stream.outputBuffer.flush.debug=Connecti
 
 streamProcessor.error.connection=Connection [{0}], Stream [{1}], An error occurred during processing that was fatal to the connection
 streamProcessor.error.stream=Connection [{0}], Stream [{1}], An error occurred during processing that was fatal to the stream
-streamProcessor.httpupgrade.notsupported=HTTP upgrade is not supported within HTTP/2 streams
 streamProcessor.service.error=Error during request processing
-streamProcessor.ssl.error=Unable to retrieve SSL request attributes
 
 streamStateMachine.debug.change=Connection [{0}], Stream [{1}], State changed from [{2}] to [{3}]
 streamStateMachine.invalidFrame=Connection [{0}], Stream [{1}], State [{2}], Frame type [{3}]

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1756128&r1=1756127&r2=1756128&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http2/StreamProcessor.java Fri Aug 12 08:41:14 2016
@@ -17,7 +17,6 @@
 package org.apache.coyote.http2;
 
 import java.io.IOException;
-import java.nio.ByteBuffer;
 
 import org.apache.coyote.AbstractProcessor;
 import org.apache.coyote.ActionCode;
@@ -25,12 +24,10 @@ import org.apache.coyote.Adapter;
 import org.apache.coyote.ContainerThreadMarker;
 import org.apache.coyote.ErrorState;
 import org.apache.coyote.PushToken;
-import org.apache.coyote.UpgradeToken;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
-import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketEvent;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
@@ -43,8 +40,6 @@ public class StreamProcessor extends Abs
     private final Http2UpgradeHandler handler;
     private final Stream stream;
 
-    private volatile SSLSupport sslSupport;
-
 
     public StreamProcessor(Http2UpgradeHandler handler, Stream stream, Adapter adapter, SocketWrapperBase<?> socketWrapper) {
         super(stream.getCoyoteRequest(), stream.getCoyoteResponse());
@@ -156,58 +151,6 @@ public class StreamProcessor extends Abs
 
 
     @Override
-    protected final boolean getPopulateRequestAttributesFromSocket() {
-        return true;
-    }
-
-
-    @Override
-    protected final void populateRequestAttributeRemoteHost() {
-        if (getPopulateRequestAttributesFromSocket() && socketWrapper != null) {
-            request.remoteHost().setString(socketWrapper.getRemoteHost());
-        }
-    }
-
-
-    @Override
-    protected final void populateSslRequestAttributes() {
-        try {
-            if (sslSupport != null) {
-                Object sslO = sslSupport.getCipherSuite();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.CIPHER_SUITE_KEY, sslO);
-                }
-                sslO = sslSupport.getPeerCertificateChain();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.CERTIFICATE_KEY, sslO);
-                }
-                sslO = sslSupport.getKeySize();
-                if (sslO != null) {
-                    request.setAttribute (SSLSupport.KEY_SIZE_KEY, sslO);
-                }
-                sslO = sslSupport.getSessionId();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.SESSION_ID_KEY, sslO);
-                }
-                sslO = sslSupport.getProtocol();
-                if (sslO != null) {
-                    request.setAttribute(SSLSupport.PROTOCOL_VERSION_KEY, sslO);
-                }
-                request.setAttribute(SSLSupport.SESSION_MGR, sslSupport);
-            }
-        } catch (Exception e) {
-            log.warn(sm.getString("http11processor.socket.ssl"), e);
-        }
-    }
-
-
-    @Override
-    protected final void sslReHandShake() {
-        // No re-negotiation support in HTTP/2.
-    }
-
-
-    @Override
     protected final boolean isRequestBodyFullyRead() {
         return stream.getInputBuffer().isRequestBodyFullyRead();
     }
@@ -232,14 +175,6 @@ public class StreamProcessor extends Abs
 
 
     @Override
-    protected final void doHttpUpgrade(UpgradeToken upgradeToken) {
-        // Unsupported / illegal under HTTP/2
-        throw new UnsupportedOperationException(
-                sm.getString("streamProcessor.httpupgrade.notsupported"));
-    }
-
-
-    @Override
     protected final boolean isPushSupported() {
         return stream.isPushSupported();
     }
@@ -267,12 +202,6 @@ public class StreamProcessor extends Abs
 
 
     @Override
-    public boolean isUpgrade() {
-        return false;
-    }
-
-
-    @Override
     protected Log getLog() {
         return log;
     }
@@ -333,18 +262,4 @@ public class StreamProcessor extends Abs
     protected SocketState dispatchEndRequest() {
         return SocketState.CLOSED;
     }
-
-
-    @Override
-    public UpgradeToken getUpgradeToken() {
-        // Should never happen
-        throw new IllegalStateException(sm.getString("streamProcessor.httpupgrade.notsupported"));
-    }
-
-
-    @Override
-    public ByteBuffer getLeftoverInput() {
-        // Should never happen
-        throw new IllegalStateException(sm.getString("streamProcessor.httpupgrade.notsupported"));
-    }
 }



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