Author: markt Date: Tue May 2 14:26:03 2017 New Revision: 1793498 URL: http://svn.apache.org/viewvc?rev=1793498&view=rev Log: If a static custom error page is specified that does not exist or cannot be read, ensure that the intended error status is returned rather than a 404 or 403.
Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=1793498&r1=1793497&r2=1793498&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Tue May 2 14:26:03 2017 @@ -762,7 +762,12 @@ public class DefaultServlet extends Http "defaultServlet.missingResource", requestUri)); } - response.sendError(HttpServletResponse.SC_NOT_FOUND, requestUri); + if (DispatcherType.ERROR == request.getDispatcherType()) { + response.sendError(((Integer) request.getAttribute( + RequestDispatcher.ERROR_STATUS_CODE)).intValue()); + } else { + response.sendError(HttpServletResponse.SC_NOT_FOUND, requestUri); + } return; } @@ -781,7 +786,12 @@ public class DefaultServlet extends Http "defaultServlet.missingResource", requestUri)); } - response.sendError(HttpServletResponse.SC_FORBIDDEN, requestUri); + if (DispatcherType.ERROR == request.getDispatcherType()) { + response.sendError(((Integer) request.getAttribute( + RequestDispatcher.ERROR_STATUS_CODE)).intValue()); + } else { + response.sendError(HttpServletResponse.SC_FORBIDDEN, requestUri); + } return; } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1793498&r1=1793497&r2=1793498&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue May 2 14:26:03 2017 @@ -94,6 +94,11 @@ <code>doGet()</code> method irrespective of the method used for the original request that triggered the error. (markt) </fix> + <fix> + If a static custom error page is specified that does not exist or cannot + be read, ensure that the intended error status is returned rather than a + 404 or 403. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org