This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push: new 324b96928f Missing strings mostly 324b96928f is described below commit 324b96928fe52ca343e1925d83547881f6a56ba0 Author: remm <r...@apache.org> AuthorDate: Fri Feb 16 12:19:09 2024 +0100 Missing strings mostly --- java/org/apache/catalina/filters/CorsFilter.java | 11 +---------- .../catalina/filters/LocalStrings.properties | 1 + java/org/apache/catalina/servlets/CGIServlet.java | 5 ++--- .../catalina/servlets/LocalStrings.properties | 2 ++ .../catalina/storeconfig/LocalStrings.properties | 1 + .../apache/catalina/storeconfig/StoreRegistry.java | 2 +- .../membership/cloud/AbstractStreamProvider.java | 7 +++---- .../membership/cloud/CloudMembershipProvider.java | 3 ++- .../membership/cloud/DNSMembershipProvider.java | 2 +- .../cloud/KubernetesMembershipProvider.java | 2 +- .../membership/cloud/LocalStrings.properties | 6 ++++++ .../valves/CrawlerSessionManagerValve.java | 8 ++++---- .../valves/rewrite/LocalStrings.properties | 5 +++++ .../catalina/valves/rewrite/Substitution.java | 23 ++++++++++++---------- .../tomcat/websocket/LocalStrings.properties | 1 + 15 files changed, 44 insertions(+), 35 deletions(-) diff --git a/java/org/apache/catalina/filters/CorsFilter.java b/java/org/apache/catalina/filters/CorsFilter.java index d6e294a1b7..38b4749fe9 100644 --- a/java/org/apache/catalina/filters/CorsFilter.java +++ b/java/org/apache/catalina/filters/CorsFilter.java @@ -350,16 +350,7 @@ public class CorsFilter extends GenericFilter { response.resetBuffer(); if (log.isDebugEnabled()) { - // Debug so no need for i18n - StringBuilder message = new StringBuilder("Invalid CORS request; Origin="); - message.append(origin); - message.append(";Method="); - message.append(method); - if (accessControlRequestHeaders != null) { - message.append(";Access-Control-Request-Headers="); - message.append(accessControlRequestHeaders); - } - log.debug(message.toString()); + sm.getString("corsFilter.invalidRequest", origin, method, accessControlRequestHeaders); } } diff --git a/java/org/apache/catalina/filters/LocalStrings.properties b/java/org/apache/catalina/filters/LocalStrings.properties index be56650ae2..aab53ede4f 100644 --- a/java/org/apache/catalina/filters/LocalStrings.properties +++ b/java/org/apache/catalina/filters/LocalStrings.properties @@ -16,6 +16,7 @@ addDefaultCharset.unsupportedCharset=Specified character set [{0}] is not supported corsFilter.invalidPreflightMaxAge=Unable to parse preflightMaxAge +corsFilter.invalidRequest=Invalid CORS request; Origin [{0}] Method [{1}] Access-Control-Request-Headers [{2}] corsFilter.invalidSupportsCredentials=It is not allowed to configure supportsCredentials=[true] when allowedOrigins=[*] corsFilter.nullRequest=HttpServletRequest object is null corsFilter.nullRequestType=CORSRequestType object is null diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index 4a41795f17..b825920559 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -1434,7 +1434,7 @@ public final class CGIServlet extends HttpServlet { */ if (!isReady()) { - throw new IOException(this.getClass().getName() + ": not ready to run."); + throw new IOException(sm.getString("cgiServlet.notReady")); } if (log.isTraceEnabled()) { @@ -1443,8 +1443,7 @@ public final class CGIServlet extends HttpServlet { if ((command.contains(File.separator + "." + File.separator)) || (command.contains(File.separator + "..")) || (command.contains(".." + File.separator))) { - throw new IOException(this.getClass().getName() + "Illegal Character in CGI command path " + - "('.' or '..') detected. Not running CGI [" + command + "]."); + throw new IOException(sm.getString("cgiServlet.invalidCommand", command)); } /* diff --git a/java/org/apache/catalina/servlets/LocalStrings.properties b/java/org/apache/catalina/servlets/LocalStrings.properties index 1ce4990490..38807654a3 100644 --- a/java/org/apache/catalina/servlets/LocalStrings.properties +++ b/java/org/apache/catalina/servlets/LocalStrings.properties @@ -25,6 +25,8 @@ cgiServlet.find.location=Looking for a file at [{0}] cgiServlet.find.path=CGI script requested at path [{0}] relative to CGI location [{1}] cgiServlet.invalidArgumentDecoded=The decoded command line argument [{0}] did not match the configured cmdLineArgumentsDecoded pattern [{1}] cgiServlet.invalidArgumentEncoded=The encoded command line argument [{0}] did not match the configured cmdLineArgumentsEncoded pattern [{1}] +cgiServlet.invalidCommand=Illegal Character in CGI command path ('.' or '..') detected, not running CGI [{0}] +cgiServlet.notReady=CGI Servlet is not ready to run cgiServlet.runBadHeader=Bad header line [{0}] cgiServlet.runFail=I/O problems processing CGI cgiServlet.runHeaderReaderFail=I/O problems closing header reader diff --git a/java/org/apache/catalina/storeconfig/LocalStrings.properties b/java/org/apache/catalina/storeconfig/LocalStrings.properties index 4067b860b8..2facbe157c 100644 --- a/java/org/apache/catalina/storeconfig/LocalStrings.properties +++ b/java/org/apache/catalina/storeconfig/LocalStrings.properties @@ -26,6 +26,7 @@ globalNamingResourcesSF.noFactory=Cannot find NamingResources store factory globalNamingResourcesSF.wrongElement=Wrong element [{0}] registry.loadClassFailed=Failed to load class [{0}] +registry.noDescriptor=Can't find descriptor for key [{0}] standardContextSF.cannotWriteFile=Cannot write file at [{0}] standardContextSF.canonicalPathError=Failed to obtain the canonical path of the configuration file [{0}] diff --git a/java/org/apache/catalina/storeconfig/StoreRegistry.java b/java/org/apache/catalina/storeconfig/StoreRegistry.java index a4dea64261..4865171d14 100644 --- a/java/org/apache/catalina/storeconfig/StoreRegistry.java +++ b/java/org/apache/catalina/storeconfig/StoreRegistry.java @@ -132,7 +132,7 @@ public class StoreRegistry { log.trace("find descriptor " + id + "#" + desc.getTag() + "#" + desc.getStoreFactoryClass()); } else { - log.debug(("Can't find descriptor for key " + id)); + log.debug(sm.getString("registry.noDescriptor", id)); } } return desc; diff --git a/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java b/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java index 2c283890a7..68785e3243 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java +++ b/java/org/apache/catalina/tribes/membership/cloud/AbstractStreamProvider.java @@ -75,7 +75,7 @@ public abstract class AbstractStreamProvider implements StreamProvider { */ public URLConnection openConnection(String url, Map<String, String> headers, int connectTimeout, int readTimeout) throws IOException { if (log.isDebugEnabled()) { - log.debug(String.format("%s opening connection: url [%s], headers [%s], connectTimeout [%s], readTimeout [%s]", + log.debug(sm.getString("abstractStream.connection", getClass().getSimpleName(), url, headers, Integer.toString(connectTimeout), Integer.toString(readTimeout))); } URLConnection connection; @@ -91,9 +91,8 @@ public abstract class AbstractStreamProvider implements StreamProvider { } } if (connectTimeout < 0 || readTimeout < 0) { - throw new IllegalArgumentException( - String.format("Neither connectTimeout [%s] nor readTimeout [%s] can be less than 0 for URLConnection.", - Integer.toString(connectTimeout), Integer.toString(readTimeout))); + throw new IllegalArgumentException(sm.getString("abstractStream.invalidTimeout", + Integer.toString(connectTimeout), Integer.toString(readTimeout))); } connection.setConnectTimeout(connectTimeout); connection.setReadTimeout(readTimeout); diff --git a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java index 67300cc454..fe5e193583 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java +++ b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java @@ -152,7 +152,8 @@ public abstract class CloudMembershipProvider extends MembershipProviderBase imp return; } if (log.isDebugEnabled()) { - String message = add ? "Member added: " + member : "Member disappeared: " + member; + String message = add ? sm.getString("cloudMembershipProvider.add", member) + : sm.getString("cloudMembershipProvider.remove", member); log.debug(message); } Runnable r = () -> { diff --git a/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java index f5a6874496..9822487cb1 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java +++ b/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java @@ -106,7 +106,7 @@ public class DNSMembershipProvider extends CloudMembershipProvider { } if (log.isDebugEnabled()) { - log.debug(String.format("Namespace [%s] set; clustering enabled", dnsServiceName)); + log.debug(sm.getString("cloudMembershipProvider.start", dnsServiceName)); } dnsServiceName = URLEncoder.encode(dnsServiceName, "UTF-8"); diff --git a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java index 98dd6eccd8..6f0f4f244e 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java +++ b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java @@ -57,7 +57,7 @@ public class KubernetesMembershipProvider extends CloudMembershipProvider { String namespace = getNamespace(); if (log.isDebugEnabled()) { - log.debug(String.format("Namespace [%s] set; clustering enabled", namespace)); + log.debug(sm.getString("cloudMembershipProvider.start", namespace)); } String protocol = getEnv(CUSTOM_ENV_PREFIX + "MASTER_PROTOCOL", "KUBERNETES_MASTER_PROTOCOL"); diff --git a/java/org/apache/catalina/tribes/membership/cloud/LocalStrings.properties b/java/org/apache/catalina/tribes/membership/cloud/LocalStrings.properties index 33816e5b2f..77bc9bbdcc 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/LocalStrings.properties +++ b/java/org/apache/catalina/tribes/membership/cloud/LocalStrings.properties @@ -14,11 +14,17 @@ # limitations under the License. abstractStream.CACertUndefined=CA cert file undefined +abstractStream.connection=[{0}] opening connection: url [{1}], headers [{2}], connectTimeout [{3}], readTimeout [{4}] abstractStream.fileNotFound=CA cert file [{0}] not found +abstractStream.invalidTimeout=Neither connectTimeout [{0}] nor readTimeout [{1}] can be less than 0 for URLConnection abstractStream.trustManagerError=Could not create trust manager for [{0}] certificateStream.clientCertError=Could not create key manager for [{0}] ([{1}]) +cloudMembershipProvider.add=Member [{0}] added +cloudMembershipProvider.remove=Member [{0}] disappeared +cloudMembershipProvider.start=Namespace [{0}] set; clustering enabled + cloudMembershipService.stopFail=Unable to stop the cloud membership service, level: [{0}] dnsMembershipProvider.dnsError=Error getting hosts address list for namespace [{0}] diff --git a/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java b/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java index b9490f988f..de00f438fe 100644 --- a/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java +++ b/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java @@ -245,13 +245,13 @@ public class CrawlerSessionManagerValve extends ValveBase { new CrawlerHttpSessionBindingListener(clientIdSessionId, clientIdentifier)); s.setMaxInactiveInterval(sessionInactiveInterval); - if (log.isDebugEnabled()) { - log.debug(request.hashCode() + ": New bot session. SessionID=" + s.getId()); + if (log.isTraceEnabled()) { + log.trace(request.hashCode() + ": New bot session. SessionID=" + s.getId()); } } } else { - if (log.isDebugEnabled()) { - log.debug(request.hashCode() + ": Bot session accessed. SessionID=" + sessionId); + if (log.isTraceEnabled()) { + log.trace(request.hashCode() + ": Bot session accessed. SessionID=" + sessionId); } } } diff --git a/java/org/apache/catalina/valves/rewrite/LocalStrings.properties b/java/org/apache/catalina/valves/rewrite/LocalStrings.properties index db07290ebb..ffb6009f6d 100644 --- a/java/org/apache/catalina/valves/rewrite/LocalStrings.properties +++ b/java/org/apache/catalina/valves/rewrite/LocalStrings.properties @@ -26,3 +26,8 @@ rewriteValve.invalidMapClassName=Invalid map class name [{0}] rewriteValve.noConfiguration=No configuration resource found [{0}] rewriteValve.readConfiguration=Read configuration from [/WEB-INF/{0}] rewriteValve.readError=Error reading configuration + +substitution.badType=Bad type [{0}] in substitution [{1}] +substitution.invalid=Invalid substitution [{0}] +substitution.missingDigit=Substitution [{0}] is missing digit or curly brace +substitution.noMap=Map [{0}] not found in substitution [{1}] diff --git a/java/org/apache/catalina/valves/rewrite/Substitution.java b/java/org/apache/catalina/valves/rewrite/Substitution.java index 1e70de2fcd..b7e39158e6 100644 --- a/java/org/apache/catalina/valves/rewrite/Substitution.java +++ b/java/org/apache/catalina/valves/rewrite/Substitution.java @@ -22,9 +22,12 @@ import java.util.Map; import java.util.regex.Matcher; import org.apache.catalina.util.URLEncoder; +import org.apache.tomcat.util.res.StringManager; public class Substitution { + protected static final StringManager sm = StringManager.getManager(Substitution.class); + public abstract static class SubstitutionElement { public abstract String evaluate(Matcher rule, Matcher cond, Resolver resolver); } @@ -148,7 +151,7 @@ public class Substitution { elements.add(newElement); } else if (isFirstPos(backslashPos, dollarPos, percentPos)) { if (backslashPos + 1 == sub.length()) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } StaticElement newElement = new StaticElement(); newElement.value = sub.substring(pos, backslashPos) + sub.substring(backslashPos + 1, backslashPos + 2); @@ -157,7 +160,7 @@ public class Substitution { } else if (isFirstPos(dollarPos, percentPos)) { // $: back reference to rule or map lookup if (dollarPos + 1 == sub.length()) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } if (pos < dollarPos) { // Static text @@ -179,17 +182,17 @@ public class Substitution { int def = findMatchingColonOrBar(false, sub, open); int close = findMatchingBrace(sub, open); if (!(-1 < open && open < colon && colon < close)) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } newElement.map = maps.get(sub.substring(open + 1, colon)); if (newElement.map == null) { - throw new IllegalArgumentException(sub + ": No map: " + sub.substring(open + 1, colon)); + throw new IllegalArgumentException(sm.getString("substitution.noMap", sub.substring(open + 1, colon), sub)); } String key = null; String defaultValue = null; if (def > -1) { if (!(colon < def && def < close)) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } key = sub.substring(colon + 1, def); defaultValue = sub.substring(def + 1, close); @@ -203,12 +206,12 @@ public class Substitution { pos = close + 1; elements.add(newElement); } else { - throw new IllegalArgumentException(sub + ": missing digit or curly brace."); + throw new IllegalArgumentException(sm.getString("substitution.missingDigit", sub)); } } else { // %: back reference to condition or server variable if (percentPos + 1 == sub.length()) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } if (pos < percentPos) { // Static text @@ -229,7 +232,7 @@ public class Substitution { int colon = findMatchingColonOrBar(true, sub, open); int close = findMatchingBrace(sub, open); if (!(-1 < open && open < close)) { - throw new IllegalArgumentException(sub); + throw new IllegalArgumentException(sm.getString("substitution.invalid", sub)); } if (colon > -1 && open < colon && colon < close) { String type = sub.substring(open + 1, colon); @@ -243,7 +246,7 @@ public class Substitution { newElement = new ServerVariableHttpElement(); ((ServerVariableHttpElement) newElement).key = sub.substring(colon + 1, close); } else { - throw new IllegalArgumentException(sub + ": Bad type: " + type); + throw new IllegalArgumentException(sm.getString("substitution.badType", type, sub)); } } else { newElement = new ServerVariableElement(); @@ -252,7 +255,7 @@ public class Substitution { pos = close + 1; elements.add(newElement); } else { - throw new IllegalArgumentException(sub + ": missing digit or curly brace."); + throw new IllegalArgumentException(sm.getString("substitution.missingDigit", sub)); } } } diff --git a/java/org/apache/tomcat/websocket/LocalStrings.properties b/java/org/apache/tomcat/websocket/LocalStrings.properties index 6113667aae..d39cbcc108 100644 --- a/java/org/apache/tomcat/websocket/LocalStrings.properties +++ b/java/org/apache/tomcat/websocket/LocalStrings.properties @@ -96,6 +96,7 @@ wsRemoteEndpoint.closedDuringMessage=The remainder of the message will not be se wsRemoteEndpoint.closedOutputStream=This method may not be called as the OutputStream has been closed wsRemoteEndpoint.closedWriter=This method may not be called as the Writer has been closed wsRemoteEndpoint.encoderDestoryFailed=Failed to destroy the encoder of type [{0}] +wsRemoteEndpoint.encoderError=Encoding error [{0}] wsRemoteEndpoint.flushOnCloseFailed=Batched messages still enabled after session has been closed. Unable to flush remaining batched message. wsRemoteEndpoint.invalidEncoder=The specified encoder of type [{0}] could not be instantiated wsRemoteEndpoint.noEncoder=No encoder specified for object of class [{0}] --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org