Author: markt Date: Wed Apr 8 21:56:15 2015 New Revision: 1672204 URL: http://svn.apache.org/r1672204 Log: Make creation of upgrade Processor more robust. Fail the connection if the expected Processor cannot be created.
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/trunk/java/org/apache/coyote/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1672204&r1=1672203&r2=1672204&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Wed Apr 8 21:56:15 2015 @@ -649,6 +649,14 @@ public abstract class AbstractProtocol<S getProtocol().getNegotiatedProtocol(negotiatedProtocol); if (upgradeProtocol != null) { processor = upgradeProtocol.getProcessor(wrapper); + } else if (negotiatedProtocol.equals("http/1.1")) { + // Explicitly negotiated the default protocol. + // Obtain a processor below. + } else { + // Failed to create processor. This is a bug. + throw new IllegalStateException(sm.getString( + "abstractConnectionHandler.negotiatedProcessor.fail", + negotiatedProtocol)); } } } Modified: tomcat/trunk/java/org/apache/coyote/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/LocalStrings.properties?rev=1672204&r1=1672203&r2=1672204&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/coyote/LocalStrings.properties Wed Apr 8 21:56:15 2015 @@ -15,6 +15,7 @@ abstractConnectionHandler.error=Error reading request, ignored abstractConnectionHandler.ioexception.debug=IOExceptions are normal, ignored abstractConnectionHandler.socketexception.debug=SocketExceptions are normal, ignored +abstractConnectionHandler.negotiatedProcessor.fail=Failed to create Processor for negotiated protocol [{0}] abstractProcessor.nonContainerThreadError=An error occurred in processing while on a non-container thread. The connection will be closed immediately --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org