You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by am...@apache.org on 2003/01/25 00:47:46 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core LocalStrings.properties LocalStrings_fr.properties StandardWrapper.java StandardWrapperValve.java
amyroh 2003/01/24 15:47:46
Modified: catalina/src/share/org/apache/catalina/core
LocalStrings.properties LocalStrings_fr.properties
StandardWrapper.java StandardWrapperValve.java
Log:
Fix to return 404 for permanent UnavailableException and 503 for temporary
UnavailableException according to Servlet spec 2.4 - bugtraq 4805760.
Revision Changes Path
1.5 +1 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
Index: LocalStrings.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LocalStrings.properties 15 Jan 2003 03:40:42 -0000 1.4
+++ LocalStrings.properties 24 Jan 2003 23:47:45 -0000 1.5
@@ -152,6 +152,7 @@
standardWrapper.notChild=Wrapper container may not have child containers
standardWrapper.notClass=No servlet class has been specified for servlet {0}
standardWrapper.notContext=Parent container of a Wrapper must be a Context
+standardWrapper.notFound=Servlet {0} is not available
standardWrapper.notServlet=Class {0} is not a Servlet
standardWrapper.privilegedServlet=Servlet of class {0} is privileged and cannot be loaded by this web application
standardWrapper.releaseFilters=Release filters exception for servlet {0}
1.2 +1 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties
Index: LocalStrings_fr.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LocalStrings_fr.properties 6 Nov 2002 09:23:37 -0000 1.1
+++ LocalStrings_fr.properties 24 Jan 2003 23:47:45 -0000 1.2
@@ -150,6 +150,7 @@
standardWrapper.notChild=L''enrobeur de conteneur (wrapper container) peut ne pas avoir de conteneurs fils
standardWrapper.notClass=Aucune classe servlet n''a �t� sp�cifi�e pour la servlet {0}
standardWrapper.notContext=Le conteneur parent d''un enrobeur (wrapper) doit �tre un contexte
+standardWrapper.notFound=Servlet {0} n''est pas disponible.
standardWrapper.notServlet=La classe {0} n''est pas une servlet
standardWrapper.privilegedServlet=La servlet de classe {0} est privil�gi�e (privileged) et ne peut �tre charg� par cette application web
standardWrapper.releaseFilters=Exception des filtres de sortie (release filters) pour la servlet {0}
1.12 +13 -10 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
Index: StandardWrapper.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StandardWrapper.java 16 Jan 2003 21:41:45 -0000 1.11
+++ StandardWrapper.java 24 Jan 2003 23:47:45 -0000 1.12
@@ -257,10 +257,11 @@
/**
* Return the available date/time for this servlet, in milliseconds since
- * the epoch. If this date/time is in the future, any request for this
- * servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero,
- * the servlet is currently available. A value equal to Long.MAX_VALUE
- * is considered to mean that unavailability is permanent.
+ * the epoch. If this date/time is Long.MAX_VALUE, it is considered to mean
+ * that unavailability is permanent and any request for this servlet will return
+ * an SC_NOT_FOUND error. If this date/time is in the future, any request for
+ * this servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero,
+ * the servlet is currently available.
*/
public long getAvailable() {
@@ -271,8 +272,10 @@
/**
* Set the available date/time for this servlet, in milliseconds since the
- * epoch. If this date/time is in the future, any request for this servlet
- * will return an SC_SERVICE_UNAVAILABLE error.
+ * epoch. If this date/time is Long.MAX_VALUE, it is considered to mean
+ * that unavailability is permanent and any request for this servlet will return
+ * an SC_NOT_FOUND error. If this date/time is in the future, any request for
+ * this servlet will return an SC_SERVICE_UNAVAILABLE error.
*
* @param available The new available date/time
*/
1.9 +11 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
Index: StandardWrapperValve.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StandardWrapperValve.java 15 Jan 2003 00:19:16 -0000 1.8
+++ StandardWrapperValve.java 24 Jan 2003 23:47:46 -0000 1.9
@@ -210,11 +210,16 @@
; // NOTE - Not much we can do generically
} else {
long available = wrapper.getAvailable();
- if ((available > 0L) && (available < Long.MAX_VALUE))
+ if ((available > 0L) && (available < Long.MAX_VALUE)) {
hres.setDateHeader("Retry-After", available);
- hres.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE,
+ hres.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE,
sm.getString("standardWrapper.isUnavailable",
wrapper.getName()));
+ } else if (available == Long.MAX_VALUE) {
+ hres.sendError(HttpServletResponse.SC_NOT_FOUND,
+ sm.getString("standardWrapper.notFound",
+ wrapper.getName()));
+ }
}
unavailable = true;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>