This is an automated email from the ASF dual-hosted git repository.

rmaucher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit b44c3978871cc78d7e476e7955d19327f120a285
Author: opencode <[email protected]>
AuthorDate: Wed Sep 30 16:37:47 2026 +0200

    Clamp the max-age value generated by the ExpiresFilter to a minimum of zero 
to avoid emitting the invalid negative delta-seconds value when the computed 
expiration time is already in the past
---
 java/org/apache/catalina/filters/ExpiresFilter.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/filters/ExpiresFilter.java 
b/java/org/apache/catalina/filters/ExpiresFilter.java
index fc30b91b37..9151e0882d 100644
--- a/java/org/apache/catalina/filters/ExpiresFilter.java
+++ b/java/org/apache/catalina/filters/ExpiresFilter.java
@@ -1547,7 +1547,12 @@ public class ExpiresFilter extends FilterBase {
                         Integer.valueOf(response.getStatus()), 
response.getContentType(), expirationDate));
             }
 
-            String maxAgeDirective = "max-age=" + ((expirationDate.getTime() - 
System.currentTimeMillis()) / 1000);
+            long maxAgeSeconds = (expirationDate.getTime() - 
System.currentTimeMillis()) / 1000;
+            if (maxAgeSeconds < 0) {
+                maxAgeSeconds = 0;
+            }
+
+            String maxAgeDirective = "max-age=" + maxAgeSeconds;
 
             String cacheControlHeader = response.getCacheControlHeader();
             String newCacheControlHeader =


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to