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);
}
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");
}
}
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>