This is an automated email from the ASF dual-hosted git repository.
markt-asf pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 09e358fc5c Follow-up "Avoid some scenarios of expiration of never
expire sessions"
09e358fc5c is described below
commit 09e358fc5c95e4b54778cdfa9219fc67f9a19583
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 c3dae78c41..0f9a7965df 100644
--- a/java/org/apache/catalina/session/DataSourceStore.java
+++ b/java/org/apache/catalina/session/DataSourceStore.java
@@ -74,7 +74,7 @@ public class DataSourceStore extends JDBCStore {
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 ee5a7d9dc5..056c08ebad 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]