cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-22 Thread jfarcand
jfarcand2004/11/22 08:35:18

  Modified:catalina/src/share/org/apache/catalina/connector
CoyoteInputStream.java InputBuffer.java
OutputBuffer.java RequestFacade.java Response.java
ResponseFacade.java
   catalina/src/share/org/apache/catalina/core
ApplicationContextFacade.java
ApplicationDispatcher.java
ApplicationFilterChain.java StandardWrapper.java
   catalina/src/share/org/apache/catalina/security
SecurityUtil.java
   catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java StandardManager.java
StandardSession.java
  Log:
  Port patch from Tomcat 5.0: When the package protection is not used, do not 
create the doPrivileged objects .
  
  Revision  ChangesPath
  1.2   +6 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java
  
  Index: CoyoteInputStream.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CoyoteInputStream.java23 Jun 2004 08:24:57 -  1.1
  +++ CoyoteInputStream.java22 Nov 2004 16:35:17 -  1.2
  @@ -24,6 +24,7 @@
   
   import javax.servlet.ServletInputStream;
   
  +import org.apache.catalina.security.SecurityUtil;
   
   /**
* This class handles reading bytes.
  @@ -65,7 +66,7 @@
   
   public int read()
   throws IOException {
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   
   try{
   Integer result = 
  @@ -94,7 +95,7 @@
   
   public int available() throws IOException {
   
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   try{
   Integer result = 
   (Integer)AccessController.doPrivileged(
  @@ -122,7 +123,7 @@
   
   public int read(final byte[] b) throws IOException {
   
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   try{
   Integer result = 
   (Integer)AccessController.doPrivileged(
  @@ -153,7 +154,7 @@
   public int read(final byte[] b, final int off, final int len)
   throws IOException {
   
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   try{
   Integer result = 
   (Integer)AccessController.doPrivileged(
  @@ -193,7 +194,7 @@
*/
   public void close() throws IOException {
   
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   try{
   AccessController.doPrivileged(
   new PrivilegedExceptionAction(){
  
  
  
  1.4   +2 -1  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/InputBuffer.java
  
  Index: InputBuffer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/InputBuffer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- InputBuffer.java  29 Aug 2004 16:46:09 -  1.3
  +++ InputBuffer.java  22 Nov 2004 16:35:17 -  1.4
  @@ -23,6 +23,7 @@
   import java.security.PrivilegedExceptionAction;
   import java.util.HashMap;
   
  +import org.apache.catalina.security.SecurityUtil;
   import org.apache.coyote.Request;
   import org.apache.tomcat.util.buf.B2CConverter;
   import org.apache.tomcat.util.buf.ByteChunk;
  @@ -465,7 +466,7 @@
   enc = DEFAULT_ENCODING;
   conv = (B2CConverter) encoders.get(enc);
   if (conv == null) {
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   try{
   conv = (B2CConverter)AccessController.doPrivileged(
   new PrivilegedExceptionAction(){
  
  
  
  1.4   +2 -1  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
  
  Index: OutputBuffer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- OutputBuffer.java 25 

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-19 Thread Remy Maucherat
Jean-Francois Arcand wrote:
Actually, my next steps is to allows empty field in 
catalina.properties, which will disable the mechanism (next commit 
:-)). Right now you can only disable the mechanism by removing the 
catalina.properties or if you use the Embedded interfance.

By default I still want to keep Tomcat as secure as possible, but 
leave the door open for disabling the mechanism. As an example, when 
Tomcat gets benchmarked against other unsecure container with security 
turned on, people will think Tomcat is slower, which is not right.
I don't understand. This configuration will make security useless, so 
what's the point ? Why not just disable security if it's going to be 
useless ?

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-19 Thread Jean-Francois Arcand

Remy Maucherat wrote:
Jean-Francois Arcand wrote:
Actually, my next steps is to allows empty field in 
catalina.properties, which will disable the mechanism (next commit 
:-)). Right now you can only disable the mechanism by removing the 
catalina.properties or if you use the Embedded interfance.

By default I still want to keep Tomcat as secure as possible, but 
leave the door open for disabling the mechanism. As an example, when 
Tomcat gets benchmarked against other unsecure container with security 
turned on, people will think Tomcat is slower, which is not right.

I don't understand. This configuration will make security useless, so 
what's the point ? Why not just disable security if it's going to be 
useless ?
It's not useless. Normal permissions are still turned on. It's only the 
package protection that is disabled. When disabled, Tomcat 5 is as 
unsecure as Tomcat 4 in term of sniffing/loading classes, but still 
secure in term of browsing the file system etc.

-- Jeanfrancois

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-19 Thread Remy Maucherat
Jean-Francois Arcand wrote:
It's not useless. Normal permissions are still turned on. It's only 
the package protection that is disabled. When disabled, Tomcat 5 is as 
unsecure as Tomcat 4 in term of sniffing/loading classes, but still 
secure in term of browsing the file system etc.
Possibly. But I don't know what you can do with access to the Tomcat 
internals, and hacking the container is a bad security problem IMO. I 
don't see how you could want half assed security. Oh wait, there's 
Window$, so I guess there are takers ;)

BTW, Tomcat 4 did package protection.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-19 Thread Jean-Francois Arcand

Remy Maucherat wrote:
Jean-Francois Arcand wrote:
It's not useless. Normal permissions are still turned on. It's only 
the package protection that is disabled. When disabled, Tomcat 5 is as 
unsecure as Tomcat 4 in term of sniffing/loading classes, but still 
secure in term of browsing the file system etc.

Possibly. But I don't know what you can do with access to the Tomcat 
internals, and hacking the container is a bad security problem IMO. I 
don't see how you could want half assed security. Oh wait, there's 
Window$, so I guess there are takers ;)
LOL
BTW, Tomcat 4 did package protection.
Yes. I was meaning the improvement we did 2 years ago that ends up 
adding all thoses doPrivileged blocks as well as the catalina.properties 
list.

-- Jeanfrancois

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-18 Thread jfarcand
jfarcand2004/11/18 14:13:36

  Modified:catalina/src/share/org/apache/catalina/core Tag: TOMCAT_5_0
ApplicationContextFacade.java
ApplicationDispatcher.java
ApplicationFilterChain.java StandardWrapper.java
   catalina/src/share/org/apache/catalina/security Tag:
TOMCAT_5_0 SecurityUtil.java
   catalina/src/share/org/apache/catalina/session Tag:
TOMCAT_5_0 PersistentManagerBase.java
StandardManager.java StandardSession.java
  Log:
  When the package protection is not used, do not create the doPrivileged 
objects so we don't suffer the performance hit (15% faster with trade2 and this 
change). Also fixed a memory leak when security manager is turned on.
  
  Revision  ChangesPath
  No   revision
  No   revision
  1.10.2.3  +32 -25
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java
  
  Index: ApplicationContextFacade.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java,v
  retrieving revision 1.10.2.2
  retrieving revision 1.10.2.3
  diff -u -r1.10.2.2 -r1.10.2.3
  --- ApplicationContextFacade.java 1 Oct 2004 01:10:17 -   1.10.2.2
  +++ ApplicationContextFacade.java 18 Nov 2004 22:13:36 -  1.10.2.3
  @@ -35,6 +35,8 @@
   import javax.servlet.ServletContext;
   import javax.servlet.ServletException;
   
  +import org.apache.catalina.security.SecurityUtil;
  +
   
   /**
* Facade object which masks the internal codeApplicationContext/code
  @@ -118,7 +120,7 @@
   
   public ServletContext getContext(String uripath) {
   ServletContext theContext = null;
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   theContext = (ServletContext)
   doPrivileged(getContext, new Object[]{uripath});
   } else {
  @@ -143,7 +145,7 @@
   
   
   public String getMimeType(String file) {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (String)doPrivileged(getMimeType, new Object[]{file});
   } else {
   return context.getMimeType(file);
  @@ -152,7 +154,7 @@
   
   
   public Set getResourcePaths(String path) {
  -if (System.getSecurityManager() != null){
  +if (SecurityUtil.isPackageProtectionEnabled()){
   return (Set)doPrivileged(getResourcePaths, new Object[]{path});
   } else {
   return context.getResourcePaths(path);
  @@ -179,7 +181,7 @@
   
   
   public InputStream getResourceAsStream(String path) {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (InputStream) doPrivileged(getResourceAsStream, 
 new Object[]{path});
   } else {
  @@ -189,7 +191,7 @@
   
   
   public RequestDispatcher getRequestDispatcher(final String path) {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (RequestDispatcher) doPrivileged(getRequestDispatcher, 
   new Object[]{path});
   } else {
  @@ -199,7 +201,7 @@
   
   
   public RequestDispatcher getNamedDispatcher(String name) {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (RequestDispatcher) doPrivileged(getNamedDispatcher, 
   new Object[]{name});
   } else {
  @@ -210,7 +212,7 @@
   
   public Servlet getServlet(String name)
   throws ServletException {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   try {
   return (Servlet) invokeMethod(context, getServlet, 
 new Object[]{name});
  @@ -227,7 +229,7 @@
   
   
   public Enumeration getServlets() {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (Enumeration) doPrivileged(getServlets, null);
   } else {
   return context.getServlets();
  @@ -236,7 +238,7 @@
   
   
   public Enumeration getServletNames() {
  -if (System.getSecurityManager() != null) {
  +if (SecurityUtil.isPackageProtectionEnabled()) {
   return (Enumeration) doPrivileged(getServletNames, null);
   } else {
   return 

Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java

2004-11-18 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:
jfarcand2004/11/18 14:13:36
 Modified:catalina/src/share/org/apache/catalina/core Tag: TOMCAT_5_0
   ApplicationContextFacade.java
   ApplicationDispatcher.java
   ApplicationFilterChain.java StandardWrapper.java
  catalina/src/share/org/apache/catalina/security Tag:
   TOMCAT_5_0 SecurityUtil.java
  catalina/src/share/org/apache/catalina/session Tag:
   TOMCAT_5_0 PersistentManagerBase.java
   StandardManager.java StandardSession.java
 Log:
 When the package protection is not used, do not create the doPrivileged 
objects so we don't suffer the performance hit (15% faster with trade2 and this 
change). Also fixed a memory leak when security manager is turned on.
Fixing leaks is good :)
I have a question:
Can it ever happen that package access is disabled ? Tomcat is probably 
not secure without those checks. So what is the purpose of the change 
exactly ?

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2004-10-22 Thread luehe
luehe   2004/10/22 17:16:08

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Fixed cut-and-paste error in log error message
  
  Revision  ChangesPath
  1.22  +9 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- PersistentManagerBase.java7 Sep 2004 21:45:07 -   1.21
  +++ PersistentManagerBase.java23 Oct 2004 00:16:08 -  1.22
  @@ -645,7 +645,8 @@
   ids = (String[])AccessController.doPrivileged(new 
PrivilegedStoreKeys());
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log.error(Exception clearing the Store:  + exception);
  +log.error(Exception in the Store during load: 
  +  + exception);
   exception.printStackTrace();
   }
   } else {
  @@ -702,7 +703,8 @@
   AccessController.doPrivileged(new PrivilegedStoreRemove(id));
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log.error(Exception clearing the Store:  + exception);
  +log.error(Exception in the Store during removeSession: 
  +  + exception);
   exception.printStackTrace();
   }
   } else {
  @@ -769,7 +771,8 @@
   session = (Session) AccessController.doPrivileged(new 
PrivilegedStoreLoad(id));
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log.error(Exception clearing the Store:  + exception);
  +log.error(Exception in the Store during swapIn: 
  +  + exception);
   if (exception instanceof IOException){
   throw (IOException)exception;
   } else if (exception instanceof ClassNotFoundException) {
  @@ -849,7 +852,8 @@
   AccessController.doPrivileged(new PrivilegedStoreSave(session));
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log.error(Exception clearing the Store:  + exception);
  +log.error(Exception in the Store during writeSession: 
  +  + exception);
   exception.printStackTrace();
   }
   } else {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2004-09-07 Thread luehe
luehe   2004/09/07 14:11:26

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Added average time an expired session had been alive to set of monitorable session 
manager attributes
  
  Revision  ChangesPath
  1.20  +2 -6  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- PersistentManagerBase.java26 May 2004 16:14:04 -  1.19
  +++ PersistentManagerBase.java7 Sep 2004 21:11:26 -   1.20
  @@ -583,12 +583,8 @@
   Session sessions[] = findSessions();
   
   for (int i = 0; i  sessions.length; i++) {
  -StandardSession session = (StandardSession) sessions[i];
  -if (!session.isValid()) {
  -expiredSessions++;
  - }
  +sessions[i].isValid();
   }
  -
   }
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2004-02-06 Thread remm
remm2004/02/06 03:51:13

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  - Similar fix for the persistent manager.
  - Call endAccess after reading a session from storage so that the session
properly timeouts.
  
  Revision  ChangesPath
  1.17  +5 -4  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PersistentManagerBase.java26 Jan 2004 19:47:47 -  1.16
  +++ PersistentManagerBase.java6 Feb 2004 11:51:13 -   1.17
  @@ -874,6 +874,7 @@
   ((StandardSession)session).tellNew();
   add(session);
   ((StandardSession)session).activate();
  +session.endAccess();
   
   return (session);
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2004-01-05 Thread remm
remm2004/01/05 00:50:00

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  - Bug 25886: Remove the check on the maximum amount of active sessions
during session creation. The whole point of the persistent manager is that
excess sessions will be swaped out.
  
  Revision  ChangesPath
  1.15  +4 -27 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- PersistentManagerBase.java10 Dec 2003 23:00:36 -  1.14
  +++ PersistentManagerBase.java5 Jan 2004 08:50:00 -   1.15
  @@ -657,29 +657,6 @@
   
   
   /**
  - * Return a new session object as long as the number of active
  - * sessions does not exceed bmaxActiveSessions/b. If there
  - * aren't too many active sessions, or if there is no limit,
  - * a session is created or retrieved from the recycled pool.
  - *
  - * @exception IllegalStateException if a new session cannot be
  - *  instantiated for any reason
  - */
  -public Session createSession() {
  -
  -if ((maxActiveSessions = 0) 
  -(sessions.size() = maxActiveSessions)) {
  -rejectedSessions++;
  -throw new IllegalStateException
  -(sm.getString(standardManager.createSession.ise));
  -}
  -
  -return (super.createSession());
  -
  -}
  -
  -
  -/**
* Return the active Session, associated with this Manager, with the
* specified session id (if any); otherwise return codenull/code.
* This method checks the persistence store if persistence is enabled,
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java mbeans-descriptors.xml

2003-12-10 Thread remm
remm2003/12/10 15:00:36

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java StandardManager.java
mbeans-descriptors.xml
  Log:
  - Cleanups in the managers. (but I didn't test it)
  - Thanks to Amy for looking in PersistentManager.
  - Add JMX declaration for PersistentManager. Was it really not there ?
  - Copy over the useful stats from StandardManager.
  
  Revision  ChangesPath
  1.14  +90 -31
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PersistentManagerBase.java14 Nov 2003 10:30:29 -  1.13
  +++ PersistentManagerBase.java10 Dec 2003 23:00:36 -  1.14
  @@ -103,7 +103,8 @@
   private static Log log = LogFactory.getLog(PersistentManagerBase.class);
   
   //  Security Classes
  - private class PrivilegedStoreClear
  +
  +private class PrivilegedStoreClear
   implements PrivilegedExceptionAction {
   
   PrivilegedStoreClear() {
  @@ -115,7 +116,7 @@
   }   
   }   

  - private class PrivilegedStoreRemove
  +private class PrivilegedStoreRemove
   implements PrivilegedExceptionAction {
   
   private String id;
  @@ -168,7 +169,8 @@
   public Object run() throws Exception{
  return store.keys();
   }   
  -}   
  +}
  +
   // - Instance Variables
   
   
  @@ -187,39 +189,39 @@
   /**
* The maximum number of active Sessions allowed, or -1 for no limit.
*/
  -private int maxActiveSessions = -1;
  +protected int maxActiveSessions = -1;
   
   
   /**
* The descriptive name of this Manager implementation (for logging).
*/
  -protected static String name = PersistentManagerBase;
  +private static String name = PersistentManagerBase;
   
   
   /**
* Has this component been started yet?
*/
  -private boolean started = false;
  +protected boolean started = false;
   
   
   /**
* Store object which will manage the Session store.
*/
  -private Store store = null;
  +protected Store store = null;
   
   
   /**
* Whether to save and reload sessions when the Manager codeunload/code
* and codeload/code methods are called.
*/
  -private boolean saveOnRestart = true;
  +protected boolean saveOnRestart = true;
   
   
   /**
* How long a session must be idle before it should be backed up.
* -1 means sessions won't be backed up.
*/
  -private int maxIdleBackup = -1;
  +protected int maxIdleBackup = -1;
   
   
   /**
  @@ -227,30 +229,57 @@
* This overrides maxActiveSessions, to prevent thrashing if there are lots
* of active sessions. Setting to -1 means it's ignored.
*/
  -private int minIdleSwap = -1;
  +protected int minIdleSwap = -1;
   
   /**
* The maximum time a session may be idle before it should be swapped
* to file just on general principle. Setting this to -1 means sessions
* should not be forced out.
*/
  -private int maxIdleSwap = -1;
  +protected int maxIdleSwap = -1;
  +
  +
  +/**
  + * Number of session creations that failed due to maxActiveSessions.
  + */
  +protected int rejectedSessions = 0;
  +
  +
  +/**
  + * Number of sessions that expired.
  + */
  +protected int expiredSessions = 0;
  +
  +
  +/**
  + * Processing time during session expiration and passivation.
  + */
  +protected long processingTime = 0;
   
   
   // - Properties
   
  -/**
  +
  +/**
* Perform the background processes for this Manager
*/
   public void backgroundProcess() {
  +
  +long timeNow = System.currentTimeMillis();
  +
   this.processExpires();
   this.processPersistenceChecks();
   if ((this.getStore() != null)
(this.getStore() instanceof StoreBase)) {
   ((StoreBase) this.getStore()).processExpires();
   }
  +
  +long timeEnd = System.currentTimeMillis();
  +processingTime += ( timeEnd - timeNow );
  +
   }
   
  +
   /**
* Indicates how many seconds old a session can get, after its last
* use in a request, before it should be backed up to the 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2003-11-14 Thread remm
remm2003/11/14 02:30:29

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  - Fix unhandled exception (bug 24368).
  - Patch submitted by Mark Thomas.
  
  Revision  ChangesPath
  1.13  +9 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PersistentManagerBase.java13 Nov 2003 22:56:27 -  1.12
  +++ PersistentManagerBase.java14 Nov 2003 10:30:29 -  1.13
  @@ -574,7 +574,11 @@
   for (int i = 0; i  sessions.length; i++) {
   StandardSession session = (StandardSession) sessions[i];
   if (!session.isValid()) {
  -session.expire();
  +try {
  +session.expire();
  +} catch (Throwable t) {
  +;
  +}
}
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2003-11-13 Thread jfarcand
jfarcand2003/11/13 14:56:27

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Return the object instead of a null. Throw the proper exception. Cut/Paste should 
not exists
  
  Revision  ChangesPath
  1.12  +10 -7 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- PersistentManagerBase.java8 Sep 2003 15:25:18 -   1.11
  +++ PersistentManagerBase.java13 Nov 2003 22:56:27 -  1.12
  @@ -140,8 +140,7 @@
   }
   
   public Object run() throws Exception{
  -   store.load(id);
  -   return null;
  +   return store.load(id);
   }   
   }   
 
  @@ -802,7 +801,11 @@
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
   log.error(Exception clearing the Store:  + exception);
  -exception.printStackTrace();
  +if (exception instanceof IOException){
  +throw (IOException)exception;
  +} else if (exception instanceof ClassNotFoundException) {
  +throw (ClassNotFoundException)exception;
  +}
   }
   } else {
session = store.load(id);
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2003-09-08 Thread jfarcand
jfarcand2003/09/08 08:25:18

  Modified:catalina/src/share/org/apache/catalina/core
StandardContext.java
   catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Minor refactoring. Easier to overload the behaviour when extending the class.
  
  Revision  ChangesPath
  1.89  +2 -7  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.88
  retrieving revision 1.89
  diff -u -r1.88 -r1.89
  --- StandardContext.java  2 Sep 2003 21:22:04 -   1.88
  +++ StandardContext.java  8 Sep 2003 15:25:18 -   1.89
  @@ -4397,12 +4397,7 @@
   } else if (getManager() instanceof PersistentManagerBase) {
   PersistentManagerBase pManager = 
   (PersistentManagerBase) getManager();
  -pManager.processExpires();
  -pManager.processPersistenceChecks();
  -if ((pManager.getStore() != null) 
  - (pManager.getStore() instanceof StoreBase)) {
  -((StoreBase) pManager.getStore()).processExpires();
  -}
  +pManager.backgroundProcess();
   }
   }
   
  
  
  
  1.11  +15 -4 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PersistentManagerBase.java20 Aug 2003 08:20:41 -  1.10
  +++ PersistentManagerBase.java8 Sep 2003 15:25:18 -   1.11
  @@ -240,6 +240,17 @@
   
   // - Properties
   
  +/**
  + * Perform the background processes for this Manager
  + */
  +public void backgroundProcess() {
  +this.processExpires();
  +this.processPersistenceChecks();
  +if ((this.getStore() != null)
  + (this.getStore() instanceof StoreBase)) {
  +((StoreBase) this.getStore()).processExpires();
  +}
  +}
   
   /**
* Indicates how many seconds old a session can get, after its last
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2003-08-20 Thread remm
remm2003/08/20 01:20:41

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  - Similar to StoreBase, do not use a per component thread.
  
  Revision  ChangesPath
  1.10  +28 -158   
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- PersistentManagerBase.java19 Aug 2003 00:49:58 -  1.9
  +++ PersistentManagerBase.java20 Aug 2003 08:20:41 -  1.10
  @@ -98,8 +98,8 @@
   
   public abstract class PersistentManagerBase
   extends ManagerBase
  -implements Lifecycle, PropertyChangeListener, Runnable
  - {
  +implements Lifecycle, PropertyChangeListener {
  +
   private static Log log = LogFactory.getLog(PersistentManagerBase.class);
   
   //  Security Classes
  @@ -174,12 +174,6 @@
   
   
   /**
  - * The interval (in seconds) between checks for expired sessions.
  - */
  -private int checkInterval = 60;
  -
  -
  -/**
* The descriptive information about this implementation.
*/
   private static final String info = PersistentManagerBase/1.0;
  @@ -210,24 +204,6 @@
   
   
   /**
  - * The background thread.
  - */
  -private Thread thread = null;
  -
  -
  -/**
  - * The background thread completion semaphore.
  - */
  -protected boolean threadDone = false;
  -
  -
  -/**
  - * Name to register for the background thread.
  - */
  -private String threadName = PersistentManagerBase;
  -
  -
  -/**
* Store object which will manage the Session store.
*/
   private Store store = null;
  @@ -266,33 +242,6 @@
   
   
   /**
  - * Return the check interval (in seconds) for this Manager.
  - */
  -public int getCheckInterval() {
  -
  -return (this.checkInterval);
  -
  -}
  -
  -
  -/**
  - * Set the check interval (in seconds) for this Manager.
  - *
  - * @param checkInterval The new check interval
  - */
  -public void setCheckInterval(int checkInterval) {
  -
  -int oldCheckInterval = this.checkInterval;
  -this.checkInterval = checkInterval;
  -support.firePropertyChange(checkInterval,
  -   new Integer(oldCheckInterval),
  -   new Integer(this.checkInterval));
  -
  -}
  -
  -
  -
  -/**
* Indicates how many seconds old a session can get, after its last
* use in a request, before it should be backed up to the store. -1
* means sessions are not backed up.
  @@ -602,6 +551,27 @@
   
   
   /**
  + * Invalidate all sessions that have expired.
  + */
  +public void processExpires() {
  +
  +if (!started)
  +return;
  +
  +long timeNow = System.currentTimeMillis();
  +Session sessions[] = findSessions();
  +
  +for (int i = 0; i  sessions.length; i++) {
  +StandardSession session = (StandardSession) sessions[i];
  +if (!session.isValid()) {
  +session.expire();
  + }
  +}
  +
  +}
  +
  +
  +/**
* Called by the background thread after active sessions have
* been checked for expiration, to allow sessions to be
* swapped out, backed up, etc.
  @@ -981,9 +951,6 @@
   else if (store instanceof Lifecycle)
   ((Lifecycle)store).start();
   
  -// Start the background reaper thread
  -threadStart();
  -
   }
   
   
  @@ -1009,9 +976,6 @@
   lifecycle.fireLifecycleEvent(STOP_EVENT, null);
   setStarted(false);
   
  -// Stop the background reaper thread
  -threadStop();
  -
   if (getStore() != null  saveOnRestart) {
   unload();
   } else {
  @@ -1033,7 +997,7 @@
   
   if( initialized )
   destroy();
  -
  +
   }
   
   
  @@ -1070,27 +1034,6 @@
   
   
   /**
  - * Invalidate all sessions that have expired.
  - */
  -protected void processExpires() {
  -
  -if (!started)
  -return;
  -
  -long timeNow = System.currentTimeMillis();
  -Session sessions[] = findSessions();
  -
  -for (int i = 0; i  sessions.length; i++) {
  -StandardSession session = (StandardSession) sessions[i];
  -if (!session.isValid()) {
  -session.expire();
  - }
  -}
  -
  -}
  -
  -
  -/**
* Swap idle sessions out to Store 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardManager.java StandardSession.java StoreBase.java

2003-08-18 Thread luehe
luehe   2003/08/18 17:49:58

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java StandardManager.java
StandardSession.java StoreBase.java
  Log:
  Fixed Bugtraq 4839736 (HttpSession.setMaxInactiveInterval() doesn't
  behave as expected)
  
  Patch provided by [EMAIL PROTECTED]
  
  The following test case used to fail intermittently, due to a race
  condition between the 2nd session access and the background thread
  that invalidates expired sessions:
  
HttpSession session1 = req.getSession();
session1.setMaxInactiveInterval(5);
try {
  Thread.sleep(10 * 1000);
} catch (InterruptedException e) { e.printStackTrace(); }
  
HttpSession session2 = req.getSession(false);
if (session2 == null) {
  // SUCCESS
} else {
  // FAIL!!
}
  
  Revision  ChangesPath
  1.9   +11 -36
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PersistentManagerBase.java8 Jul 2003 06:28:02 -   1.8
  +++ PersistentManagerBase.java19 Aug 2003 00:49:58 -  1.9
  @@ -835,8 +835,7 @@
   if (session == null)
   return (null);
   
  -if (!session.isValid()
  -|| isSessionStale(session, System.currentTimeMillis())) {
  +if (!session.isValid()) {
   log.error(session swapped in is invalid or expired);
   session.expire();
   removeSession(id);
  @@ -867,10 +866,9 @@
*/
   protected void swapOut(Session session) throws IOException {
   
  -if (store == null ||
  -!session.isValid() ||
  -isSessionStale(session, System.currentTimeMillis()))
  +if (store == null || !session.isValid()) {
   return;
  +}
   
   ((StandardSession)session).passivate();
   writeSession(session);
  @@ -887,10 +885,9 @@
*/
   protected void writeSession(Session session) throws IOException {
   
  -if (store == null ||
  -!session.isValid() ||
  -isSessionStale(session, System.currentTimeMillis()))
  +if (store == null || !session.isValid()) {
   return;
  +}
   
   try {
   if (System.getSecurityManager() != null){
  @@ -1073,27 +1070,6 @@
   
   
   /**
  - * Indicate whether the session has been idle for longer
  - * than its expiration date as of the supplied time.
  - *
  - * FIXME: Probably belongs in the Session class.
  - */
  -protected boolean isSessionStale(Session session, long timeNow) {
  -
  -int maxInactiveInterval = session.getMaxInactiveInterval();
  -if (maxInactiveInterval = 0) {
  -int timeIdle = // Truncate, do not round up
  -(int) ((timeNow - session.getLastAccessedTime()) / 1000L);
  -if (timeIdle = maxInactiveInterval)
  -return true;
  -}
  -
  -return false;
  -
  -}
  -
  -
  -/**
* Invalidate all sessions that have expired.
*/
   protected void processExpires() {
  @@ -1106,10 +1082,9 @@
   
   for (int i = 0; i  sessions.length; i++) {
   StandardSession session = (StandardSession) sessions[i];
  -if (!session.isValid())
  -continue;
  -if (isSessionStale(session, timeNow))
  +if (!session.isValid()) {
   session.expire();
  + }
   }
   
   }
  
  
  
  1.11  +5 -12 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- StandardManager.java  8 Jul 2003 06:28:02 -   1.10
  +++ StandardManager.java  19 Aug 2003 00:49:58 -  1.11
  @@ -813,14 +813,7 @@
   
   for (int i = 0; i  sessions.length; i++) {
   StandardSession session = (StandardSession) sessions[i];
  -if (!session.isValid())
  -continue;
  -int maxInactiveInterval = session.getMaxInactiveInterval();
  -if (maxInactiveInterval  0)
  -continue;
  -int timeIdle = // Truncate, do not round up
  -(int) ((timeNow - session.getLastAccessedTime()) / 1000L);

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2003-03-17 Thread costin
costin  2003/03/17 11:25:11

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Registration ( call super ).
  
  commons-logging
  
  Revision  ChangesPath
  1.7   +60 -59
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- PersistentManagerBase.java12 Dec 2002 15:11:53 -  1.6
  +++ PersistentManagerBase.java17 Mar 2003 19:25:11 -  1.7
  @@ -66,27 +66,20 @@
   
   import java.beans.PropertyChangeEvent;
   import java.beans.PropertyChangeListener;
  -import java.beans.PropertyChangeSupport;
   import java.io.IOException;
   import java.security.AccessController;
  -import java.security.PrivilegedAction;
  -import java.security.PrivilegedExceptionAction;
   import java.security.PrivilegedActionException;
  -import java.util.ArrayList;
  -import java.util.Iterator;
  -import javax.servlet.ServletContext;
  +import java.security.PrivilegedExceptionAction;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  -import org.apache.catalina.Globals;
   import org.apache.catalina.Lifecycle;
  -import org.apache.catalina.LifecycleEvent;
   import org.apache.catalina.LifecycleException;
   import org.apache.catalina.LifecycleListener;
  -import org.apache.catalina.Loader;
  -import org.apache.catalina.Manager;
   import org.apache.catalina.Session;
   import org.apache.catalina.Store;
   import org.apache.catalina.util.LifecycleSupport;
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   
   
   /**
  @@ -105,7 +98,9 @@
   
   public abstract class PersistentManagerBase
   extends ManagerBase
  -implements Lifecycle, PropertyChangeListener, Runnable {
  +implements Lifecycle, PropertyChangeListener, Runnable
  + {
  +private static Log log = LogFactory.getLog(PersistentManagerBase.class);
   
   //  Security Classes
private class PrivilegedStoreClear
  @@ -452,7 +447,7 @@
   if ( super.findSession(id) != null )
   return true;
   } catch (IOException e) {
  -log(checking isLoaded for id,  + id + , +e.getMessage(), e);
  +log.error(checking isLoaded for id,  + id + , +e.getMessage(), e);
   }
   return false;
   }
  @@ -592,14 +587,14 @@
   AccessController.doPrivileged(new PrivilegedStoreClear());
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log(Exception clearing the Store:  + exception);
  +log.error(Exception clearing the Store:  + exception);
   exception.printStackTrace();
   }
   } else {
   store.clear();
   }
   } catch (IOException e) {
  -log(Exception clearing the Store:  + e);
  +log.error(Exception clearing the Store:  + e);
   e.printStackTrace();
   }
   
  @@ -702,14 +697,14 @@
   ids = (String[])AccessController.doPrivileged(new 
PrivilegedStoreKeys());
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
  -log(Exception clearing the Store:  + exception);
  +log.error(Exception clearing the Store:  + exception);
   exception.printStackTrace();
   }
   } else {
   ids = store.keys();
   }
   } catch (IOException e) {
  -log(Can't load sessions from store,  + e.getMessage(), e);
  +log.error(Can't load sessions from store,  + e.getMessage(), e);
   return;
   }
   
  @@ -717,14 +712,14 @@
   if (n == 0)
   return;
   
  -if (debug = 1)
  -log(sm.getString(persistentManager.loading, String.valueOf(n)));
  +if (log.isDebugEnabled())
  +log.debug(sm.getString(persistentManager.loading, String.valueOf(n)));
   
   for (int i = 0; i  n; i++)
   try {
   swapIn(ids[i]);
   } catch (IOException e) {
  -log(Failed load session from store,  + e.getMessage(), e);
  +log.error(Failed load session from store,  + e.getMessage(), e);
   }
   
   }
  @@ -759,14 +754,14 @@
   

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StandardSession.java

2002-12-12 Thread jfclere
jfclere 2002/12/12 07:11:53

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java StandardSession.java
  Log:
  Calling session.setId() was removing the session from the store.
  
  Revision  ChangesPath
  1.6   +6 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PersistentManagerBase.java9 Dec 2002 15:57:43 -   1.5
  +++ PersistentManagerBase.java12 Dec 2002 15:11:53 -  1.6
  @@ -853,7 +853,8 @@
   log(sm.getString(persistentManager.swapIn, id));
   
   session.setManager(this);
  -session.setId(id); // To make sure the listener knows about it.
  +// make sure the listeners know about it.
  +((StandardSession)session).tellNew();
   add(session);
   ((StandardSession)session).activate();
   
  
  
  
  1.8   +13 -4 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java
  
  Index: StandardSession.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- StandardSession.java  5 Dec 2002 13:52:51 -   1.7
  +++ StandardSession.java  12 Dec 2002 15:11:53 -  1.8
  @@ -373,6 +373,15 @@
   
   if (manager != null)
   manager.add(this);
  +tellNew();
  +}
  +
  +
  +/**
  + * Inform the listeners about the new session.
  + *
  + */
  +public void tellNew() {
   
   // Notify interested session event listeners
   fireSessionEvent(Session.SESSION_CREATED_EVENT, null);
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java

2002-11-25 Thread jfarcand
jfarcand2002/11/25 11:58:34

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java
  Log:
  Fix a mistake introduced by myself when adding the doPrivileged block.
  
  Revision  ChangesPath
  1.4   +6 -6  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PersistentManagerBase.java18 Oct 2002 21:39:57 -  1.3
  +++ PersistentManagerBase.java25 Nov 2002 19:58:34 -  1.4
  @@ -814,14 +814,14 @@
   try {
   if (System.getSecurityManager() != null){
   try{
  -AccessController.doPrivileged(new PrivilegedStoreLoad(id));
  +session = (Session) AccessController.doPrivileged(new 
PrivilegedStoreLoad(id));
   }catch(PrivilegedActionException ex){
   Exception exception = ex.getException();
   log(Exception clearing the Store:  + exception);
   exception.printStackTrace();
   }
   } else {
  - store.load(id);
  + session = store.load(id);
   }   
   } catch (ClassNotFoundException e) {
   log(sm.getString(persistentManager.deserializeError, id, e));
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session PersistentManagerBase.java StoreBase.java

2002-08-27 Thread bobh

bobh2002/08/27 12:11:20

  Modified:catalina/src/share/org/apache/catalina/session
PersistentManagerBase.java StoreBase.java
  Log:
  This is a fix for bug 5507.
  
  Revision  ChangesPath
  1.2   +24 -4 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
  
  Index: PersistentManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PersistentManagerBase.java18 Jul 2002 16:47:53 -  1.1
  +++ PersistentManagerBase.java27 Aug 2002 19:11:20 -  1.2
  @@ -377,6 +377,26 @@
   
   
   /**
  + * Return true, if the session id is loaded in memory
  + * otherwise false is returned
  + *
  + * @param id The session id for the session to be searched for
  + *
  + * @exception IOException if an input/output error occurs while
  + *  processing this request
  + */
  +public boolean isLoaded( String id ){
  +try {
  +if ( super.findSession(id) != null )
  +return true;
  +} catch (IOException e) {
  +log(checking isLoaded for id,  + id + , +e.getMessage(), e);
  +}
  +return false;
  +}
  +
  +
  +/**
* Return the maximum number of active Sessions allowed, or -1 for
* no limit.
*/
  
  
  
  1.2   +11 -5 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StoreBase.java
  
  Index: StoreBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StoreBase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StoreBase.java18 Jul 2002 16:47:53 -  1.1
  +++ StoreBase.java27 Aug 2002 19:11:20 -  1.2
  @@ -313,7 +313,13 @@
   int timeIdle = // Truncate, do not round up
   (int) ((timeNow - session.getLastAccessedTime()) / 1000L);
   if (timeIdle = maxInactiveInterval) {
  -session.expire();
  +if ( ( (PersistentManagerBase) manager).isLoaded( keys[i] )) {
  +// recycle old backup session
  +   session.recycle();
  +} else {
  +// expire swapped out session
  +session.expire();
  +}
   remove(session.getId());
   }
   } catch (IOException e) {
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]