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

2003-02-06 Thread costin
costin  2003/02/06 15:01:41

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Another backport from head: more informations about the session creation (to
  be exposed via JMX or used directly ).
  
  This is very usefull in debugging and in finding out what happens in production
  servers.
  
  Revision  ChangesPath
  1.18  +115 -8
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ManagerBase.java  1 Jan 2003 06:24:26 -   1.17
  +++ ManagerBase.java  6 Feb 2003 23:01:41 -   1.18
  @@ -73,6 +73,9 @@
   import java.util.ArrayList;
   import java.util.HashMap;
   import java.util.Random;
  +import java.util.Iterator;
  +import java.util.Date;
  +
   import org.apache.catalina.Container;
   import org.apache.catalina.DefaultContext;
   import org.apache.catalina.Engine;
  @@ -135,8 +138,8 @@
* The DefaultContext with which this Manager is associated.
*/
   protected DefaultContext defaultContext = null;
  -
  -
  +
  +
   /**
* Return the MessageDigest implementation to be used when
* creating session identifiers.
  @@ -203,6 +206,14 @@
*/
   protected HashMap sessions = new HashMap();
   
  +// Total number of sessions created by this manager
  +protected int sessionCounter=0;
  +
  +protected int maxActive=0;
  +
  +// number of duplicated session ids - anything 0 means we have problems
  +protected int duplicates=0;
  +
   
   /**
* The string manager for this package.
  @@ -290,8 +301,8 @@
   support.firePropertyChange(defaultContext, oldDefaultContext, 
this.defaultContext);
   
   }
  -
  -
  +
  +
   /**
* Return the debugging detail level for this component.
*/
  @@ -530,6 +541,9 @@
   
   synchronized (sessions) {
   sessions.put(session.getId(), session);
  +if( sessions.size()  maxActive ) {
  +maxActive=sessions.size();
  +}
   }
   
   }
  @@ -588,6 +602,7 @@
   synchronized (sessions) {
   while (sessions.get(sessionId) != null){ // Guarantee uniqueness
   sessionId = generateSessionId();
  +duplicates++;
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
  @@ -596,6 +611,7 @@
   }
   
   session.setId(sessionId);
  +sessionCounter++;
   
   return (session);
   
  @@ -795,5 +811,96 @@
   
   }
   
  +public void setSessionCounter(int sessionCounter) {
  +this.sessionCounter = sessionCounter;
  +}
  +
  +/** Total sessions created by this manager.
  + *
  + * @return sessions created
  + */
  +public int getSessionCounter() {
  +return sessionCounter;
  +}
  +
  +/** Number of duplicated session IDs generated by the random source.
  + *  Anything bigger than 0 means problems.
  + *
  + * @return
  + */
  +public int getDuplicates() {
  +return duplicates;
  +}
  +
  +public void setDuplicates(int duplicates) {
  +this.duplicates = duplicates;
  +}
  +
  +/** Returns the number of active sessions
  + *
  + * @return number of sessions active
  + */
  +public int getActiveSessions() {
  +return sessions.size();
  +}
  +
  +/** Max number of concurent active sessions
  + *
  + * @return
  + */
  +public int getMaxActive() {
  +return maxActive;
  +}
  +
  +public void setMaxActive(int maxActive) {
  +this.maxActive = maxActive;
  +}
  +
  +/** For debugging: return a list of all session ids currently active
  + *
  + */
  +public String listSessionIds() {
  +StringBuffer sb=new StringBuffer();
  +Iterator keys=sessions.keySet().iterator();
  +while( keys.hasNext() ) {
  +sb.append(keys.next()).append( );
  +}
  +return sb.toString();
  +}
  +
  +/** For debugging: get a session attribute
  + *
  + * @param sessionId
  + * @param key
  + * @return
  + */
  +public String getSessionAttribute( String sessionId, String key ) {
  +Session s=(Session)sessions.get(sessionId);
  +if( s==null ) {
  +log(Session not found  + sessionId);
  +return null;
  +}
  +Object o=s.getSession().getAttribute(key);
  +if( o==null ) return null;
  +return 

Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java

2002-12-31 Thread Phil Steitz
[EMAIL PROTECTED] wrote:

billbarker2002/12/30 19:45:48

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Make certain that the jvmRoute is attached to the session before comparing for uniqueness.
  
  Submitted by: Glenn Olander [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.16  +15 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ManagerBase.java	30 Dec 2002 02:36:26 -	1.15
  +++ ManagerBase.java	31 Dec 2002 03:45:48 -	1.16
  @@ -580,17 +580,23 @@
   session.setMaxInactiveInterval(this.maxInactiveInterval);
   String sessionId = generateSessionId();
   
  -synchronized (sessions) {
  -while (sessions.get(sessionId) != null)// Guarantee uniqueness
  -sessionId = generateSessionId();
  -}
  -
   String jvmRoute = getJvmRoute();
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
   session.setId(sessionId);
   }
  +synchronized (sessions) {
  +while (sessions.get(sessionId) != null){ // Guarantee uniqueness
  +sessionId = generateSessionId();
  +// @todo Move appending of jvmRoute generateSessionId()???
  +if (jvmRoute != null) {
  +sessionId += '.' + jvmRoute;
  +session.setId(sessionId);
  +}
  +}
  +}
  +
   session.setId(sessionId);
   
   return (session);
  
  
  

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



Seems to me that all but the last setID(sessionID) in the code above 
should be removed.  The session ID should not be set until a unique id 
has been found. I have attached a patch against the current head 
removing the lines to be deleted.  Unless I am missing something, there 
is no point in making these calls -- and from looking at what setID 
does, there could be some undesirable side effects.

-Phil
Index: ManagerBase.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
retrieving revision 1.16
diff -u -r1.16 ManagerBase.java
--- ManagerBase.java31 Dec 2002 03:45:48 -  1.16
+++ ManagerBase.java1 Jan 2003 00:37:30 -
@@ -584,7 +584,6 @@
 // @todo Move appending of jvmRoute generateSessionId()???
 if (jvmRoute != null) {
 sessionId += '.' + jvmRoute;
-session.setId(sessionId);
 }
 synchronized (sessions) {
 while (sessions.get(sessionId) != null){ // Guarantee uniqueness
@@ -592,7 +591,6 @@
 // @todo Move appending of jvmRoute generateSessionId()???
 if (jvmRoute != null) {
 sessionId += '.' + jvmRoute;
-session.setId(sessionId);
 }
 }
 }


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


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

2002-12-31 Thread billbarker
billbarker2002/12/31 22:24:26

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Set the sessionId property only once.
  
  It seems that this is an issue for the community, so let's get it right.
  
  Submitted by: Phil Steitz [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.17  +4 -6  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- ManagerBase.java  31 Dec 2002 03:45:48 -  1.16
  +++ ManagerBase.java  1 Jan 2003 06:24:26 -   1.17
  @@ -584,7 +584,6 @@
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
  -session.setId(sessionId);
   }
   synchronized (sessions) {
   while (sessions.get(sessionId) != null){ // Guarantee uniqueness
  @@ -592,7 +591,6 @@
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
  -session.setId(sessionId);
   }
   }
   }
  
  
  

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




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

2002-12-30 Thread billbarker
billbarker2002/12/30 19:45:48

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Make certain that the jvmRoute is attached to the session before comparing for 
uniqueness.
  
  Submitted by: Glenn Olander [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.16  +15 -9 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ManagerBase.java  30 Dec 2002 02:36:26 -  1.15
  +++ ManagerBase.java  31 Dec 2002 03:45:48 -  1.16
  @@ -580,17 +580,23 @@
   session.setMaxInactiveInterval(this.maxInactiveInterval);
   String sessionId = generateSessionId();
   
  -synchronized (sessions) {
  -while (sessions.get(sessionId) != null)// Guarantee uniqueness
  -sessionId = generateSessionId();
  -}
  -
   String jvmRoute = getJvmRoute();
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
   session.setId(sessionId);
   }
  +synchronized (sessions) {
  +while (sessions.get(sessionId) != null){ // Guarantee uniqueness
  +sessionId = generateSessionId();
  +// @todo Move appending of jvmRoute generateSessionId()???
  +if (jvmRoute != null) {
  +sessionId += '.' + jvmRoute;
  +session.setId(sessionId);
  +}
  +}
  +}
  +
   session.setId(sessionId);
   
   return (session);
  
  
  

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




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

2002-12-29 Thread billbarker
billbarker2002/12/29 18:36:26

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Re-enable the unique session-id logic.
  
  Submitted By: Tim Funk [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.15  +10 -10
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ManagerBase.java  10 Dec 2002 13:33:22 -  1.14
  +++ ManagerBase.java  30 Dec 2002 02:36:26 -  1.15
  @@ -579,18 +579,18 @@
   session.setCreationTime(System.currentTimeMillis());
   session.setMaxInactiveInterval(this.maxInactiveInterval);
   String sessionId = generateSessionId();
  +
  +synchronized (sessions) {
  +while (sessions.get(sessionId) != null)// Guarantee uniqueness
  +sessionId = generateSessionId();
  +}
  +
   String jvmRoute = getJvmRoute();
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
   session.setId(sessionId);
   }
  -/*
  -synchronized (sessions) {
  -while (sessions.get(sessionId) != null)// Guarantee uniqueness
  -sessionId = generateSessionId();
  -}
  -*/
   session.setId(sessionId);
   
   return (session);
  
  
  

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




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

2002-12-10 Thread remm
remm2002/12/10 05:33:22

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  - Part of the manager patch wasn't reverted (I don't know if it's a problem or not
in the real world; just playing it safe).
  
  Revision  ChangesPath
  1.14  +13 -23
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ManagerBase.java  30 Nov 2002 12:43:14 -  1.13
  +++ ManagerBase.java  10 Dec 2002 13:33:22 -  1.14
  @@ -560,7 +560,18 @@
   public Session createSession() {
   
   // Recycle or create a Session instance
  -Session session = createEmptySession();
  +Session session = null;
  +synchronized (recycled) {
  +int size = recycled.size();
  +if (size  0) {
  +session = (Session) recycled.get(size - 1);
  +recycled.remove(size - 1);
  +}
  +}
  +if (session != null)
  +session.setManager(this);
  +else
  +session = new StandardSession(this);
   
   // Initialize the properties of the new session and return it
   session.setNew(true);
  @@ -572,6 +583,7 @@
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
  +session.setId(sessionId);
   }
   /*
   synchronized (sessions) {
  @@ -583,28 +595,6 @@
   
   return (session);
   
  -}
  -
  -
  -/**
  - * Get a session from the recycled ones or create a new empty one.
  - * The PersistentManager manager does not need to create session data
  - * because it reads it from the Store.
  - */
  -public Session createEmptySession() {
  -Session session = null;
  -synchronized (recycled) {
  -int size = recycled.size();
  -if (size  0) {
  -session = (Session) recycled.get(size - 1);
  -recycled.remove(size - 1);
  -}
  -}
  -if (session != null)
  -session.setManager(this);
  -else
  -session = new StandardSession(this);
  -return(session);
   }
   
   
  
  
  

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




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

2002-09-19 Thread amyroh

amyroh  2002/09/19 15:55:48

  Modified:catalina/src/share/org/apache/catalina DefaultContext.java
Loader.java Manager.java
   catalina/src/share/org/apache/catalina/core
StandardDefaultContext.java
   catalina/src/share/org/apache/catalina/loader
WebappLoader.java
   catalina/src/share/org/apache/catalina/mbeans
MBeanFactory.java MBeanUtils.java
ServerLifecycleListener.java
   catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Add Loader and Manager support in DefaultContext admin.
  
  Revision  ChangesPath
  1.5   +27 -10
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/DefaultContext.java
  
  Index: DefaultContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/DefaultContext.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultContext.java   9 Sep 2002 23:39:03 -   1.4
  +++ DefaultContext.java   19 Sep 2002 22:55:47 -  1.5
  @@ -64,6 +64,7 @@
   
   package org.apache.catalina;
   
  +import java.beans.PropertyChangeListener;
   import javax.naming.directory.DirContext;
   import org.apache.catalina.deploy.ApplicationParameter;
   import org.apache.catalina.deploy.ContextEjb;
  @@ -205,6 +206,12 @@
   public void setManager(Manager manager);
   
   
  +/**
  + * Return the naming resources associated with this web application.
  + */
  +public NamingResources getNamingResources();
  +
  +
   // -- Public Properties
   
   
  @@ -311,6 +318,14 @@
   
   
   /**
  + * Add a property change listener to this component.
  + *
  + * @param listener The listener to add
  + */
  +public void addPropertyChangeListener(PropertyChangeListener listener);
  +
  +
  +/**
* Add a resource reference for this web application.
*
* @param resource New resource reference
  @@ -354,12 +369,6 @@
   
   
   /**
  - * Return the naming resources associated with this web application.
  - */
  -public NamingResources getNamingResources();
  -
  -
  -/**
* Return the set of application listener class names configured
* for this application.
*/
  @@ -550,6 +559,14 @@
* @param name Name of the parameter to remove
*/
   public void removeParameter(String name);
  +
  +
  +/**
  + * Remove a property change listener from this component.
  + *
  + * @param listener The listener to remove
  + */
  +public void removePropertyChangeListener(PropertyChangeListener listener);
   
   
   /**
  
  
  
  1.6   +18 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Loader.java
  
  Index: Loader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Loader.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Loader.java   22 Jul 2001 20:13:30 -  1.5
  +++ Loader.java   19 Sep 2002 22:55:47 -  1.6
  @@ -126,6 +126,20 @@
   
   
   /**
  + * Return the DefaultContext with which this Manager is associated.
  + */
  +public DefaultContext getDefaultContext();
  +
  +
  +/**
  + * Set the DefaultContext with which this Manager is associated.
  + *
  + * @param defaultContext The newly associated DefaultContext
  + */
  +public void setDefaultContext(DefaultContext defaultContext);
  +
  +
  +/**
* Return the follow standard delegation model flag used to configure
* our ClassLoader.
*/
  
  
  
  1.6   +19 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java
  
  Index: Manager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Manager.java  22 Jul 2001 20:13:30 -  1.5
  +++ Manager.java  19 Sep 2002 22:55:47 -  1.6
  @@ -110,6 +110,21 @@
   
   
   /**
  + * Return the DefaultContext with which this Manager is associated.
  + */
  +public DefaultContext getDefaultContext();
  +
  +
  +/**
  + * Set the DefaultContext with which this Manager is associated.
  + *
  + * @param defaultContext The newly associated DefaultContext
  + */
  +public void setDefaultContext(DefaultContext defaultContext);
  +
  +
  +
  +/**
* Return the distributable flag for 

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

2002-01-17 Thread remm

remm02/01/17 04:11:59

  Modified:catalina/src/share/org/apache/catalina/session Tag:
tomcat_40_branch ManagerBase.java
  Log:
  - Port JVM route addition.
  
  Revision  ChangesPath
  No   revision
  
  
  No   revision
  
  
  1.9.2.2   +39 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.9.2.1
  retrieving revision 1.9.2.2
  diff -u -r1.9.2.1 -r1.9.2.2
  --- ManagerBase.java  10 Dec 2001 01:26:48 -  1.9.2.1
  +++ ManagerBase.java  17 Jan 2002 12:11:59 -  1.9.2.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.9.2.1 2001/12/10 01:26:48 craigmcc Exp $
  - * $Revision: 1.9.2.1 $
  - * $Date: 2001/12/10 01:26:48 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.9.2.2 2002/01/17 12:11:59 remm Exp $
  + * $Revision: 1.9.2.2 $
  + * $Date: 2002/01/17 12:11:59 $
*
* 
*
  @@ -74,6 +74,7 @@
   import java.util.HashMap;
   import java.util.Random;
   import org.apache.catalina.Container;
  +import org.apache.catalina.Engine;
   import org.apache.catalina.Logger;
   import org.apache.catalina.Manager;
   import org.apache.catalina.Session;
  @@ -86,7 +87,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.9.2.1 $ $Date: 2001/12/10 01:26:48 $
  + * @version $Revision: 1.9.2.2 $ $Date: 2002/01/17 12:11:59 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -547,6 +548,12 @@
   session.setCreationTime(System.currentTimeMillis());
   session.setMaxInactiveInterval(this.maxInactiveInterval);
   String sessionId = generateSessionId();
  +String jvmRoute = getJvmRoute();
  +// @todo Move appending of jvmRoute generateSessionId()???
  +if (jvmRoute != null) {
  +sessionId += '.' + jvmRoute;
  +session.setId(sessionId);
  +}
   /*
   synchronized (sessions) {
   while (sessions.get(sessionId) != null)// Guarantee uniqueness
  @@ -655,6 +662,34 @@
   }
   return (result.toString());
   
  +}
  +
  +
  +/**
  + * Retrieve the enclosing Engine for this Manager.
  + *
  + * @return an Engine object (or null).
  + */
  +protected Engine getEngine() {
  +Engine e = null;
  +for (Container c=getContainer(); e == null  c != null ;
  + c = c.getParent()) {
  +if (c != null  c instanceof Engine) {
  +e = (Engine)c;
  +}
  +}
  +return e;
  +}
  +
  +
  +/**
  + * Retrieve the JvmRoute for the enclosing Engine.
  + * 
  + * @return the JvmRoute or null.
  + */
  +protected String getJvmRoute() {
  +Engine e = getEngine();
  +return e == null ? null : e.getJvmRoute();
   }
   
   
  
  
  

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




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

2002-01-14 Thread remm

remm02/01/14 15:38:03

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  - Add JVM route support.
  - Patch submitted by Tom Drake rtd at pobox.com
  
  Revision  ChangesPath
  1.11  +40 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ManagerBase.java  10 Dec 2001 01:24:41 -  1.10
  +++ ManagerBase.java  14 Jan 2002 23:38:03 -  1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.10 2001/12/10 01:24:41 craigmcc Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/12/10 01:24:41 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.11 2002/01/14 23:38:03 remm Exp $
  + * $Revision: 1.11 $
  + * $Date: 2002/01/14 23:38:03 $
*
* 
*
  @@ -74,6 +74,7 @@
   import java.util.HashMap;
   import java.util.Random;
   import org.apache.catalina.Container;
  +import org.apache.catalina.Engine;
   import org.apache.catalina.Logger;
   import org.apache.catalina.Manager;
   import org.apache.catalina.Session;
  @@ -86,7 +87,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.10 $ $Date: 2001/12/10 01:24:41 $
  + * @version $Revision: 1.11 $ $Date: 2002/01/14 23:38:03 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -547,6 +548,12 @@
   session.setCreationTime(System.currentTimeMillis());
   session.setMaxInactiveInterval(this.maxInactiveInterval);
   String sessionId = generateSessionId();
  +String jvmRoute = getJvmRoute();
  +// @todo Move appending of jvmRoute generateSessionId()???
  +if (jvmRoute != null) {
  +sessionId += '.' + jvmRoute;
  +session.setId(sessionId);
  +}
   /*
   synchronized (sessions) {
   while (sessions.get(sessionId) != null)// Guarantee uniqueness
  @@ -655,6 +662,35 @@
   }
   return (result.toString());
   
  +}
  +
  +
  +// -- Protected Methods
  +
  +
  +/**
  + * Retrieve the enclosing Engine for this Manager.
  + *
  + * @return an Engine object (or null).
  + */
  +public Engine getEngine() {
  +Engine e = null;
  +for (Container c = getContainer(); e == null  c != null ; c = 
c.getParent()) {
  +if (c != null  c instanceof Engine) {
  +e = (Engine)c;
  +}
  +}
  +return e;
  +}
  +
  +
  +/**
  + * Retrieve the JvmRoute for the enclosing Engine.
  + * @return the JvmRoute or null.
  + */
  +public String getJvmRoute() {
  +Engine e = getEngine();
  +return e == null ? null : e.getJvmRoute();
   }
   
   
  
  
  

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




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

2001-12-09 Thread craigmcc

craigmcc01/12/09 17:24:41

  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java
   catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Correct hexadecimal conversion when rendering session ids (and SSO session
  ids) as strings.
  
  PR: Bugzilla #4969
  Submitted by: Eli Miller [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.28  +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- AuthenticatorBase.java2001/12/01 07:39:50 1.27
  +++ AuthenticatorBase.java2001/12/10 01:24:41 1.28
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.27 2001/12/01 07:39:50 remm Exp $
  - * $Revision: 1.27 $
  - * $Date: 2001/12/01 07:39:50 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.28 2001/12/10 01:24:41 craigmcc Exp $
  + * $Revision: 1.28 $
  + * $Date: 2001/12/10 01:24:41 $
*
* 
*
  @@ -121,7 +121,7 @@
* requests.  Requests of any other type will simply be passed through.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.27 $ $Date: 2001/12/01 07:39:50 $
  + * @version $Revision: 1.28 $ $Date: 2001/12/10 01:24:41 $
*/
   
   
  @@ -808,7 +808,7 @@
   if (b2  10)
   result.append((char) ('0' + b2));
   else
  -result.append((char) ('0' + (b2 - 10)));
  +result.append((char) ('A' + (b2 - 10)));
   }
   return (result.toString());
   
  
  
  
  1.10  +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ManagerBase.java  2001/07/22 20:25:12 1.9
  +++ ManagerBase.java  2001/12/10 01:24:41 1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.9 2001/07/22 20:25:12 pier Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/07/22 20:25:12 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.10 2001/12/10 01:24:41 craigmcc Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/12/10 01:24:41 $
*
* 
*
  @@ -86,7 +86,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.9 $ $Date: 2001/07/22 20:25:12 $
  + * @version $Revision: 1.10 $ $Date: 2001/12/10 01:24:41 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -651,7 +651,7 @@
   if (b2  10)
   result.append((char) ('0' + b2));
   else
  -result.append((char) ('0' + (b2 - 10)));
  +result.append((char) ('A' + (b2 - 10)));
   }
   return (result.toString());
   
  
  
  

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




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

2001-12-09 Thread craigmcc

craigmcc01/12/09 17:26:48

  Modified:catalina/src/share/org/apache/catalina/authenticator Tag:
tomcat_40_branch AuthenticatorBase.java
   catalina/src/share/org/apache/catalina/session Tag:
tomcat_40_branch ManagerBase.java
  Log:
  Ported the fix on hexadecimal conversion when rendering session ids.
  (This could explain some of the can't find my session bug reports on
  TOMCAT-USER ...)
  
  PR: Bugzilla #4969
  Submitted by: Eli Miller [EMAIL PROTECTED]
  
  Revision  ChangesPath
  No   revision
  
  
  No   revision
  
  
  1.23.2.3  +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.23.2.2
  retrieving revision 1.23.2.3
  diff -u -r1.23.2.2 -r1.23.2.3
  --- AuthenticatorBase.java2001/12/03 19:53:49 1.23.2.2
  +++ AuthenticatorBase.java2001/12/10 01:26:48 1.23.2.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.23.2.2 2001/12/03 19:53:49 remm Exp $
  - * $Revision: 1.23.2.2 $
  - * $Date: 2001/12/03 19:53:49 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.23.2.3 2001/12/10 01:26:48 craigmcc Exp $
  + * $Revision: 1.23.2.3 $
  + * $Date: 2001/12/10 01:26:48 $
*
* 
*
  @@ -121,7 +121,7 @@
* requests.  Requests of any other type will simply be passed through.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.23.2.2 $ $Date: 2001/12/03 19:53:49 $
  + * @version $Revision: 1.23.2.3 $ $Date: 2001/12/10 01:26:48 $
*/
   
   
  @@ -800,7 +800,7 @@
   if (b2  10)
   result.append((char) ('0' + b2));
   else
  -result.append((char) ('0' + (b2 - 10)));
  +result.append((char) ('A' + (b2 - 10)));
   }
   return (result.toString());
   
  
  
  
  No   revision
  
  
  No   revision
  
  
  1.9.2.1   +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.9
  retrieving revision 1.9.2.1
  diff -u -r1.9 -r1.9.2.1
  --- ManagerBase.java  2001/07/22 20:25:12 1.9
  +++ ManagerBase.java  2001/12/10 01:26:48 1.9.2.1
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.9 2001/07/22 20:25:12 pier Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/07/22 20:25:12 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.9.2.1 2001/12/10 01:26:48 craigmcc Exp $
  + * $Revision: 1.9.2.1 $
  + * $Date: 2001/12/10 01:26:48 $
*
* 
*
  @@ -86,7 +86,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.9 $ $Date: 2001/07/22 20:25:12 $
  + * @version $Revision: 1.9.2.1 $ $Date: 2001/12/10 01:26:48 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -651,7 +651,7 @@
   if (b2  10)
   result.append((char) ('0' + b2));
   else
  -result.append((char) ('0' + (b2 - 10)));
  +result.append((char) ('A' + (b2 - 10)));
   }
   return (result.toString());
   
  
  
  

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




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

2001-04-17 Thread craigmcc

craigmcc01/04/17 10:07:12

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java PersistentManager.java
PersistentManagerBase.java StandardManager.java
  Log:
  Add some debugging messages to the Manager implementations.
  
  NOTE:  The recent refactoring of where session storing and loading occurs
  has broken saving and restoring sessions across restarts (to prove it, use
  the "tester" suite and run target "HttpSession").  Kief/Bip/et. al., could
  you help me look at this, please?
  
  Revision  ChangesPath
  1.8   +24 -8 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ManagerBase.java  2001/04/12 18:18:57 1.7
  +++ ManagerBase.java  2001/04/17 17:06:58 1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.7 2001/04/12 18:18:57 kief Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/04/12 18:18:57 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.8 2001/04/17 17:06:58 craigmcc Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/04/17 17:06:58 $
*
* 
*
  @@ -86,7 +86,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.7 $ $Date: 2001/04/12 18:18:57 $
  + * @version $Revision: 1.8 $ $Date: 2001/04/17 17:06:58 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -165,6 +165,12 @@
   
   
   /**
  + * The descriptive name of this Manager implementation (for logging).
  + */
  +protected static String name = "ManagerBase";
  +
  +
  +/**
* A random number generator to use when generating session identifiers.
*/
   protected Random random = null;
  @@ -406,6 +412,16 @@
   
   
   /**
  + * Return the descriptive short name of this Manager implementation.
  + */
  +public String getName() {
  +
  +return (name);
  +
  +}
  +
  +
  +/**
* Return the random number generator instance we should use for
* generating session identifiers.  If there is no such generator
* currently defined, construct and seed a new one.
  @@ -656,13 +672,13 @@
   if (container != null)
   logger = container.getLogger();
   if (logger != null)
  -logger.log("Manager[" + container.getName() + "]: "
  +logger.log(getName() + "[" + container.getName() + "]: "
  + message);
   else {
   String containerName = null;
   if (container != null)
   containerName = container.getName();
  -System.out.println("Manager[" + containerName
  +System.out.println(getName() + "[" + containerName
  + "]: " + message);
   }
   
  @@ -681,13 +697,13 @@
   if (container != null)
   logger = container.getLogger();
   if (logger != null)
  -logger.log("Manager[" + container.getName() + "] "
  +logger.log(getName() + "[" + container.getName() + "] "
  + message, throwable);
   else {
   String containerName = null;
   if (container != null)
   containerName = container.getName();
  -System.out.println("Manager[" + containerName
  +System.out.println(getName() + "[" + containerName
  + "]: " + message);
   throwable.printStackTrace(System.out);
   }
  
  
  
  1.8   +20 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java
  
  Index: PersistentManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PersistentManager.java2001/04/15 09:33:27 1.7
  +++ PersistentManager.java2001/04/17 17:07:01 1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v
 1.7 2001/04/15 09:33:27 kief Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/04/15 09:33:27 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v
 1.8 2001/04/17 

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

2001-04-08 Thread kief

kief01/04/08 01:02:04

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java
  Log:
  Refactoring to eliminate dependencies by StandardManager, ManagerBase,
  and StandardSession on one another: each should only depend on methods
  found in the interface definitions for Manager and Session.
  
  Revision  ChangesPath
  1.6   +35 -35
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ManagerBase.java  2001/03/14 02:17:22 1.5
  +++ ManagerBase.java  2001/04/08 08:02:04 1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.5 2001/03/14 02:17:22 craigmcc Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/03/14 02:17:22 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.6 2001/04/08 08:02:04 kief Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/04/08 08:02:04 $
*
* 
*
  @@ -86,7 +86,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.5 $ $Date: 2001/03/14 02:17:22 $
  + * @version $Revision: 1.6 $ $Date: 2001/04/08 08:02:04 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -474,6 +474,20 @@
   
   
   /**
  + * Add this Session to the set of active Sessions for this Manager.
  + *
  + * @param session Session to be added
  + */
  +public void add(Session session) {
  +
  + synchronized (sessions) {
  + sessions.put(session.getId(), session);
  + }
  +
  +}
  +
  +
  +/**
* Add a property change listener to this component.
*
* @param listener The listener to add
  @@ -498,11 +512,11 @@
   public Session createSession() {
   
// Recycle or create a Session instance
  - StandardSession session = null;
  + Session session = null;
synchronized (recycled) {
int size = recycled.size();
if (size  0) {
  - session = (StandardSession) recycled.get(size - 1);
  + session = (Session) recycled.get(size - 1);
recycled.remove(size - 1);
}
}
  @@ -570,6 +584,20 @@
   
   
   /**
  + * Remove this Session from the active Sessions for this Manager.
  + *
  + * @param session Session to be removed
  + */
  +public void remove(Session session) {
  +
  + synchronized (sessions) {
  + sessions.remove(session.getId());
  + }
  +
  +}
  +
  +
  +/**
* Remove a property change listener from this component.
*
* @param listener The listener to remove
  @@ -618,20 +646,6 @@
   
   
   /**
  - * Add this Session to the set of active Sessions for this Manager.
  - *
  - * @param session Session to be added
  - */
  -void add(StandardSession session) {
  -
  - synchronized (sessions) {
  - sessions.put(session.getId(), session);
  - }
  -
  -}
  -
  -
  -/**
* Log a message on the Logger associated with our Container (if any).
*
* @param message Message to be logged
  @@ -686,24 +700,10 @@
*
* @param session Session to be recycled
*/
  -void recycle(StandardSession session) {
  +void recycle(Session session) {
   
synchronized (recycled) {
recycled.add(session);
  - }
  -
  -}
  -
  -
  -/**
  - * Remove this Session from the active Sessions for this Manager.
  - *
  - * @param session Session to be removed
  - */
  -void remove(StandardSession session) {
  -
  - synchronized (sessions) {
  - sessions.remove(session.getId());
}
   
   }
  
  
  



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

2001-03-13 Thread craigmcc

craigmcc01/03/13 18:17:23

  Modified:catalina/src/share/org/apache/catalina/authenticator
AuthenticatorBase.java FormAuthenticator.java
   catalina/src/share/org/apache/catalina/connector
HttpRequestBase.java HttpResponseBase.java
   catalina/src/share/org/apache/catalina/core
StandardContextValve.java
   catalina/src/share/org/apache/catalina/session
ManagerBase.java PersistentManager.java
StandardSession.java
  Log:
  Restore the correct operation of form-based login.
  
  The problem was caused by the following scenario:
  - Form based login authenticator would create a session in which to
cache the original request while sending the login page
  - The access() method of the new session was being called, which set
the "isNew" property to false, even though the session id had not
yet been communicated to the client
  - Because isNew was false, the session id cookie was never sent
  - When the form login page was received and processed, and the user
correctly authenticated, no session id was included -- so the cached
original request could not be recovered.  This triggered an
"Error 400 - Bad Request" error
  
  As a side effect of this change, the last accessed time of a session is
  now correctly updated at the beginning of each request, whether or not the
  servlet actually calls request.getSession() to acquire a reference to it.
  See Servlet Specification, version 2.3 (PFD), Section 7.6 (p. 51).
  
  Revision  ChangesPath
  1.8   +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
  
  Index: AuthenticatorBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AuthenticatorBase.java2001/01/23 02:53:02 1.7
  +++ AuthenticatorBase.java2001/03/14 02:17:20 1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.7 2001/01/23 02:53:02 craigmcc Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/01/23 02:53:02 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v
 1.8 2001/03/14 02:17:20 craigmcc Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/03/14 02:17:20 $
*
* 
*
  @@ -117,7 +117,7 @@
* requests.  Requests of any other type will simply be passed through.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.7 $ $Date: 2001/01/23 02:53:02 $
  + * @version $Revision: 1.8 $ $Date: 2001/03/14 02:17:20 $
*/
   
   
  @@ -167,7 +167,7 @@
   /**
* The debugging detail level for this component.
*/
  -protected int debug = 0;
  +protected int debug = 99;
   
   
   /**
  
  
  
  1.7   +25 -8 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java
  
  Index: FormAuthenticator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FormAuthenticator.java2000/12/16 04:03:29 1.6
  +++ FormAuthenticator.java2001/03/14 02:17:20 1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v
 1.6 2000/12/16 04:03:29 craigmcc Exp $
  - * $Revision: 1.6 $
  - * $Date: 2000/12/16 04:03:29 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v
 1.7 2001/03/14 02:17:20 craigmcc Exp $
  + * $Revision: 1.7 $
  + * $Date: 2001/03/14 02:17:20 $
*
* 
*
  @@ -88,7 +88,7 @@
* Authentication, as described in the Servlet API Specification, Version 2.2.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.6 $ $Date: 2000/12/16 04:03:29 $
  + * @version $Revision: 1.7 $ $Date: 2001/03/14 02:17:20 $
*/
   
   public final class FormAuthenticator
  @@ -142,8 +142,12 @@
// Have we already authenticated someone?
Principal principal =
((HttpServletRequest) request.getRequest()).getUserPrincipal();
  - if (principal != null)
  + if (principal != null) {
  +if (debug = 1)
  +log("Already authenticated '" +
  +principal.getName() + "'");

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

2000-12-21 Thread craigmcc

craigmcc00/12/21 17:54:34

  Modified:catalina/src/share/org/apache/catalina/session
ManagerBase.java StandardManager.java
  Log:
  Cause the random number to be initialized when a webapp first starts,
  rather than waiting for the first call to request.getSession().
  
  Actually use the calculated seed value to initialize the random number
  generator, rather than just calculating it :-(.  On at least Linux and
  Win98, this totally eliminates the multi-second seeding delay --
  apparently, the default seeding algorithm is the one that is
  computationally expensive.
  
  Revision  ChangesPath
  1.3   +29 -19
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ManagerBase.java  2000/10/13 23:33:26 1.2
  +++ ManagerBase.java  2000/12/22 01:54:33 1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.2 2000/10/13 23:33:26 craigmcc Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/10/13 23:33:26 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
 1.3 2000/12/22 01:54:33 craigmcc Exp $
  + * $Revision: 1.3 $
  + * $Date: 2000/12/22 01:54:33 $
*
* 
*
  @@ -86,7 +86,7 @@
* be subclassed to create more sophisticated Manager implementations.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.2 $ $Date: 2000/10/13 23:33:26 $
  + * @version $Revision: 1.3 $ $Date: 2000/12/22 01:54:33 $
*/
   
   public abstract class ManagerBase implements Manager {
  @@ -413,21 +413,31 @@
   public synchronized Random getRandom() {
   
if (this.random == null) {
  - log(sm.getString("managerBase.seeding", randomClass));
  - try {
  - Class clazz = Class.forName(randomClass);
  - this.random = (Random) clazz.newInstance();
  - long seed = System.currentTimeMillis();
  - char entropy[] = getEntropy().toCharArray();
  - for (int i = 0; i  entropy.length; i++) {
  - long update = ((byte) entropy[i])  ((i % 8) * 8);
  - seed ^= update; 
  - }
  - } catch (Exception e) {
  - log(sm.getString("managerBase.random", randomClass), e);
  - this.random = new java.util.Random();
  - }
  - log(sm.getString("managerBase.complete", randomClass));
  +synchronized (this) {
  +if (this.random == null) {
  +// Calculate the new random number generator seed
  +log(sm.getString("managerBase.seeding", randomClass));
  +long seed = System.currentTimeMillis();
  +char entropy[] = getEntropy().toCharArray();
  +for (int i = 0; i  entropy.length; i++) {
  +long update = ((byte) entropy[i])  ((i % 8) * 8);
  +seed ^= update;  
  +}
  +try {
  +// Construct and seed a new random number generator
  +Class clazz = Class.forName(randomClass);
  +this.random = (Random) clazz.newInstance();
  +this.random.setSeed(seed);
  +} catch (Exception e) {
  +// Fall back to the simple case
  +log(sm.getString("managerBase.random", randomClass),
  +e);
  +this.random = new java.util.Random();
  +this.random.setSeed(seed);
  +}
  +log(sm.getString("managerBase.complete", randomClass));
  +}
  +}
}
   
return (this.random);
  
  
  
  1.5   +11 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StandardManager.java  2000/10/14 21:43:54 1.4
  +++ StandardManager.java  2000/12/22 01:54:33 1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
 1.4 2000/10/14 21:43:54 craigmcc Exp $
  - *