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

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

commit 30fb66d99f44257fc6a6ccd8648dbc9714eac790
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 89f73bf376..04f41e5985 100644
--- a/java/org/apache/catalina/filters/ExpiresFilter.java
+++ b/java/org/apache/catalina/filters/ExpiresFilter.java
@@ -1602,7 +1602,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