Author: markt Date: Tue Mar 1 12:32:25 2011 New Revision: 1075792 URL: http://svn.apache.org/viewvc?rev=1075792&view=rev Log: Improve handling of SSL renegotiation by failing earlier when the request body contains more bytes than maxSavePostSize.
Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java tomcat/trunk/java/org/apache/coyote/http11/filters/BufferedInputFilter.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java?rev=1075792&r1=1075791&r2=1075792&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java Tue Mar 1 12:32:25 2011 @@ -132,8 +132,15 @@ public class SSLAuthenticator X509Certificate certs[] = (X509Certificate[]) request.getAttribute(Globals.CERTIFICATES_ATTR); if ((certs == null) || (certs.length < 1)) { - request.getCoyoteRequest().action - (ActionCode.REQ_SSL_CERTIFICATE, null); + try { + request.getCoyoteRequest().action + (ActionCode.REQ_SSL_CERTIFICATE, null); + } catch (IllegalStateException ise) { + // Request body was too large for save buffer + response.sendError(HttpServletResponse.SC_UNAUTHORIZED, + sm.getString("authenticator.certificates")); + return false; + } certs = (X509Certificate[]) request.getAttribute(Globals.CERTIFICATES_ATTR); } Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/BufferedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/filters/BufferedInputFilter.java?rev=1075792&r1=1075791&r2=1075792&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/filters/BufferedInputFilter.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/filters/BufferedInputFilter.java Tue Mar 1 12:32:25 2011 @@ -80,8 +80,10 @@ public class BufferedInputFilter impleme buffered.append(tempRead); tempRead.recycle(); } - } catch(IOException iex) { - // Ignore + } catch(IOException ioe) { + // No need for i18n - this isn't going to get logged anywhere + throw new IllegalStateException( + "Request body too large for buffer"); } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1075792&r1=1075791&r2=1075792&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Mar 1 12:32:25 2011 @@ -50,6 +50,10 @@ presented by Ant tasks to the Manager application. Based on a patch by Stephane Bailliez. (mark) </fix> + <fix> + Improve handling of SSL renegotiation by failing earlier when the + request body contains more bytes than maxSavePostSize. (markt) + </fix> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org