This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new 3f9950cd9c Align with 9.0.x onwards
3f9950cd9c is described below
commit 3f9950cd9caea493e1345c6ad2ce7e3b2da1a9fc
Author: Mark Thomas <[email protected]>
AuthorDate: Mon Jan 15 13:43:49 2024 +0000
Align with 9.0.x onwards
---
.../apache/catalina/ssi/ExpressionParseTree.java | 2 +-
.../catalina/ssi/ResponseIncludeWrapper.java | 30 +++++-----------------
.../catalina/ssi/SSIServletExternalResolver.java | 3 ---
3 files changed, 8 insertions(+), 27 deletions(-)
diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java
b/java/org/apache/catalina/ssi/ExpressionParseTree.java
index 1199f6b1f7..3c199787b1 100644
--- a/java/org/apache/catalina/ssi/ExpressionParseTree.java
+++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java
@@ -404,7 +404,7 @@ public class ExpressionParseTree {
return -1;
}
} catch (PatternSyntaxException pse) {
- ssiMediator.log("Invalid expression: " + expr, pse);
+
ssiMediator.log(sm.getString("expressionParseTree.invalidExpression", expr),
pse);
return 0;
}
}
diff --git a/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java
b/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java
index 1a59760f91..50cb5f09d7 100644
--- a/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java
+++ b/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java
@@ -19,16 +19,13 @@ package org.apache.catalina.ssi;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
import java.util.Locale;
-import java.util.TimeZone;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
-import org.apache.tomcat.util.ExceptionUtils;
+import org.apache.tomcat.util.http.FastHttpDateFormat;
/**
* An HttpServletResponseWrapper, used from
<code>SSIServletExternalResolver</code>
@@ -41,8 +38,6 @@ public class ResponseIncludeWrapper extends
HttpServletResponseWrapper {
* The names of some headers we want to capture.
*/
private static final String LAST_MODIFIED = "last-modified";
- private static final DateFormat RFC1123_FORMAT;
- private static final String RFC1123_PATTERN = "EEE, dd MMM yyyy HH:mm:ss
z";
protected long lastModified = -1;
@@ -53,11 +48,6 @@ public class ResponseIncludeWrapper extends
HttpServletResponseWrapper {
protected ServletOutputStream servletOutputStream;
protected PrintWriter printWriter;
- static {
- RFC1123_FORMAT = new SimpleDateFormat(RFC1123_PATTERN, Locale.US);
- RFC1123_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT"));
- }
-
/**
* Initialize our wrapper with the current HttpServletResponse and
ServletOutputStream.
*
@@ -151,12 +141,9 @@ public class ResponseIncludeWrapper extends
HttpServletResponseWrapper {
super.addHeader(name, value);
String lname = name.toLowerCase(Locale.ENGLISH);
if (lname.equals(LAST_MODIFIED)) {
- try {
- synchronized (RFC1123_FORMAT) {
- lastModified = RFC1123_FORMAT.parse(value).getTime();
- }
- } catch (Throwable ignore) {
- ExceptionUtils.handleThrowable(ignore);
+ long lastModified = FastHttpDateFormat.parseDate(value);
+ if (lastModified != -1) {
+ this.lastModified = lastModified;
}
}
}
@@ -175,12 +162,9 @@ public class ResponseIncludeWrapper extends
HttpServletResponseWrapper {
super.setHeader(name, value);
String lname = name.toLowerCase(Locale.ENGLISH);
if (lname.equals(LAST_MODIFIED)) {
- try {
- synchronized (RFC1123_FORMAT) {
- lastModified = RFC1123_FORMAT.parse(value).getTime();
- }
- } catch (Throwable ignore) {
- ExceptionUtils.handleThrowable(ignore);
+ long lastModified = FastHttpDateFormat.parseDate(value);
+ if (lastModified != -1) {
+ this.lastModified = lastModified;
}
}
}
diff --git a/java/org/apache/catalina/ssi/SSIServletExternalResolver.java
b/java/org/apache/catalina/ssi/SSIServletExternalResolver.java
index cbf2492490..67b1b02da1 100644
--- a/java/org/apache/catalina/ssi/SSIServletExternalResolver.java
+++ b/java/org/apache/catalina/ssi/SSIServletExternalResolver.java
@@ -410,9 +410,6 @@ public class SSIServletExternalResolver implements
SSIExternalResolver {
// ie: '/file1.shtml' vs '/appName1/file1.shtml'
if (!isRootContext(normContext)) {
String noContext =
getPathWithoutContext(normContext.getContextPath(), normalized);
- if (noContext == null) {
- throw new IOException("Couldn't remove context from path: " +
normalized);
- }
return new ServletContextAndPath(normContext, noContext);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]