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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]