You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/12/18 17:13:45 UTC

svn commit: r892293 - in /tomcat/trunk/java: javax/servlet/http/ org/apache/catalina/authenticator/ org/apache/catalina/core/ org/apache/catalina/realm/ org/apache/catalina/valves/ org/apache/jasper/resources/

Author: markt
Date: Fri Dec 18 16:13:28 2009
New Revision: 892293

URL: http://svn.apache.org/viewvc?rev=892293&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47963
Anything that could end up in an HTTP header must meet the requirements of RFC2616.

Modified:
    tomcat/trunk/java/javax/servlet/http/LocalStrings.properties
    tomcat/trunk/java/javax/servlet/http/LocalStrings_es.properties
    tomcat/trunk/java/javax/servlet/http/LocalStrings_fr.properties
    tomcat/trunk/java/javax/servlet/http/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/valves/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
    tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties

Modified: tomcat/trunk/java/javax/servlet/http/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/LocalStrings.properties (original)
+++ tomcat/trunk/java/javax/servlet/http/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -21,8 +21,9 @@
 err.io.negativelength=Negative Length given in write method
 err.io.short_read=Short Read
 
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 http.method_not_implemented=Method {0} is not defined in RFC 2068 and is not supported by the Servlet API 
-
 http.method_get_not_supported=HTTP method GET is not supported by this URL
 http.method_post_not_supported=HTTP method POST is not supported by this URL
 http.method_put_not_supported=HTTP method PUT is not supported by this URL

Modified: tomcat/trunk/java/javax/servlet/http/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/LocalStrings_es.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/javax/servlet/http/LocalStrings_es.properties Fri Dec 18 16:13:28 2009
@@ -22,8 +22,9 @@
 err.io.negativelength=Longitud Negativa en el metodo write
 err.io.short_read=Lectura Corta
 
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 http.method_not_implemented=El Metodo {0} no esta definido en la especificacion RFC 2068 y no es soportado por la API Servlet 
-
 http.method_get_not_supported=El Metodo HTTP GET no es soportado por esta URL
 http.method_post_not_supported=El Metodo HTTP POST no es soportado por esta URL
 http.method_put_not_supported=El Metodo HTTP PUT no es soportado por esta URL

Modified: tomcat/trunk/java/javax/servlet/http/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/LocalStrings_fr.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/javax/servlet/http/LocalStrings_fr.properties Fri Dec 18 16:13:28 2009
@@ -20,8 +20,9 @@
 err.io.negativelength=Taille n\u00e9gative donn\u00e9e dans la m\u00e9thode \"write\"
 err.io.short_read=Lecture partielle
 
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 http.method_not_implemented=Le m\u00e9thode {0} n''est pas d\u00e9finie dans la RFC 2068 et n''est pas support\u00e9e par l''API Servlet
-
 http.method_get_not_supported=La m\u00e9thode HTTP GET n''est pas support\u00e9e par cette URL
 http.method_post_not_supported=La m\u00e9thode HTTP POST n''est pas support\u00e9e par cette URL
 http.method_put_not_supported=La m\u00e9thode HTTP PUT n''est pas support\u00e9e par cette URL

Modified: tomcat/trunk/java/javax/servlet/http/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/javax/servlet/http/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -20,9 +20,11 @@
 err.io.negativelength=write\u30e1\u30bd\u30c3\u30c9\u306b\u8ca0\u306e\u9577\u3055\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002
 err.io.short_read=\u8aad\u307f\u8fbc\u307f\u304c\u3059\u3050\u306b\u7d42\u308f\u308a\u307e\u3057\u305f\u3002
 
-http.method_not_implemented=\u30e1\u30bd\u30c3\u30c9 {0} \u306fRFC 2068\u306b\u306f\u5b9a\u7fa9\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8API\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
-
-http.method_get_not_supported=HTTP\u306eGET\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_post_not_supported=HTTP\u306ePOST\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_put_not_supported=HTTP\u306ePUT\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_delete_not_supported=HTTP\u306eDELETE\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+http.method_not_implemented=Method {0} is not defined in RFC 2068 and is not supported by the Servlet API 
+http.method_get_not_supported=HTTP method GET is not supported by this URL
+http.method_post_not_supported=HTTP method POST is not supported by this URL
+http.method_put_not_supported=HTTP method PUT is not supported by this URL
+http.method_delete_not_supported=Http method DELETE is not supported by this URL

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -14,19 +14,21 @@
 # limitations under the License.
 
 authenticator.alreadyStarted=Security Interceptor has already been started
-authenticator.certificates=No client certificate chain in this request
 authenticator.forbidden=Access to the requested resource has been denied
-authenticator.formlogin=Invalid direct reference to form login page
 authenticator.invalid=Invalid client certificate chain in this request
 authenticator.keystore=Exception loading key store
 authenticator.manager=Exception initializing trust managers
 authenticator.notAuthenticated=Configuration error:  Cannot perform access control without an authenticated principal
 authenticator.notContext=Configuration error:  Must be attached to a Context
 authenticator.notStarted=Security Interceptor has not yet been started
+authenticator.userDataConstraint=This request violates a User Data constraint for this application
+
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
+authenticator.certificates=No client certificate chain in this request
+authenticator.formlogin=Invalid direct reference to form login page
 authenticator.requestBodyTooBig=The request body was too large to be cached during the authentication process
 authenticator.sessionExpired=The time allowed for the login process has been exceeded. If you wish to continue you must either click back twice and re-click the link you requested or close and re-open your browser
 authenticator.unauthorized=Cannot authenticate with the provided credentials
-authenticator.userDataConstraint=This request violates a User Data constraint for this application
-
 formAuthenticator.forwardErrorFail=Unexpected error forwarding to error page
 formAuthenticator.forwardLoginFail=Unexpected error forwarding to login page

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_es.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_es.properties Fri Dec 18 16:13:28 2009
@@ -13,16 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 authenticator.alreadyStarted = El interceptor de seguridad ya ha sido arrancado
-authenticator.certificates = No hay cadena de certificados del cliente en esta petici\u00F3n
 authenticator.forbidden = El acceso al recurso pedido ha sido denegado
-authenticator.formlogin = Referencia directa al formulario de conexi\u00F3n (p\u00E1gina de formulario de login) inv\u00E1lida
 authenticator.invalid = No es v\u00E1lida la cadena de certificados del cliente en esta petici\u00F3n
 authenticator.keystore = Excepci\u00F3n cargando el almac\u00E9n de claves
 authenticator.manager = Excepci\u00F3n inicializando administradores de confianza
 authenticator.notAuthenticated = Error de Configuraci\u00F3n\: No se pueden realizar funciones de control de acceso sin un principal autenticado
 authenticator.notContext = Error de Configuraci\u00F3n\: Debe de estar unido a un Contexto
 authenticator.notStarted = El Interceptor de seguridad no sido a\u00FAn iniciado
+authenticator.userDataConstraint = Esta petici\u00F3n viola una Restrici\u00F3n de Datos de usuario para esta aplicaci\u00F3n
+
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
+authenticator.certificates = No hay cadena de certificados del cliente en esta petici\u00F3n
+authenticator.formlogin = Referencia directa al formulario de conexi\u00F3n (p\u00E1gina de formulario de login) inv\u00E1lida
 authenticator.requestBodyTooBig = El cuerpo del requerimiento era demasiado grande para realizar cach\u00E9 durante el proceso de autenticaci\u00F3n
 authenticator.sessionExpired = El tiempo permitido para realizar login ha sido excedido. Si deseas continuar, debes hacer clik dos veces y volver a hacer clik otra vez o cerrar y reabrir tu navegador
 authenticator.unauthorized = Imposible autenticar mediante las credenciales suministradas
-authenticator.userDataConstraint = Esta petici\u00F3n viola una Restrici\u00F3n de Datos de usuario para esta aplicaci\u00F3n

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_fr.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_fr.properties Fri Dec 18 16:13:28 2009
@@ -14,14 +14,17 @@
 # limitations under the License.
 
 authenticator.alreadyStarted=L''intercepteur de s\u00e9curit\u00e9 (security interceptor) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-authenticator.certificates=Aucune cha\u00eene de certificat client (client certificate chain) dans cette requ\u00eate
 authenticator.forbidden=L''acc\u00e8s \u00e0 la ressource demand\u00e9e a \u00e9t\u00e9 interdit
-authenticator.formlogin=R\u00e9f\u00e9rence directe \u00e0 la form de connexion (form login page) invalide
 authenticator.invalid=Cha\u00eene de certificat client invalide dans cette requ\u00eate
 authenticator.keystore=Exception lors du chargement du r\u00e9f\u00e9rentiel de clefs (key store)
 authenticator.manager=Exception lors de l''initialisation des gestionnaires d''authentification (trust managers)
 authenticator.notAuthenticated=Erreur de configuration:  Impossible de proc\u00e9der \u00e0 un contr\u00f4le d''acc\u00e8s sans un principal authentifi\u00e9 (authenticated principal)
 authenticator.notContext=Erreur de configuration:  Doit \u00eatre attach\u00e9 \u00e0 un contexte
 authenticator.notStarted=L''intercepteur de s\u00e9curit\u00e9 (security interceptor) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-authenticator.unauthorized=Impossible d''authentifier avec les cr\u00e9dits fournis (provided credentials)
 authenticator.userDataConstraint=Cette requ\u00eate viole une contrainte donn\u00e9e utilisateur (user data constraint) pour cette application
+
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
+authenticator.certificates=Aucune cha\u00eene de certificat client (client certificate chain) dans cette requ\u00eate
+authenticator.formlogin=R\u00e9f\u00e9rence directe \u00e0 la form de connexion (form login page) invalide
+authenticator.unauthorized=Impossible d''authentifier avec les cr\u00e9dits fournis (provided credentials)

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -14,15 +14,22 @@
 # limitations under the License.
 
 authenticator.alreadyStarted=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a4\u30f3\u30bf\u30fc\u30bb\u30d7\u30bf\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-authenticator.certificates=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u30c1\u30a7\u30fc\u30f3\u304c\u3042\u308a\u307e\u305b\u3093
 authenticator.forbidden=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f
-authenticator.formlogin=\u30d5\u30a9\u30fc\u30e0\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u3078\u306e\u7121\u52b9\u306a\u76f4\u63a5\u53c2\u7167\u3067\u3059
 authenticator.invalid=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u7121\u52b9\u306a\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u30c1\u30a7\u30fc\u30f3\u304c\u3042\u308a\u307e\u3059
 authenticator.keystore=\u30ad\u30fc\u30b9\u30c8\u30a2\u3092\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 authenticator.manager=\u30c8\u30e9\u30b9\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u3092\u521d\u671f\u5316\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 authenticator.notAuthenticated=\u8a2d\u5b9a\u30a8\u30e9\u30fc: \u8a8d\u8a3c\u3055\u308c\u305f\u4e3b\u4f53\u306a\u3057\u306b\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093
 authenticator.notContext=\u8a2d\u5b9a\u30a8\u30e9\u30fc: \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
 authenticator.notStarted=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a4\u30f3\u30bf\u30fc\u30bb\u30d7\u30bf\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-authenticator.sessionExpired=\u30ed\u30b0\u30a4\u30f3\u30d7\u30ed\u30bb\u30b9\u306b\u8a8d\u3081\u3089\u308c\u3066\u3044\u305f\u6642\u9593\u304c\u904e\u304e\u307e\u3057\u305f\u3002\u7d99\u7d9a\u3057\u305f\u3044\u306a\u3089\u3070\uff0c\u30d0\u30c3\u30af\u30dc\u30bf\u30f3\u30922\u5ea6\u62bc\u3057\u3066\u304b\u3089\u518d\u5ea6\u30ea\u30f3\u30af\u3092\u62bc\u3059\u304b\uff0c\u30d6\u30e9\u30a6\u30b6\u3092\u7acb\u3061\u4e0a\u3052\u76f4\u3057\u3066\u304f\u3060\u3055\u3044
-authenticator.unauthorized=\u7528\u610f\u3055\u308c\u305f\u8a3c\u660e\u66f8\u3067\u8a8d\u8a3c\u3067\u304d\u307e\u305b\u3093
 authenticator.userDataConstraint=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u3001\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u306e\u5236\u9650\u306b\u9055\u53cd\u3057\u3066\u3044\u307e\u3059
+
+# Note: Values below this point may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+authenticator.certificates=No client certificate chain in this request
+authenticator.formlogin=Invalid direct reference to form login page
+authenticator.requestBodyTooBig=The request body was too large to be cached during the authentication process
+authenticator.sessionExpired=The time allowed for the login process has been exceeded. If you wish to continue you must either click back twice and re-click the link you requested or close and re-open your browser
+authenticator.unauthorized=Cannot authenticate with the provided credentials
+formAuthenticator.forwardErrorFail=Unexpected error forwarding to error page
+formAuthenticator.forwardLoginFail=Unexpected error forwarding to login page

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -29,6 +29,8 @@
 applicationDispatcher.forward.ise=Cannot forward after response has been committed
 applicationDispatcher.forward.throw=Forwarded resource threw an exception
 applicationDispatcher.include.throw=Included resource threw an exception
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
 applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw exception
 applicationDispatcher.specViolation.request=Original SevletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
@@ -95,6 +97,8 @@
 standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
 standardContext.requestListenerConfig.added=Added request listener Valve
 standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardContext.isUnavailable=This application is not currently available
 standardContext.listenerStart=Exception sending context initialized event to listener instance of class {0}
 standardContext.listenerStartFailed=Failed to start application Listeners successfully
@@ -134,6 +138,8 @@
 standardContext.wrapper.warning=WARNING: JSP file {0} must start with a ''/'' in Servlet 2.4
 standardEngine.alreadyStarted=Engine has already been started
 standardEngine.mappingError=MAPPING configuration error for server name {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardEngine.noHost=No Host matches server name {0}
 standardEngine.noHostHeader=HTTP/1.1 request with no Host: header
 standardEngine.notHost=Child of an Engine must be a Host
@@ -156,6 +162,8 @@
 standardHost.invalidErrorReportValveClass=Couldn''t load specified error report valve class: {0}
 standardHost.docBase=Document base directory {0} already exists
 standardHost.mappingError=MAPPING configuration error for request URI {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardHost.noContext=No Context configured to process this request
 standardHost.noHost=No Host configured to process this request
 standardHost.notContext=Child of a Host must be a Context

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties Fri Dec 18 16:13:28 2009
@@ -22,6 +22,8 @@
 applicationDispatcher.forward.ise = No puedo reenviar despu\u00E9s de que la respuesta se haya llevado a cabo.
 applicationDispatcher.forward.throw = El recurso reenviado lanz\u00F3 un excepci\u00F3n
 applicationDispatcher.include.throw = El recurso inclu\u00EDdo lanz\u00F3 una excepci\u00F3n
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 applicationDispatcher.isUnavailable = El Servlet {0} no est\u00E1 disponible en este momento
 applicationDispatcher.serviceException = El Servlet.service() para servlet {0} lanz\u00F3 una excepci\u00F3n
 applicationDispatcher.specViolation.request = SevletRequest original o ServletRequest original arropado no pas\u00F3 a RequestDispatcher en violaci\u00F3n de SRV.8.2 y SRV.14.2.5.1
@@ -82,6 +84,8 @@
 standardContext.requestListenerStartFailed = No pude arrancar v\u00E1lvula de escuchador de requerimiento con exito
 standardContext.requestListenerConfig.added = A\u00F1adida V\u00E1lvula de escuchador de requerimiento
 standardContext.requestListenerConfig.error = Excepci\u00F3n a\u00F1adiendo V\u00E1lvula de escuchador de requerimiento\: {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardContext.isUnavailable = Esta aplicaci\u00F3n no est\u00E1 disponible en este momento
 standardContext.listenerStart = Excepci\u00F3n enviando evento inicializado de contexto a instancia de escuchador de clase {0}
 standardContext.listenerStartFailed = No pude arrancar Escuchadores de aplicaci\u00F3n con \u00E9xito
@@ -121,6 +125,8 @@
 standardContext.wrapper.warning = AVISO\: El archivo JSP {0} debe de comenzar con ''/'' en Servlet 2.4
 standardEngine.alreadyStarted = Ya ha sido arrancado el Motor
 standardEngine.mappingError = Error de configuraci\u00F3n de MAPEO para nombre de servidor {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardEngine.noHost = No hay M\u00E1quina que coincida con nombre de servidor {0}
 standardEngine.noHostHeader = Requerimiento HTTP/1.1 sin M\u00E1quina\: cabecera
 standardEngine.notHost = El Hijo de un Motor debe de ser un M\u00E1quina
@@ -143,6 +149,8 @@
 standardHost.invalidErrorReportValveClass = No pude cargar clase especifiada de v\u00E1lvula de informe de error\: {0}
 standardHost.docBase = Ya existe el directorio base de documento {0}
 standardHost.mappingError = Error de configuraci\u00F3n de MAPEO para URI de requerimiento {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardHost.noContext = No se ha configurado Contexto para procesar este requerimiento
 standardHost.noHost = No se ha configurado M\u00E1quina para procesar este requerimiento
 standardHost.notContext = El Hijo de una M\u00E1quina debe de ser un Contexto

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties Fri Dec 18 16:13:28 2009
@@ -21,6 +21,8 @@
 applicationDispatcher.forward.ise=Impossible d''utiliser faire-suivre (forward) apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
 applicationDispatcher.forward.throw=La ressource faire-suivre (forwarded) a lanc\u00e9 une exception
 applicationDispatcher.include.throw=La ressource incluse (included) a lanc\u00e9 une exception
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 applicationDispatcher.isUnavailable=La servlet {0} est actuellement indisponible
 applicationDispatcher.serviceException="Servlet.service()" pour la servlet {0} a lanc\u00e9 une exception
 applicationRequest.badParent=Impossible de trouver l''implementation requ\u00eate apparent\u00e9e (parent request)
@@ -60,6 +62,8 @@
 standardContext.requestListenerStartFailed=Echec d\u00e9marrage des Valves d''\u00e9coute
 standardContext.requestListenerConfig.added=Ajout de la valve d''\u00e9coute
 standardContext.requestListenerConfig.error=Exception lors de l''ajout de la valve d''\u00e9coute de requ\u00eate: {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardContext.isUnavailable=Cette application n''est pas disponible actuellement
 standardContext.listenerStart=Exception lors de l''envoi de l''\u00e9v\u00e8nement contexte initialis\u00e9 (context initialized) \u00e0 l''instance de classe d''\u00e9coute (listener) {0}
 standardContext.listenerStartFailed=Echec du d\u00e9marrage des \u00e9couteurs (listeners) d''application
@@ -101,6 +105,8 @@
 standardContext.wrapper.warning=ATTENTION: Le fichier JSP {0} doit commencer par un  ''/'' dans l''API Servlet 2.4
 standardEngine.alreadyStarted=Le moteur a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
 standardEngine.mappingError=Erreur de configuration d''association (mapping configuration) pour le serveur {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardEngine.noHost=Aucune h\u00f4te (host) ne correspond au nom de serveur {0}
 standardEngine.noHostHeader=requ\u00eate HTTP/1.1 sans ent\u00eate Host: 
 standardEngine.notHost=Le fils d''un moteur (child of an Engine) doit \u00eatre un h\u00f4te
@@ -119,6 +125,8 @@
 standardHost.invalidErrorReportValveClass=Impossible de charger la classe valve de rapport d''erreur: {0}
 standardHost.docBase=Le r\u00e9pertoire "document base" {0} existe d\u00e9j\u00e0
 standardHost.mappingError=Erreur d''association de configuration (mapping configuration) pour l''URI demand\u00e9e {0}
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 standardHost.noContext=Aucune contexte n''est configur\u00e9 pour traiter cette requ\u00eate
 standardHost.noHost=Aucun h\u00f4te n''est configur\u00e9 pour traiter cette requ\u00eate
 standardHost.notContext=Le fils d''un h\u00f4te (child of a Host) doit \u00eatre un contexte

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -22,7 +22,10 @@
 applicationDispatcher.forward.ise=\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u30b3\u30df\u30c3\u30c8\u3057\u305f\u5f8c\u3067\u30d5\u30a9\u30ef\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
 applicationDispatcher.forward.throw=\u30d5\u30a9\u30ef\u30fc\u30c9\u3057\u305f\u30ea\u30bd\u30fc\u30b9\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
 applicationDispatcher.include.throw=\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3057\u305f\u30ea\u30bd\u30fc\u30b9\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-applicationDispatcher.isUnavailable=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306f\u73fe\u5728\u5229\u7528\u3067\u304d\u307e\u305b\u3093
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
 applicationDispatcher.serviceException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306eServlet.service()\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
 applicationRequest.badParent=\u89aa\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u5b9f\u88c5\u3092\u914d\u7f6e\u3067\u304d\u307e\u305b\u3093
 applicationRequest.badRequest=\u30ea\u30af\u30a8\u30b9\u30c8\u304cjavax.servlet.ServletRequestWrapper\u3067\u306f\u3042\u308a\u307e\u305b\u3093
@@ -61,7 +64,10 @@
 standardContext.requestListenerStartFailed=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
 standardContext.requestListenerConfig.added=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f
 standardContext.requestListenerConfig.error=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u8ffd\u52a0\u4e2d\u306e\u4f8b\u5916\u3067\u3059: {0}
-standardContext.isUnavailable=\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u73fe\u5728\u5229\u7528\u3067\u304d\u307e\u305b\u3093
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+standardContext.isUnavailable=This application is not currently available
 standardContext.listenerStart=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u521d\u671f\u5316\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 standardContext.listenerStartFailed=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ea\u30b9\u30ca\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
 standardContext.listenerStop=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u7834\u68c4\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
@@ -102,7 +108,10 @@
 standardContext.wrapper.warning=\u8b66\u544a: Servlet 2.4\u3067\u306fJSP\u30d5\u30a1\u30a4\u30eb {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
 standardEngine.alreadyStarted=\u30a8\u30f3\u30b8\u30f3\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
 standardEngine.mappingError=\u30b5\u30fc\u30d0\u540d {0} \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u30a8\u30e9\u30fc\u3067\u3059
-standardEngine.noHost=\u30b5\u30fc\u30d0\u540d {0} \u306b\u4e00\u81f4\u3059\u308b\u30db\u30b9\u30c8\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+standardEngine.noHost=No Host matches server name {0}
 standardEngine.noHostHeader=Host:\u30d8\u30c3\u30c0\u3092\u6301\u305f\u306a\u3044 HTTP/1.1 \u30ea\u30af\u30a8\u30b9\u30c8\u3067\u3059
 standardEngine.notHost=\u30a8\u30f3\u30b8\u30f3\u306e\u5b50\u4f9b\u306f\u30db\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
 standardEngine.notParent=\u30a8\u30f3\u30b8\u30f3\u306f\u89aa\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
@@ -123,7 +132,10 @@
 standardHost.invalidErrorReportValveClass=\u6307\u5b9a\u3055\u308c\u305f\u30a8\u30e9\u30fc\u30ea\u30dd\u30fc\u30c8\u30d0\u30eb\u30d6\u30af\u30e9\u30b9\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093: {0}
 standardHost.docBase=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059
 standardHost.mappingError=\u30ea\u30af\u30a8\u30b9\u30c8URI {0} \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u30a8\u30e9\u30fc\u3067\u3059
-standardHost.noContext=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+standardHost.noContext=No Context configured to process this request
 standardHost.noHost=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30db\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
 standardHost.notContext=\u30db\u30b9\u30c8\u306e\u5b50\u4f9b\u306f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
 standardHost.notStarted=\u30db\u30b9\u30c8\u304c\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -68,6 +68,8 @@
 realmBase.algorithm=Invalid message digest algorithm {0} specified
 realmBase.alreadyStarted=This Realm has already been started
 realmBase.digest=Error digesting user credentials
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 realmBase.forbidden=Access to the requested resource has been denied
 realmBase.hasRoleFailure=Username {0} does NOT have role {1}
 realmBase.hasRoleSuccess=Username {0} has role {1}

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_es.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_es.properties Fri Dec 18 16:13:28 2009
@@ -62,6 +62,8 @@
 realmBase.algorithm = El algoritmo resumen (digest) {0} es inv\u00E1lido
 realmBase.alreadyStarted = Este dominio ya ha sido inicializado
 realmBase.digest = Error procesando las credenciales del usuario
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 realmBase.forbidden = El acceso al recurso pedido ha sido denegado
 realmBase.hasRoleFailure = El usuario {0} NO desempe\u00F1a el papel de {1}
 realmBase.hasRoleSuccess = El usuario {0} desempe\u00F1a el papel de {1}

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_fr.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_fr.properties Fri Dec 18 16:13:28 2009
@@ -42,6 +42,8 @@
 realmBase.algorithm=L''algorithme d''empreinte de message (message digest) {0} indiqu\u00e9 est invalide
 realmBase.alreadyStarted=Ce royaume (Realm) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
 realmBase.digest=Erreur lors du traitement des empreintes (digest) des cr\u00e9dits utilisateur (user credentials)
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 realmBase.forbidden=L''acc\u00e8s \u00e0 la ressource demand\u00e9e a \u00e9t\u00e9 interdit
 realmBase.hasRoleFailure=Le nom d''utilisateur {0} N''A PAS de r\u00f4le {1}
 realmBase.hasRoleSuccess=Le nom d''utilisateur {0} a pour r\u00f4le {1}

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -43,7 +43,10 @@
 realmBase.algorithm=\u7121\u52b9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 {0} \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
 realmBase.alreadyStarted=\u3053\u306e\u30ec\u30eb\u30e0\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
 realmBase.digest=\u30e6\u30fc\u30b6\u306e\u8a3c\u660e\u66f8\u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30a8\u30e9\u30fc
-realmBase.forbidden=\u8981\u6c42\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+realmBase.forbidden=Access to the requested resource has been denied
 realmBase.hasRoleFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30ed\u30fc\u30eb {1} \u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093
 realmBase.hasRoleSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30ed\u30fc\u30eb {1} \u3092\u6301\u3063\u3066\u3044\u307e\u3059
 realmBase.notAuthenticated=\u8a2d\u5b9a\u30a8\u30e9\u30fc:  \u8a8d\u8a3c\u3055\u308c\u305f\u4e3b\u4f53\u306a\u3057\u3067\u306f\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u304c\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093

Modified: tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -87,3 +87,7 @@
 http.504=The server received a timeout from an upstream server while acting as a gateway or proxy ({0}).
 http.505=The server does not support the requested HTTP protocol version ({0}).
 http.507=The resource does not have sufficient space to record the state of the resource after execution of this method ({0}).
+
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
+standardHost.noContext=No Context configured to process this request

Modified: tomcat/trunk/java/org/apache/catalina/valves/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/valves/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -35,3 +35,8 @@
 errorReportValve.rootCause=\u539f\u56e0
 errorReportValve.note=\u6ce8\u610f
 errorReportValve.rootCauseInLogs=\u539f\u56e0\u306e\u3059\u3079\u3066\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u306f\u3001{0}\u306e\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u3066\u3044\u307e\u3059
+
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+standardHost.noContext=No Context configured to process this request

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Fri Dec 18 16:13:28 2009
@@ -38,6 +38,8 @@
 jsp.error.not.impl.plugin=Internal error: plugin not implemented
 jsp.error.not.impl.forward=Internal error: forward not implemented
 jsp.error.not.impl.include=Internal error: include not implemented
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 jsp.error.unavailable=JSP has been marked unavailable
 jsp.error.usebean.missing.attribute=useBean: id attribute missing or misspelled
 jsp.error.usebean.missing.type=useBean ({0}): Either class or type attribute must be \

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties Fri Dec 18 16:13:28 2009
@@ -36,6 +36,8 @@
 jsp.error.not.impl.plugin = Error Interno\: plugin no implementado
 jsp.error.not.impl.forward = Error Interno\: forward no implementado
 jsp.error.not.impl.include = Error Interno\: include no implementado
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 jsp.error.unavailable = JSP ha sido marcado como no disponible
 jsp.error.usebean.missing.attribute = useBean\: falta atributo id o est\u00E1 mal digitado
 jsp.error.usebean.missing.type = useBean ({0})\: Se debe de especificar atributo class o type\:

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties Fri Dec 18 16:13:28 2009
@@ -37,6 +37,8 @@
 jsp.error.not.impl.plugin=Erreur interne: plugin non impl\u00e9ment\u00e9
 jsp.error.not.impl.forward=Erreur interne: forward non impl\u00e9ment\u00e9
 jsp.error.not.impl.include=Erreur interne: include non impl\u00e9ment\u00e9
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616
 jsp.error.unavailable=La JSP a \u00e9t\u00e9 marqu\u00e9e comme non disponible
 jsp.error.usebean.missing.attribute=useBean: l''identificateur d''attribut (id attribute) est manquant ou mal orthographi\u00e9
 jsp.error.usebean.missing.type=useBean ({0}): La classe ou le type d''attribut doit \u00eatre\

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties?rev=892293&r1=892292&r2=892293&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties Fri Dec 18 16:13:28 2009
@@ -37,7 +37,10 @@
 jsp.error.not.impl.plugin=\u5185\u90e8\u30a8\u30e9\u30fc: plugin\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 jsp.error.not.impl.forward=\u5185\u90e8\u30a8\u30e9\u30fc: forward\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 jsp.error.not.impl.include=\u5185\u90e8\u30a8\u30e9\u30fc: include\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.unavailable=JSP\u306f\u5229\u7528\u4e0d\u53ef\u3068\u30de\u30fc\u30af\u3055\u308c\u3066\u3044\u307e\u3059
+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+jsp.error.unavailable=JSP has been marked unavailable
 jsp.error.usebean.missing.attribute=useBean: id\u5c5e\u6027\u304c\u5b58\u5728\u3057\u306a\u3044\u304b\u3001\u30b9\u30da\u30eb\u30df\u30b9\u3067\u3059
 jsp.error.usebean.missing.type=useBean ({0}): class\u5c5e\u6027\u304btype\u5c5e\u6027\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044:
 jsp.error.usebean.duplicate=useBean: beanName\u5c5e\u6027\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059: {0}



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r892293 - in /tomcat/trunk/java: javax/servlet/http/ org/apache/catalina/authenticator/ org/apache/catalina/core/ org/apache/catalina/realm/ org/apache/catalina/valves/ org/apache/jasper/resources/

Posted by Konstantin Kolinko <kn...@gmail.com>.
2009/12/20 Mark Thomas <ma...@apache.org>:
>
> I don't view an HTTP header where the message is a long string of ????
> characters as better. In that case I think the use English text is a
> better option. Neither do I think we want too many configuration options
> here.
>
> What do you think to the following as an approach:
>
> 1. Revert r892293
> 2. Write an isSafeForHttpHeader() function
> 3. Replace all instances of
> if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER) {
> with
> if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER &&
>        isSafeForHttpHeader(response.getMessage())) {
>
> That would allow i18n to be used in the body of the response and in the
> HTTP headers if it were safe. If it were not safe, the default would be
> used. The user any pays the performance hit of the isSafeForHttpHeader()
> test if they elect to use custom messages.
>
> Mark

I like it.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r892293 - in /tomcat/trunk/java: javax/servlet/http/ org/apache/catalina/authenticator/ org/apache/catalina/core/ org/apache/catalina/realm/ org/apache/catalina/valves/ org/apache/jasper/resources/

Posted by Mark Thomas <ma...@apache.org>.
On 20/12/2009 04:10, Konstantin Kolinko wrote:
> 2009/12/18  <ma...@apache.org>:
>> Author: markt
>> Date: Fri Dec 18 16:13:28 2009
>> New Revision: 892293
>>
>> URL: http://svn.apache.org/viewvc?rev=892293&view=rev
>> Log:
>> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47963
>> Anything that could end up in an HTTP header must meet the requirements of RFC2616.
> 
> I think this approach to fixing this issue is wrong.
> 
> 1. It is not these messages
This I disagree with. The messages can end up being used in HTTP headers
and some of them used to violate RFC2616. That needs fixing. I agree
that there are other ways we could fix this.

> but the ones in
> org/apache/tomcat/util/http/res/LocalStrings*.properties
> that should adhere to RFC2616.
> You should add that compliance comment to those files.
Agreed.

> 2. There are plenty of 3-rd party libraries that call sendError(code.
> message) and those won't be fixed by this patch.

Not our problem although if whatever we end up implementing works around
them great. If our solution doesn't work around broken libraries I am
fine with that too.


> 3. The result of this patch will be that error messages on the Tomcat
> error pages for Japanese language will not be translated.
Correct. Although I note that a number of messages would have been in
English before this patch anyway.

>  (Or for
> Russian language, if I ever propose it).  I am not happy with it.
> 
> Especially these two messages, as error page 503 is hard to customize:
> 
> +# Note: The following value may be used in HTTP headers and as such may only
> +#       contain TEXT as defined by RFC 2616. Since Japanese language messages
> +#       do not meet this requirement, English text is used.
> +applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
> 
> +# Note: The following value may be used in HTTP headers and as such may only
> +#       contain TEXT as defined by RFC 2616. Since Japanese language messages
> +#       do not meet this requirement, English text is used.
> +standardContext.isUnavailable=This application is not currently available
> 
> 4. Regarding alternative approaches.
> 
> We already do scanning and replacing '\n' and '\r's in the message. E.g.
> write(message.replace('\n', ' ').replace('\r', ' '));
> 
> Maybe we can replace this with a custom function that performs safeguarding?

Anything is possible ;)

The fundamental issue is that the error message on the error page comes
from response.getMessage() and we use the same text in the HTTP header.
The first should use i18n, the second must comply with RFC2616. Those
requirements are not compatible.

> What approach would be better:
> - For non-ISO8859-1 characters (code > 255):
> a) replace non-ISO8859-1 characters with '?'
> b) replace non-ISO8859-1 characters with space
> c) throw an exception and fallback to the default message.
> d) provide an option, to choose a) vs. c) vs. current legacy behavior
> 
> - For ASCII characters with codes 0..32, 127:
> replace with spaces
> 
> All the above makes sense only if USE_CUSTOM_STATUS_MSG_IN_HEADER
> option was explicitly set to true. Otherwise the
> HttpMessages.getMessage(int) message is used and no safeguarding takes
> place.
> So it was user's choice that they need this feature, and are ready to
> pay their performance overhead for safeguarding.

The user may not be expecting the performance hit. That would need
adding to the docs.

> I am in favor of a) option.

I don't view an HTTP header where the message is a long string of ????
characters as better. In that case I think the use English text is a
better option. Neither do I think we want too many configuration options
here.

What do you think to the following as an approach:

1. Revert r892293
2. Write an isSafeForHttpHeader() function
3. Replace all instances of
if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER) {
with
if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER &&
        isSafeForHttpHeader(response.getMessage())) {

That would allow i18n to be used in the body of the response and in the
HTTP headers if it were safe. If it were not safe, the default would be
used. The user any pays the performance hit of the isSafeForHttpHeader()
test if they elect to use custom messages.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r892293 - in /tomcat/trunk/java: javax/servlet/http/ org/apache/catalina/authenticator/ org/apache/catalina/core/ org/apache/catalina/realm/ org/apache/catalina/valves/ org/apache/jasper/resources/

Posted by Konstantin Kolinko <kn...@gmail.com>.
2009/12/18  <ma...@apache.org>:
> Author: markt
> Date: Fri Dec 18 16:13:28 2009
> New Revision: 892293
>
> URL: http://svn.apache.org/viewvc?rev=892293&view=rev
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47963
> Anything that could end up in an HTTP header must meet the requirements of RFC2616.

I think this approach to fixing this issue is wrong.

1. It is not these messages but the ones in
org/apache/tomcat/util/http/res/LocalStrings*.properties
that should adhere to RFC2616.
You should add that compliance comment to those files.

HttpMessages.getMessage(int) returns those strings.

2. There are plenty of 3-rd party libraries that call sendError(code.
message) and those won't be fixed by this patch.

One example that I saw was sendError(code. exception.getMessage()).

3. The result of this patch will be that error messages on the Tomcat
error pages for Japanese language will not be translated.  (Or for
Russian language, if I ever propose it).  I am not happy with it.

Especially these two messages, as error page 503 is hard to customize:

+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable

+# Note: The following value may be used in HTTP headers and as such may only
+#       contain TEXT as defined by RFC 2616. Since Japanese language messages
+#       do not meet this requirement, English text is used.
+standardContext.isUnavailable=This application is not currently available

4. Regarding alternative approaches.

We already do scanning and replacing '\n' and '\r's in the message. E.g.
write(message.replace('\n', ' ').replace('\r', ' '));

Maybe we can replace this with a custom function that performs safeguarding?

What approach would be better:
- For non-ISO8859-1 characters (code > 255):
a) replace non-ISO8859-1 characters with '?'
b) replace non-ISO8859-1 characters with space
c) throw an exception and fallback to the default message.
d) provide an option, to choose a) vs. c) vs. current legacy behavior

- For ASCII characters with codes 0..32, 127:
replace with spaces

All the above makes sense only if USE_CUSTOM_STATUS_MSG_IN_HEADER
option was explicitly set to true. Otherwise the
HttpMessages.getMessage(int) message is used and no safeguarding takes
place.
So it was user's choice that they need this feature, and are ready to
pay their performance overhead for safeguarding.

I am in favor of a) option.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org