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 <ma...@apache.org> 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org