This is an automated email from the ASF dual-hosted git repository.
markt-asf pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push:
new 67966e05cb Follow-up "Avoid some scenarios of expiration of never
expire sessions"
67966e05cb is described below
commit 67966e05cb89c995c85403b8e32d5c6a2b5bda3f
Author: Mark Thomas <[email protected]>
AuthorDate: Fri Aug 28 14:11:43 2026 +0100
Follow-up "Avoid some scenarios of expiration of never expire sessions"
getMaxInactiveInterval == 0 is documented as never expire.
---
java/org/apache/catalina/session/DataSourceStore.java | 2 +-
java/org/apache/catalina/session/StoreBase.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/java/org/apache/catalina/session/DataSourceStore.java
b/java/org/apache/catalina/session/DataSourceStore.java
index ee7e9cbaac..8e87813977 100644
--- a/java/org/apache/catalina/session/DataSourceStore.java
+++ b/java/org/apache/catalina/session/DataSourceStore.java
@@ -356,7 +356,7 @@ public class DataSourceStore extends StoreBase {
private String[] keys(boolean expiredOnly) throws IOException {
String sqlTmp = "SELECT " + sessionIdCol + " FROM " + sessionTable + "
WHERE " + sessionAppCol + " = ?";
if (expiredOnly) {
- sqlTmp += " AND " + sessionMaxInactiveCol + " >= 0";
+ sqlTmp += " AND " + sessionMaxInactiveCol + " > 0";
sqlTmp += " AND (" + sessionLastAccessedCol + " + " +
sessionMaxInactiveCol + " * 1000 < ?)";
}
final String keysSql = sqlTmp;
diff --git a/java/org/apache/catalina/session/StoreBase.java
b/java/org/apache/catalina/session/StoreBase.java
index 373594d6f5..190808d35a 100644
--- a/java/org/apache/catalina/session/StoreBase.java
+++ b/java/org/apache/catalina/session/StoreBase.java
@@ -161,7 +161,7 @@ public abstract class StoreBase extends LifecycleBase
implements Store {
}
int timeIdle = (int) ((timeNow -
session.getThisAccessedTime()) / 1000L);
int maxInactive = session.getMaxInactiveInterval();
- if (maxInactive < 0 || timeIdle < maxInactive) {
+ if (maxInactive <= 0 || timeIdle < maxInactive) {
continue;
}
if (manager.getContext().getLogger().isTraceEnabled()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]