cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2004-09-06 Thread markt
markt   2004/09/06 11:51:37

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Fix for part of bug 20758. Stop Digesters retaining reference to context.
  
  Revision  ChangesPath
  1.71  +5 -1  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- ContextConfig.java26 Aug 2004 21:41:12 -  1.70
  +++ ContextConfig.java6 Sep 2004 18:51:37 -   1.71
  @@ -218,6 +218,7 @@
   webDigester.clear();
   webDigester.push(context);
   webDigester.parse(is);
  +webDigester.push(null);
   } catch (SAXParseException e) {
   log(sm.getString(contextConfig.applicationParse), e);
   log(sm.getString(contextConfig.applicationPosition,
  @@ -484,6 +485,7 @@
   webDigester.clear();
   webDigester.push(context);
   webDigester.parse(is);
  +webDigester.push(null);
   } catch (SAXParseException e) {
   log(sm.getString(contextConfig.defaultParse), e);
   log(sm.getString(contextConfig.defaultPosition,
  @@ -924,6 +926,8 @@
   tldDigester.clear();
   tldDigester.push(context);
   tldDigester.parse(resourceStream);
  +tldDigester.push(null);
  +
   }
   
   }
  
  
  

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



[www #45310] cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2004-09-06 Thread WWW
Greetings.  (This is an automated response.  There is no need to reply.)

Your message regarding:
  cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup 
ContextConfig.java
has been received and assigned a request number of 45310.

In order help us track the progress of this request, we ask that you
include the string [www #45310] in the subject line of any further mail
about this particular request.
For example:
Subject: [www #45310] cvs commit: 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java


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



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java LocalStrings.properties

2004-06-21 Thread markt
markt   2004/06/21 15:16:50

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java LocalStrings.properties
  Log:
  Fix 18650. Provide a better message in the log if the temp directory is missing
  
  Remove unused imports identified by Eclipse
  
  Revision  ChangesPath
  1.69  +14 -19
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- ContextConfig.java3 Mar 2004 21:49:55 -   1.68
  +++ ContextConfig.java21 Jun 2004 22:16:50 -  1.69
  @@ -70,19 +70,14 @@
   import java.io.FileNotFoundException;
   import java.io.InputStream;
   import java.io.IOException;
  -import java.lang.reflect.InvocationTargetException;
  -import java.lang.reflect.Method;
   import java.net.JarURLConnection;
  -import java.net.MalformedURLException;
   import java.net.URL;
  -import java.util.ArrayList;
   import java.util.Enumeration;
   import java.util.HashSet;
   import java.util.Iterator;
   import java.util.MissingResourceException;
   import java.util.ResourceBundle;
   import java.util.Set;
  -import java.util.Stack;
   import java.util.jar.JarEntry;
   import java.util.jar.JarFile;
   import javax.naming.NamingException;
  @@ -95,9 +90,7 @@
   import org.apache.catalina.Connector;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  -import org.apache.catalina.DefaultContext;
   import org.apache.catalina.Engine;
  -import org.apache.catalina.Globals;
   import org.apache.catalina.Host;
   import org.apache.catalina.Lifecycle;
   import org.apache.catalina.LifecycleEvent;
  @@ -109,20 +102,12 @@
   import org.apache.catalina.Wrapper;
   import org.apache.catalina.core.ContainerBase;
   import org.apache.catalina.core.StandardContext;
  -import org.apache.catalina.deploy.ApplicationParameter;
  -import org.apache.catalina.deploy.ContextEjb;
  -import org.apache.catalina.deploy.ContextEnvironment;
  -import org.apache.catalina.deploy.ContextLocalEjb;
  -import org.apache.catalina.deploy.ContextResource;
  -import org.apache.catalina.deploy.ContextResourceLink;
   import org.apache.catalina.deploy.ErrorPage;
   import org.apache.catalina.deploy.FilterDef;
   import org.apache.catalina.deploy.FilterMap;
   import org.apache.catalina.deploy.LoginConfig;
   import org.apache.catalina.deploy.SecurityConstraint;
  -import org.apache.catalina.loader.Extension;
   import org.apache.catalina.util.StringManager;
  -import org.apache.catalina.valves.ValveBase;
   import org.apache.commons.digester.Digester;
   import org.xml.sax.InputSource;
   import org.xml.sax.SAXParseException;
  @@ -926,6 +911,16 @@
   }
   // FIXME - Closing the JAR file messes up the class loader???
   //jarFile.close();
  +} catch (IOException ioe) {
  +File tmp = new File(System.getProperty(java.io.tmpdir));
  +if (!tmp.canWrite()) {
  +throw new ServletException
  +(sm.getString(contextConfig.noTempDir), ioe);
  +} else {
  +throw new ServletException
  +(sm.getString(contextConfig.tldJarIOException,
  +  resourcePath), ioe);
  +}
   } catch (Exception e) {
   if (name == null) {
   throw new ServletException
  
  
  
  1.17  +2 -0  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- LocalStrings.properties   10 Jan 2003 15:52:18 -  1.16
  +++ LocalStrings.properties   21 Jun 2004 22:16:50 -  1.17
  @@ -17,6 +17,7 @@
   contextConfig.defaultParse=Parse error in default web.xml
   contextConfig.defaultPosition=Occurred at line {0} column {1}
   contextConfig.missingRealm=No Realm has been configured to authenticate against
  +contextConfig.noTempDir=Required temporary directory $CATALINA_BASE/temp is missing
   contextConfig.role.auth=WARNING: Security role name {0} used in an 
auth-constraint without being defined in a security-role
   contextConfig.role.link=WARNING: Security role name {0} used in a role-link 
without being defined in a security-role
   contextConfig.role.runas=WARNING: Security role name {0} used in a run-as without 
being defined in a security-role
  @@ -24,6 +25,7 @@
   

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2004-03-03 Thread markt
markt   2004/03/03 13:49:55

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Fix bug 19852.
  - Don't remove application parameters on stop (only the parameters specified in 
web.xml would get added back).
  
  Revision  ChangesPath
  1.68  +7 -6  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- ContextConfig.java29 Oct 2002 04:17:25 -  1.67
  +++ ContextConfig.java3 Mar 2004 21:49:55 -   1.68
  @@ -708,13 +708,14 @@
   }
   
   // Removing application parameters
  +/*
   ApplicationParameter[] applicationParameters =
   context.findApplicationParameters();
   for (i = 0; i  applicationParameters.length; i++) {
   context.removeApplicationParameter
   (applicationParameters[i].getName());
   }
  -
  +*/
   // Removing security constraints
   SecurityConstraint[] securityConstraints = context.findConstraints();
   for (i = 0; i  securityConstraints.length; i++) {
  @@ -780,7 +781,7 @@
   for (i = 0; i  parameters.length; i++) {
   context.removeParameter(parameters[i]);
   }
  -
  +
   // Removing resource env refs
   /*
   String[] resourceEnvRefs = context.findResourceEnvRefs();
  
  
  

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



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2002-10-28 Thread billbarker
billbarker2002/10/28 20:17:25

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  The previous version was failing badly, at least with FileDirContext.
  
  I can't see that the new version could create any problems with any context, so Here 
goes.
  
  Revision  ChangesPath
  1.67  +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- ContextConfig.java23 Jun 2002 20:35:30 -  1.66
  +++ ContextConfig.java29 Oct 2002 04:17:25 -  1.67
   -1052,7 +1052,7 
   // FIXME - Servlet 2.3 DTD implies that the location MUST be
   // a context-relative path starting with '/'?
   if (!resourcePath.startsWith(/)) {
  -resourcePath = /WEB-INF/web.xml/../ + resourcePath;
  +resourcePath = /WEB-INF/ + resourcePath;
   }
   if (debug = 3) {
   log(   Adding path ' + resourcePath +
  
  
  

--
To unsubscribe, e-mail:   mailto:tomcat-dev-unsubscribe;jakarta.apache.org
For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2002-06-23 Thread remm

remm2002/06/23 13:35:30

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Don't remove resources on stop (only the resources specified in web.xml would
get added back).
  
  Revision  ChangesPath
  1.66  +16 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- ContextConfig.java16 May 2002 21:08:26 -  1.65
  +++ ContextConfig.java23 Jun 2002 20:35:30 -  1.66
  @@ -722,16 +722,20 @@
   }
   
   // Removing Ejbs
  +/*
   ContextEjb[] contextEjbs = context.findEjbs();
   for (i = 0; i  contextEjbs.length; i++) {
   context.removeEjb(contextEjbs[i].getName());
   }
  +*/
   
   // Removing environments
  +/*
   ContextEnvironment[] contextEnvironments = context.findEnvironments();
   for (i = 0; i  contextEnvironments.length; i++) {
   context.removeEnvironment(contextEnvironments[i].getName());
   }
  +*/
   
   // Removing errors pages
   ErrorPage[] errorPages = context.findErrorPages();
  @@ -758,10 +762,12 @@
   }
   
   // Removing local ejbs
  +/*
   ContextLocalEjb[] contextLocalEjbs = context.findLocalEjbs();
   for (i = 0; i  contextLocalEjbs.length; i++) {
   context.removeLocalEjb(contextLocalEjbs[i].getName());
   }
  +*/
   
   // Removing Mime mappings
   String[] mimeMappings = context.findMimeMappings();
  @@ -776,23 +782,29 @@
   }
   
   // Removing resource env refs
  +/*
   String[] resourceEnvRefs = context.findResourceEnvRefs();
   for (i = 0; i  resourceEnvRefs.length; i++) {
   context.removeResourceEnvRef(resourceEnvRefs[i]);
   }
  +*/
   
   // Removing resource links
  +/*
   ContextResourceLink[] contextResourceLinks = 
   context.findResourceLinks();
   for (i = 0; i  contextResourceLinks.length; i++) {
   context.removeResourceLink(contextResourceLinks[i].getName());
   }
  +*/
   
   // Removing resources
  +/*
   ContextResource[] contextResources = context.findResources();
   for (i = 0; i  contextResources.length; i++) {
   context.removeResource(contextResources[i].getName());
   }
  +*/
   
   // Removing sercurity role
   String[] securityRoles = context.findSecurityRoles();
  
  
  

--
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/startup ContextConfig.java

2002-05-16 Thread remm

remm02/05/16 14:08:26

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - When running in embedded mode, the service was always null, causing a
NPE. In that case, the CertificatesValve will always be added.
  
  Revision  ChangesPath
  1.65  +14 -9 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- ContextConfig.java12 May 2002 04:06:19 -  1.64
  +++ ContextConfig.java16 May 2002 21:08:26 -  1.65
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.64 2002/05/12 04:06:19 glenn Exp $
  - * $Revision: 1.64 $
  - * $Date: 2002/05/12 04:06:19 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.65 2002/05/16 21:08:26 remm Exp $
  + * $Revision: 1.65 $
  + * $Date: 2002/05/16 21:08:26 $
*
* 
*
  @@ -133,7 +133,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.64 $ $Date: 2002/05/12 04:06:19 $
  + * @version $Revision: 1.65 $ $Date: 2002/05/16 21:08:26 $
*/
   
   public final class ContextConfig
  @@ -412,11 +412,16 @@
   }
   if (container instanceof Engine) {
   Service service = ((Engine)container).getService();
  -Connector [] connectors = service.findConnectors();
  -for (int i = 0; i  connectors.length; i++) {
  -secure = connectors[i].getSecure();
  -if (secure) {
  -break;
  +// The service can be null when Tomcat is run in embedded mode
  +if (service == null) {
  +secure = true;
  +} else {
  +Connector [] connectors = service.findConnectors();
  +for (int i = 0; i  connectors.length; i++) {
  +secure = connectors[i].getSecure();
  +if (secure) {
  +break;
  +}
   }
   }
   }
  
  
  

--
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/startup ContextConfig.java

2002-05-11 Thread glenn

glenn   02/05/11 21:04:27

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Only add the CertificatesValve if this Context is using a Connector
  where secure=true.  Slight performance improvement for non SSL Hosts.
  
  Revision  ChangesPath
  1.63  +35 -7 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- ContextConfig.java22 Apr 2002 19:04:01 -  1.62
  +++ ContextConfig.java12 May 2002 04:04:27 -  1.63
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.62 2002/04/22 19:04:01 craigmcc Exp $
  - * $Revision: 1.62 $
  - * $Date: 2002/04/22 19:04:01 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.63 2002/05/12 04:04:27 glenn Exp $
  + * $Revision: 1.63 $
  + * $Date: 2002/05/12 04:04:27 $
*
* 
*
  @@ -92,21 +92,22 @@
   import javax.servlet.ServletContext;
   import javax.servlet.ServletException;
   import org.apache.catalina.Authenticator;
  +import org.apache.catalina.Connector;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
   import org.apache.catalina.DefaultContext;
  +import org.apache.catalina.Engine;
   import org.apache.catalina.Globals;
  +import org.apache.catalina.Host;
   import org.apache.catalina.Lifecycle;
   import org.apache.catalina.LifecycleEvent;
   import org.apache.catalina.LifecycleListener;
   import org.apache.catalina.Logger;
   import org.apache.catalina.Pipeline;
  +import org.apache.catalina.Service;
   import org.apache.catalina.Valve;
   import org.apache.catalina.Wrapper;
   import org.apache.catalina.core.ContainerBase;
  -import org.apache.catalina.Engine;
  -import org.apache.catalina.Host;
  -import org.apache.catalina.core.ContainerBase;
   import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.deploy.ApplicationParameter;
   import org.apache.catalina.deploy.ContextEjb;
  @@ -132,7 +133,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.62 $ $Date: 2002/04/22 19:04:01 $
  + * @version $Revision: 1.63 $ $Date: 2002/05/12 04:04:27 $
*/
   
   public final class ContextConfig
  @@ -397,9 +398,36 @@
* Create and deploy a Valve to expose the SSL certificates presented
* by this client, if any.  If we cannot instantiate such a Valve
* (because the JSSE classes are not available), silently continue.
  + * This is only instantiated for those Contexts being served by
  + * a Connector with secure set to true.
*/
   private void certificatesConfig() {
   
  +// Only install this valve if there is a Connector installed
  +// which has secure set to true.
  +boolean secure = false;
  +Container container = context.getParent();
  +if (container instanceof Host) {
  +System.out.println(certificatesConfig found Host);
  +container = container.getParent();
  +}
  +if (container instanceof Engine) {
  +System.out.println(certificatesConfig found Engine);
  +Service service = ((Engine)container).getService();
  +Connector [] connectors = service.findConnectors();
  +for (int i = 0; i  connectors.length; i++) {
  +System.out.println(certificatesConfig found Connector);
  +secure = connectors[i].getSecure();
  +if (secure) {
  +break;
  +}
  +}
  +}
  +
  +if (!secure) {
  +return;
  +}
  +System.out.println(certificatesConfig add CertificatesValve);
   // Validate that the JSSE classes are present
   try {
   Class clazz = this.getClass().getClassLoader().loadClass
  
  
  

--
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/startup ContextConfig.java

2002-05-11 Thread glenn

glenn   02/05/11 21:06:19

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Remove some debug prints
  
  Revision  ChangesPath
  1.64  +5 -9  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- ContextConfig.java12 May 2002 04:04:27 -  1.63
  +++ ContextConfig.java12 May 2002 04:06:19 -  1.64
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.63 2002/05/12 04:04:27 glenn Exp $
  - * $Revision: 1.63 $
  - * $Date: 2002/05/12 04:04:27 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.64 2002/05/12 04:06:19 glenn Exp $
  + * $Revision: 1.64 $
  + * $Date: 2002/05/12 04:06:19 $
*
* 
*
  @@ -133,7 +133,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.63 $ $Date: 2002/05/12 04:04:27 $
  + * @version $Revision: 1.64 $ $Date: 2002/05/12 04:06:19 $
*/
   
   public final class ContextConfig
  @@ -408,26 +408,22 @@
   boolean secure = false;
   Container container = context.getParent();
   if (container instanceof Host) {
  -System.out.println(certificatesConfig found Host);
   container = container.getParent();
   }
   if (container instanceof Engine) {
  -System.out.println(certificatesConfig found Engine);
   Service service = ((Engine)container).getService();
   Connector [] connectors = service.findConnectors();
   for (int i = 0; i  connectors.length; i++) {
  -System.out.println(certificatesConfig found Connector);
   secure = connectors[i].getSecure();
   if (secure) {
   break;
   }
   }
   }
  -
   if (!secure) {
   return;
   }
  -System.out.println(certificatesConfig add CertificatesValve);
  +
   // Validate that the JSSE classes are present
   try {
   Class clazz = this.getClass().getClassLoader().loadClass
  
  
  

--
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/startup ContextConfig.java HostConfig.java LocalStrings.properties

2002-03-14 Thread craigmcc

craigmcc02/03/14 15:58:36

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java HostConfig.java
LocalStrings.properties
  Log:
  Refactor the TLD scanning code in ContextConfig to improve clarity, avoid
  redundant parsing of the same TLD, and some wasted effort trying to parse
  a JAR as an XML document (and vice versa) in the old code.
  
  Currently, the jarFile.close() statement to close a JAR file after scanning
  is still commented out (as it was before).  Closing the JAR file here seems
  to mess up the WebappClassLoader (which has already included this JAR file
  in its repository of available URLs) by causing Zip File Is Closed
  exceptions when it attempts to load classes from that JAR.
  
  In HostConfig, the only change was to close the JAR in a finally block when
  expanding a WAR, even if an exception has occurred.
  
  Revision  ChangesPath
  1.60  +221 -130  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- ContextConfig.java5 Mar 2002 01:53:11 -   1.59
  +++ ContextConfig.java14 Mar 2002 23:58:35 -  1.60
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.59 2002/03/05 01:53:11 craigmcc Exp $
  - * $Revision: 1.59 $
  - * $Date: 2002/03/05 01:53:11 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.60 2002/03/14 23:58:35 craigmcc Exp $
  + * $Revision: 1.60 $
  + * $Date: 2002/03/14 23:58:35 $
*
* 
*
  @@ -77,16 +77,20 @@
   import java.net.URL;
   import java.util.ArrayList;
   import java.util.Enumeration;
  +import java.util.HashSet;
  +import java.util.Iterator;
   import java.util.MissingResourceException;
   import java.util.ResourceBundle;
  +import java.util.Set;
   import java.util.Stack;
   import java.util.jar.JarEntry;
   import java.util.jar.JarFile;
  -import javax.servlet.ServletContext;
   import javax.naming.NamingException;
   import javax.naming.NameClassPair;
   import javax.naming.NamingEnumeration;
   import javax.naming.directory.DirContext;
  +import javax.servlet.ServletContext;
  +import javax.servlet.ServletException;
   import org.apache.catalina.Authenticator;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  @@ -127,7 +131,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.59 $ $Date: 2002/03/05 01:53:11 $
  + * @version $Revision: 1.60 $ $Date: 2002/03/14 23:58:35 $
*/
   
   public final class ContextConfig
  @@ -591,8 +595,14 @@
   applicationConfig();
   
   // Scan tag library descriptor files for additional listener classes
  -if (ok)
  -tldConfig();
  +if (ok) {
  +try {
  +tldScan();
  +} catch (Exception e) {
  +log(e.getMessage(), e);
  +ok = false;
  +}
  +}
   
   // Configure a certificates exposer valve, if required
   if (ok)
  @@ -781,76 +791,24 @@
   
   
   /**
  - * Scan the tag library descriptors of all tag libraries we can find, and
  - * register any application descriptor classes that are found there.
  + * Scan for and configure all tag library descriptors found in this
  + * web application.
  + *
  + * @exception Exception if a fatal input/output or parsing error occurs
*/
  -private void tldConfig() {
  -
  -// Acquire a Digester to use for parsing
  -synchronized (tldDigester) {
  -
  -// First, scan tag libraries declared in our deployment descriptor
  -if (debug = 1)
  -log(Scanning web.xml tag libraries);
  -ArrayList resourcePaths = new ArrayList(); // Already done TLDs
  -String taglibs[] = context.findTaglibs();
  -for (int i = 0; i  taglibs.length; i++) {
  -
  -// Calculate the resource path of the next tag library to check
  -String resourcePath = context.findTaglib(taglibs[i]);
  -if (!resourcePath.startsWith(/))
  -resourcePath = /WEB-INF/web.xml/../ + resourcePath;
  -if (debug = 2)
  -log(  URI=' + taglibs[i] + ', ResourcePath=' +
  -resourcePath + ');
  -if 

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2002-03-04 Thread craigmcc

craigmcc02/03/04 17:53:12

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Fix a race condition that could cause problems if two contexts are being
  started simultaneously.  The start() method was already synchronized, but
  this only helps you deal with two attempts to start the *same* app at the
  same time.  The underlying Digester instance would still be incorrectly
  shared.
  
  The symptom was parsing failures on one or both web.xml files -- this would
  happen rarely during a normal startup when you have lots of virtual
  hosts, but more often when you hammer on the manager webapp deploying and
  undeploying applications.
  
  Revision  ChangesPath
  1.59  +129 -134  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- ContextConfig.java20 Feb 2002 03:18:19 -  1.58
  +++ ContextConfig.java5 Mar 2002 01:53:11 -   1.59
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.58 2002/02/20 03:18:19 remm Exp $
  - * $Revision: 1.58 $
  - * $Date: 2002/02/20 03:18:19 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.59 2002/03/05 01:53:11 craigmcc Exp $
  + * $Revision: 1.59 $
  + * $Date: 2002/03/05 01:53:11 $
*
* 
*
  @@ -127,7 +127,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.58 $ $Date: 2002/02/20 03:18:19 $
  + * @version $Revision: 1.59 $ $Date: 2002/03/05 01:53:11 $
*/
   
   public final class ContextConfig
  @@ -174,14 +174,14 @@
* The codeDigester/code we will use to process tag library
* descriptor files.
*/
  -private static Digester tldDigester = null;
  +private static Digester tldDigester = createTldDigester();
   
   
   /**
* The codeDigester/code we will use to process web application
* deployment descriptor files.
*/
  -private static Digester webDigester = null;
  +private static Digester webDigester = createWebDigester();
   
   
   // - Properties
  @@ -261,29 +261,30 @@
   }
   
   // Process the application web.xml file
  -try {
  -Digester digester = createWebDigester();
  -digester.setDebug(getDebug());
  -synchronized (digester) {
  -if (context instanceof StandardContext)
  -((StandardContext) context).setReplaceWelcomeFiles(true);
  -digester.push(context);
  -digester.parse(stream);
  -}
  -} catch (SAXParseException e) {
  -log(sm.getString(contextConfig.applicationParse), e);
  -log(sm.getString(contextConfig.applicationPosition,
  -  + e.getLineNumber(),
  -  + e.getColumnNumber()));
  -ok = false;
  -} catch (Exception e) {
  -log(sm.getString(contextConfig.applicationParse), e);
  -ok = false;
  -} finally {
  +synchronized (webDigester) {
   try {
  -stream.close();
  -} catch (IOException e) {
  -log(sm.getString(contextConfig.applicationClose), e);
  +webDigester.setDebug(getDebug());
  +if (context instanceof StandardContext) {
  +((StandardContext) context).setReplaceWelcomeFiles(true);
  +}
  +webDigester.clear();
  +webDigester.push(context);
  +webDigester.parse(stream);
  +} catch (SAXParseException e) {
  +log(sm.getString(contextConfig.applicationParse), e);
  +log(sm.getString(contextConfig.applicationPosition,
  +  + e.getLineNumber(),
  +  + e.getColumnNumber()));
  +ok = false;
  +} catch (Exception e) {
  +log(sm.getString(contextConfig.applicationParse), e);
  +ok = false;
  +} finally {
  +try {
  +stream.close();
  +} catch (IOException e) {
  +log(sm.getString(contextConfig.applicationClose), e);
  +}
   }
   }
   
  @@ -431,22 +432,18 

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2002-02-19 Thread craigmcc

craigmcc02/02/19 14:16:00

  Modified:catalina/src/share/org/apache/catalina/mbeans
MBeanUtils.java ServerLifecycleListener.java
   catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Correct the mechanism by which MBean names were generated for Valves.  The
  previous algorithm did not support repeated generation of the same name for
  the same Valve instance, which manifested itself as failure to find the
  appropriate MBeans at shutdown time (so that shutdown could complete).
  
  Fix a couple of places in ContextConfig where new valves were being added,
  but the appropriate event listener notifications were not getting sent.
  This causes some Valve MBeans to not get created at startup time.
  
  PR: 4639432
  
  Revision  ChangesPath
  1.27  +13 -30
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
  
  Index: MBeanUtils.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- MBeanUtils.java   19 Feb 2002 02:15:27 -  1.26
  +++ MBeanUtils.java   19 Feb 2002 22:16:00 -  1.27
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
 1.26 2002/02/19 02:15:27 craigmcc Exp $
  - * $Revision: 1.26 $
  - * $Date: 2002/02/19 02:15:27 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
 1.27 2002/02/19 22:16:00 craigmcc Exp $
  + * $Revision: 1.27 $
  + * $Date: 2002/02/19 22:16:00 $
*
* 
*
  @@ -109,7 +109,7 @@
*
* @author Craig R. McClanahan
* @author Amy Roh
  - * @version $Revision: 1.26 $ $Date: 2002/02/19 02:15:27 $
  + * @version $Revision: 1.27 $ $Date: 2002/02/19 22:16:00 $
*/
   
   public class MBeanUtils {
  @@ -159,14 +159,6 @@
   private static MBeanServer mserver = createServer();
   
   
  -/**
  - * The sequence number for Valve
  - */
  -private static int contextValveSequence = 0;
  -private static int hostValveSequence = 0;
  -private static int engineValveSequence = 0;
  -
  -
   // - Static Methods
   
   
  @@ -1172,21 +1164,15 @@
   
   if (container instanceof Engine) {
   Service service = ((Engine)container).getService();
  -Integer sequenceInt = new Integer(engineValveSequence);
  -String sequenceStr = sequenceInt.toString();
   name = new ObjectName(domain + :type=Valve,sequence= +
  -sequenceStr + ,service= +
  -service.getName());
  -engineValveSequence++;
  +  valve.hashCode() + ,service= +
  +  service.getName());
   } else if (container instanceof Host) {
   Service service = ((Engine)container.getParent()).getService();
  -Integer sequenceInt = new Integer(hostValveSequence);
  -String sequenceStr = sequenceInt.toString();
   name = new ObjectName(domain + :type=Valve,sequence= +
  -sequenceStr + ,host= +
  -container.getName() + ,service= +
  -service.getName());
  -hostValveSequence++;
  +  valve.hashCode() + ,host= +
  +  container.getName() + ,service= +
  +  service.getName());
   } else if (container instanceof Context) {
   String path = ((Context)container).getPath();
   if (path.length()  1) {
  @@ -1194,14 +1180,11 @@
   }
   Host host = (Host) container.getParent();
   Service service = ((Engine) host.getParent()).getService();
  -Integer sequenceInt = new Integer(contextValveSequence);
  -String sequenceStr = sequenceInt.toString();
   name = new ObjectName(domain + :type=Valve,sequence= +
  -sequenceStr + ,path= +
  -path + ,host= +
  -host.getName() + ,service= +
  -service.getName());
  -contextValveSequence++;
  +  valve.hashCode() + ,path= +
  +  path + ,host= +
  +  host.getName() + ,service= +
  +  service.getName());
   }
   
   return (name);
  
  
  
  1.20   

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2002-02-19 Thread remm

remm02/02/19 19:18:19

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Fix bug 6090. WEB-INF will now be scanned for TLD files containing listeners.
  
  Revision  ChangesPath
  1.58  +27 -12
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- ContextConfig.java19 Feb 2002 22:16:00 -  1.57
  +++ ContextConfig.java20 Feb 2002 03:18:19 -  1.58
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.57 2002/02/19 22:16:00 craigmcc Exp $
  - * $Revision: 1.57 $
  - * $Date: 2002/02/19 22:16:00 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.58 2002/02/20 03:18:19 remm Exp $
  + * $Revision: 1.58 $
  + * $Date: 2002/02/20 03:18:19 $
*
* 
*
  @@ -127,7 +127,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.57 $ $Date: 2002/02/19 22:16:00 $
  + * @version $Revision: 1.58 $ $Date: 2002/02/20 03:18:19 $
*/
   
   public final class ContextConfig
  @@ -823,27 +823,42 @@
   
   }
   
  -// Second, scan tag libraries defined in JAR files
  -// FIXME - Yet another dependence on files
  +DirContext resources = context.getResources();
  +
  +// Second, scan tag libraries defined in tld files in /WEB-INF
  +if (debug = 1)
  +log(Scanning TLD files in /WEB-INF);
  +String webinfName = /WEB-INF;
  +// Looking up directory /WEB-INF in the context
  +try {
  +NamingEnumeration enum = resources.list(webinfName);
  +while (enum.hasMoreElements()) {
  +NameClassPair ncPair = (NameClassPair) enum.nextElement();
  +String filename = webinfName + / + ncPair.getName();
  +if (!filename.endsWith(.tld))
  +continue;
  +tldConfigTld(filename, digester);
  +}
  +} catch (NamingException e) {
  +// Silent catch: it's valid that no /WEB-INF directory exists
  +}
  +
  +// Third, scan tag libraries defined in JAR files
   if (debug = 1)
   log(Scanning library JAR files);
  -DirContext resources = context.getResources();
   String libName = /WEB-INF/lib;
  -DirContext libDir = null;
   // Looking up directory /WEB-INF/lib in the context
   try {
   NamingEnumeration enum = resources.list(libName);
   while (enum.hasMoreElements()) {
  -NameClassPair ncPair =
  -(NameClassPair) enum.nextElement();
  +NameClassPair ncPair = (NameClassPair) enum.nextElement();
   String filename = libName + / + ncPair.getName();
   if (!filename.endsWith(.jar))
   continue;
   tldConfigJar(filename, digester);
   }
   } catch (NamingException e) {
  -// Silent catch: it's valid that no /WEB-INF/lib directory
  -//exists
  +// Silent catch: it's valid that no /WEB-INF/lib directory exists
   }
   
   }
  
  
  

--
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/startup ContextConfig.java

2001-07-28 Thread craigmcc

craigmcc01/07/28 21:34:17

  Modified:catalina/src/share/org/apache/catalina Context.java
   catalina/src/share/org/apache/catalina/core
StandardContext.java StandardHost.java
   catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Correct handling of web application startup so that parsing errors in the
  web.xml file cause the application to be marked unavailable.  Previously,
  the application was started anyway, which could cause security issues (for
  example, confidential information might be visible because of an incorrect
  security constraint definition that was therefore not installed at all).
  
  PR: Bugzilla #2870
  Submitted by: Remy Maucherat [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.17  +20 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Context.java
  
  Index: Context.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Context.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Context.java  2001/04/05 19:30:39 1.16
  +++ Context.java  2001/07/29 04:34:17 1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Context.java,v 
1.16 2001/04/05 19:30:39 craigmcc Exp $
  - * $Revision: 1.16 $
  - * $Date: 2001/04/05 19:30:39 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Context.java,v 
1.17 2001/07/29 04:34:17 craigmcc Exp $
  + * $Revision: 1.17 $
  + * $Date: 2001/07/29 04:34:17 $
*
* 
*
  @@ -96,7 +96,7 @@
* p
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.16 $ $Date: 2001/04/05 19:30:39 $
  + * @version $Revision: 1.17 $ $Date: 2001/07/29 04:34:17 $
*/
   
   public interface Context extends Container {
  @@ -152,6 +152,22 @@
* @param mapper The new mapper
*/
   public void setCharsetMapper(CharsetMapper mapper);
  +
  +
  +/**
  + * Return the correctly configured flag for this Context.
  + */
  +public boolean getConfigured();
  +
  +
  +/**
  + * Set the correctly configured flag for this Context.  This can be
  + * set to false by startup listeners that detect a fatal configuration
  + * error to avoid the application from being made available.
  + *
  + * @param configured The new correctly configured flag
  + */
  +public void setConfigured(boolean configured);
   
   
   /**
  
  
  
  1.73  +49 -8 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.72
  retrieving revision 1.73
  diff -u -r1.72 -r1.73
  --- StandardContext.java  2001/07/26 00:15:58 1.72
  +++ StandardContext.java  2001/07/29 04:34:17 1.73
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
 1.72 2001/07/26 00:15:58 remm Exp $
  - * $Revision: 1.72 $
  - * $Date: 2001/07/26 00:15:58 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
 1.73 2001/07/29 04:34:17 craigmcc Exp $
  + * $Revision: 1.73 $
  + * $Date: 2001/07/29 04:34:17 $
*
* 
*
  @@ -142,7 +142,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
  - * @version $Revision: 1.72 $ $Date: 2001/07/26 00:15:58 $
  + * @version $Revision: 1.73 $ $Date: 2001/07/29 04:34:17 $
*/
   
   public class StandardContext
  @@ -208,6 +208,12 @@
   
   
   /**
  + * The correctly configured flag for this Context.
  + */
  +private boolean configured = false;
  +
  +
  +/**
* The security constraints for this web application.
*/
   private SecurityConstraint constraints[] = new SecurityConstraint[0];
  @@ -626,6 +632,34 @@
   
   
   /**
  + * Return the correctly configured flag for this Context.
  + */
  +public boolean getConfigured() {
  +
  +return (this.configured);
  +
  +}
  +
  +
  +/**
  + * Set the correctly configured flag for this Context.  This can be
  + * set to false by startup listeners that detect a fatal configuration
  + * error to avoid the application from being made available.
  + *
  + * @param configured The new correctly configured flag
  + */
  +public void setConfigured(boolean configured) {
  +
  +boolean oldConfigured = this.configured;
  

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-06-18 Thread remm

remm01/06/18 19:20:32

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Stopping and starting any of the Catalina components is broken at the moment,
because the component is not reinitialized.
  - This fixes the problem (at least partially) for a Context.
  - I think this code should be moved to the container itself. I suggest adding
either a new Container.recycle() method or a new Lifecycle.recycle() method.
  
  Revision  ChangesPath
  1.47  +148 -5
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- ContextConfig.java2001/05/31 03:56:11 1.46
  +++ ContextConfig.java2001/06/19 02:20:32 1.47
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.46 2001/05/31 03:56:11 remm Exp $
  - * $Revision: 1.46 $
  - * $Date: 2001/05/31 03:56:11 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.47 2001/06/19 02:20:32 remm Exp $
  + * $Revision: 1.47 $
  + * $Date: 2001/06/19 02:20:32 $
*
* 
*
  @@ -106,6 +106,14 @@
   import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.deploy.LoginConfig;
   import org.apache.catalina.deploy.SecurityConstraint;
  +import org.apache.catalina.deploy.ApplicationParameter;
  +import org.apache.catalina.deploy.ContextEjb;
  +import org.apache.catalina.deploy.ContextEnvironment;
  +import org.apache.catalina.deploy.ErrorPage;
  +import org.apache.catalina.deploy.FilterDef;
  +import org.apache.catalina.deploy.FilterMap;
  +import org.apache.catalina.deploy.ContextLocalEjb;
  +import org.apache.catalina.deploy.ContextResource;
   import org.apache.catalina.loader.Extension;
   import org.apache.catalina.util.StringManager;
   import org.apache.catalina.util.xml.SaxContext;
  @@ -120,7 +128,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.46 $ $Date: 2001/05/31 03:56:11 $
  + * @version $Revision: 1.47 $ $Date: 2001/06/19 02:20:32 $
*/
   
   public final class ContextConfig
  @@ -859,10 +867,145 @@
   /**
* Process a stop event for this Context.
*/
  -private void stop() {
  +private synchronized void stop() {
   
if (debug  0)
log(sm.getString(contextConfig.stop));
  +
  +int i;
  +
  +// Removing children
  +Container[] children = context.findChildren();
  +for (i = 0; i  children.length; i++) {
  +context.removeChild(children[i]);
  +}
  +
  +// FIXME : remove mappers ?
  +
  +// Removing application listeners
  +String[] applicationListeners = context.findApplicationListeners();
  +for (i = 0; i  applicationListeners.length; i++) {
  +context.removeApplicationListener(applicationListeners[i]);
  +}
  +
  +// Removing application parameters
  +ApplicationParameter[] applicationParameters = 
  +context.findApplicationParameters();
  +for (i = 0; i  applicationParameters.length; i++) {
  +context.removeApplicationParameter
  +(applicationParameters[i].getName());
  +}
  +
  +// Removing security constraints
  +SecurityConstraint[] securityConstraints = context.findConstraints();
  +for (i = 0; i  securityConstraints.length; i++) {
  +context.removeConstraint(securityConstraints[i]);
  +}
  +
  +// Removing Ejbs
  +ContextEjb[] contextEjbs = context.findEjbs();
  +for (i = 0; i  contextEjbs.length; i++) {
  +context.removeEjb(contextEjbs[i].getName());
  +}
  +
  +// Removing environments
  +ContextEnvironment[] contextEnvironments = context.findEnvironments();
  +for (i = 0; i  contextEnvironments.length; i++) {
  +context.removeEnvironment(contextEnvironments[i].getName());
  +}
  +
  +// Removing errors pages
  +ErrorPage[] errorPages = context.findErrorPages();
  +for (i = 0; i  errorPages.length; i++) {
  +context.removeErrorPage(errorPages[i]);
  +}
  +
  +// Removing filter defs
  +FilterDef[] filterDefs = context.findFilterDefs();
  +for (i = 0; i  filterDefs.length; i++) {
  +context.removeFilterDef(filterDefs[i]);
  +}
  +
  +// Removing filter maps
  +  

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-05-30 Thread remm

remm01/05/30 20:56:16

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Remove useless thread bind / unbind (which are now all done in StandardContext).
  
  Revision  ChangesPath
  1.46  +4 -10 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- ContextConfig.java2001/05/08 21:22:36 1.45
  +++ ContextConfig.java2001/05/31 03:56:11 1.46
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.45 2001/05/08 21:22:36 craigmcc Exp $
  - * $Revision: 1.45 $
  - * $Date: 2001/05/08 21:22:36 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.46 2001/05/31 03:56:11 remm Exp $
  + * $Revision: 1.46 $
  + * $Date: 2001/05/31 03:56:11 $
*
* 
*
  @@ -87,7 +87,6 @@
   import javax.naming.NameClassPair;
   import javax.naming.NamingEnumeration;
   import javax.naming.directory.DirContext;
  -import org.apache.naming.resources.DirContextURLStreamHandler;
   import org.apache.catalina.Authenticator;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  @@ -121,7 +120,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.45 $ $Date: 2001/05/08 21:22:36 $
  + * @version $Revision: 1.46 $ $Date: 2001/05/31 03:56:11 $
*/
   
   public final class ContextConfig
  @@ -818,7 +817,6 @@
XmlMapper mapper = createWebMapper();
defaultConfig(mapper);
applicationConfig(mapper);
  -//DirContextURLStreamHandlerFactory.bind(context.getResources());
   
   // Scan tag library descriptor files for additional listener classes
   if (ok)
  @@ -855,8 +853,6 @@
   context.setAvailable(false);
   }
   
  -//DirContextURLStreamHandlerFactory.unbind();
  -
   }
   
   
  @@ -950,12 +946,10 @@
   URL url = context.getServletContext().getResource(resourcePath);
   if (url == null)
   return (false);
  -DirContextURLStreamHandler.bind(context.getResources());
   url = new URL(jar: + url.toString() + !/);
   JarURLConnection conn =
   (JarURLConnection) url.openConnection();
   jarFile = conn.getJarFile();
  -DirContextURLStreamHandler.unbind();
   boolean found = false;
   Enumeration entries = jarFile.entries();
   while (entries.hasMoreElements()) {
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-02-25 Thread glenn

glenn   01/02/25 19:53:13

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Implement DefaultContext in server.xml config
  
  Revision  ChangesPath
  1.41  +21 -5 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ContextConfig.java2001/01/24 19:23:09 1.40
  +++ ContextConfig.java2001/02/26 03:53:12 1.41
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.40 2001/01/24 19:23:09 remm Exp $
  - * $Revision: 1.40 $
  - * $Date: 2001/01/24 19:23:09 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.41 2001/02/26 03:53:12 glenn Exp $
  + * $Revision: 1.41 $
  + * $Date: 2001/02/26 03:53:12 $
*
* 
*
  @@ -89,6 +89,7 @@
   import javax.naming.directory.DirContext;
   import org.apache.naming.resources.DirContextURLStreamHandler;
   import org.apache.catalina.Authenticator;
  +import org.apache.catalina.Container;
   import org.apache.catalina.Context;
   import org.apache.catalina.Globals;
   import org.apache.catalina.Lifecycle;
  @@ -99,7 +100,10 @@
   import org.apache.catalina.Valve;
   import org.apache.catalina.Wrapper;
   import org.apache.catalina.core.ContainerBase;
  -import org.apache.catalina.deploy.ErrorPage;
  +import org.apache.catalina.Engine;
  +import org.apache.catalina.Host;
  +import org.apache.catalina.core.DefaultContext;
  +import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.deploy.LoginConfig;
   import org.apache.catalina.deploy.SecurityConstraint;
   import org.apache.catalina.loader.Extension;
  @@ -116,7 +120,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.40 $ $Date: 2001/01/24 19:23:09 $
  + * @version $Revision: 1.41 $ $Date: 2001/02/26 03:53:12 $
*/
   
   public final class ContextConfig
  @@ -771,6 +775,18 @@
if (debug  0)
log(sm.getString("contextConfig.start"));
   ok = true;
  +
  + // Set properties based on DefaultContext
  + Container container = context.getParent();
  + if( !context.getOverride() ) {
  + if( container instanceof Host ) {
  + ((Host)container).importDefaultContext(context);
  + container = container.getParent();
  + }
  + if( container instanceof Engine ) {
  + ((Engine)container).importDefaultContext(context);
  + }
  + }
   
// Process the default and application web.xml files
XmlMapper mapper = createWebMapper();
  
  
  

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




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-01-24 Thread remm

remm01/01/24 11:23:12

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Replace some FS spcific code with access through a directory context.
  - I ran Watchdog 4 again, and everything was still running fine. Since Watchdog is
supposed to use that code (it's loading a TLD file from a JAR), I assume it's
working fine.
  
  Revision  ChangesPath
  1.40  +24 -25
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- ContextConfig.java2001/01/24 02:35:00 1.39
  +++ ContextConfig.java2001/01/24 19:23:09 1.40
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.39 2001/01/24 02:35:00 remm Exp $
  - * $Revision: 1.39 $
  - * $Date: 2001/01/24 02:35:00 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.40 2001/01/24 19:23:09 remm Exp $
  + * $Revision: 1.40 $
  + * $Date: 2001/01/24 19:23:09 $
*
* 
*
  @@ -83,6 +83,10 @@
   import java.util.jar.JarEntry;
   import java.util.jar.JarFile;
   import javax.servlet.ServletContext;
  +import javax.naming.NamingException;
  +import javax.naming.NameClassPair;
  +import javax.naming.NamingEnumeration;
  +import javax.naming.directory.DirContext;
   import org.apache.naming.resources.DirContextURLStreamHandler;
   import org.apache.catalina.Authenticator;
   import org.apache.catalina.Context;
  @@ -112,7 +116,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.39 $ $Date: 2001/01/24 02:35:00 $
  + * @version $Revision: 1.40 $ $Date: 2001/01/24 19:23:09 $
*/
   
   public final class ContextConfig
  @@ -861,29 +865,24 @@
   // FIXME - Yet another dependence on files
   if (debug = 1)
   log("Scanning library JAR files");
  - ServletContext servletContext = context.getServletContext();
  -URL libURL = null;
  +DirContext resources = context.getResources();
  +String libName = "/WEB-INF/lib";
  +DirContext libDir = null;
  +// Looking up directory /WEB-INF/lib in the context
   try {
  -libURL = servletContext.getResource("/WEB-INF/lib");
  -} catch (MalformedURLException e) {
  -;
  +NamingEnumeration enum = resources.list(libName);
  +while (enum.hasMoreElements()) {
  +NameClassPair ncPair = 
  +(NameClassPair) enum.nextElement();
  +String filename = libName + "/" + ncPair.getName();
  +if (!filename.endsWith(".jar"))
  +continue;
  +tldConfigJar(filename, mapper);
  +}
  +} catch (NamingException e) {
  +// Silent catch: it's valid that no /WEB-INF/lib directory 
  +//exists
   }
  -
  - if ((libURL != null)  "file".equals(libURL.getProtocol())) {
  - File libFile = new File(libURL.getFile());
  - if (libFile.exists()  libFile.canRead() 
  - libFile.isDirectory()) {
  - String filenames[] = libFile.list();
  - for (int i = 0; i  filenames.length; i++) {
  - if (!filenames[i].endsWith(".jar"))
  - continue;
  -String resourcePath = "/WEB-INF/lib/" + filenames[i];
  -if (debug = 2)
  -log("  Trying '" + resourcePath + "'");
  -tldConfigJar("/WEB-INF/lib/" + filenames[i], mapper);
  - }
  - }
  - }
   
   }
   
  
  
  

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




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-01-23 Thread glenn

glenn   01/01/23 14:02:38

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Implement SecurityManager
  
  Revision  ChangesPath
  1.38  +4 -124
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- ContextConfig.java2001/01/23 05:05:51 1.37
  +++ ContextConfig.java2001/01/23 22:02:36 1.38
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.37 2001/01/23 05:05:51 remm Exp $
  - * $Revision: 1.37 $
  - * $Date: 2001/01/23 05:05:51 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.38 2001/01/23 22:02:36 glenn Exp $
  + * $Revision: 1.38 $
  + * $Date: 2001/01/23 22:02:36 $
*
* 
*
  @@ -68,7 +68,6 @@
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.FileNotFoundException;
  -import java.io.FilePermission;
   import java.io.InputStream;
   import java.io.IOException;
   import java.lang.reflect.InvocationTargetException;
  @@ -76,12 +75,6 @@
   import java.net.JarURLConnection;
   import java.net.MalformedURLException;
   import java.net.URL;
  -import java.security.CodeSource;
  -import java.security.Permission;
  -import java.security.Permissions;
  -import java.security.PermissionCollection;
  -import java.security.Policy;
  -import java.security.ProtectionDomain;
   import java.util.ArrayList;
   import java.util.Enumeration;
   import java.util.MissingResourceException;
  @@ -118,7 +111,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.37 $ $Date: 2001/01/23 05:05:51 $
  + * @version $Revision: 1.38 $ $Date: 2001/01/23 22:02:36 $
*/
   
   public final class ContextConfig
  @@ -766,116 +759,6 @@
   
   
   /**
  - * Configure permissions for this web application if we are running
  - * under the control of a security manager.
  - */
  -private void permissionsConfig() {
  -
  -// Has a security manager been installed?
  -SecurityManager securityManager = System.getSecurityManager();
  -if (securityManager == null)
  -return;
  -
  -// Refresh the standard policy permissions
  -if (debug = 1)
  -log("Retrieving global policy permissions");
  -Policy policy = Policy.getPolicy();
  -policy.refresh();
  -
  -// Accumulate the common permissions we will add to all code sources
  -if (debug = 1)
  -log("Building common permissions to add");
  -ServletContext servletContext = context.getServletContext();
  -Permissions commonPerms = new Permissions();
  -URL baseURL = null;
  -try {
  -baseURL = servletContext.getResource("/");
  -if (debug = 1)
  -log(" baseURL=" + baseURL.toString());
  -} catch (MalformedURLException e) {
  -log("permissionsConfig.baseURL", e);
  -}
  -String baseFile = baseURL.toString();
  -if (baseFile.startsWith("file://")) // FIXME - file dependency
  -baseFile = baseFile.substring(7);
  -else if (baseFile.startsWith("file:"))
  -baseFile = baseFile.substring(5);
  -if (baseFile.endsWith("/"))
  -baseFile += "-";
  -else
  -baseFile += "/-";
  -commonPerms.add(new FilePermission(baseFile, "read"));
  -File workDir = (File)
  -context.getServletContext().getAttribute(Globals.WORK_DIR_ATTR);
  -try {
  -commonPerms.add(new FilePermission(workDir.getCanonicalPath() +
  -   "/-",
  -   "read,write,delete"));
  -} catch (IOException e) {
  -log("permissionsConfig.filePerm", e);
  -}
  -if (debug = 1)
  -log(" commonPerms=" + commonPerms.toString());
  -
  -// Build a CodeSource representing our document root code base
  -if (debug = 1)
  -log("Building document root code source");
  -URL docURL = null;
  -try {
  -docURL = servletContext.getResource("/WEB-INF");
  -if (debug = 1)
  -log(" docURL=" + docURL.toString());
  -} catch (MalformedURLException e) {
  -log("permissionsConfig.docURL", e);
  -}
  -

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-01-23 Thread remm

remm01/01/23 18:35:00

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  - Add bind / unbind calls during init to allow resolving of nested JAR URLs.
  - JAR file scanning in /WEB-INF/lib folder needs an update.
  
  Revision  ChangesPath
  1.39  +12 -6 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- ContextConfig.java2001/01/23 22:02:36 1.38
  +++ ContextConfig.java2001/01/24 02:35:00 1.39
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.38 2001/01/23 22:02:36 glenn Exp $
  - * $Revision: 1.38 $
  - * $Date: 2001/01/23 22:02:36 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.39 2001/01/24 02:35:00 remm Exp $
  + * $Revision: 1.39 $
  + * $Date: 2001/01/24 02:35:00 $
*
* 
*
  @@ -83,6 +83,7 @@
   import java.util.jar.JarEntry;
   import java.util.jar.JarFile;
   import javax.servlet.ServletContext;
  +import org.apache.naming.resources.DirContextURLStreamHandler;
   import org.apache.catalina.Authenticator;
   import org.apache.catalina.Context;
   import org.apache.catalina.Globals;
  @@ -111,7 +112,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.38 $ $Date: 2001/01/23 22:02:36 $
  + * @version $Revision: 1.39 $ $Date: 2001/01/24 02:35:00 $
*/
   
   public final class ContextConfig
  @@ -761,7 +762,7 @@
   /**
* Process a "start" event for this Context.
*/
  -private void start() {
  +private synchronized void start() {
   
if (debug  0)
log(sm.getString("contextConfig.start"));
  @@ -771,6 +772,7 @@
XmlMapper mapper = createWebMapper();
defaultConfig(mapper);
applicationConfig(mapper);
  +//DirContextURLStreamHandlerFactory.bind(context.getResources());
   
   // Scan tag library descriptor files for additional listener classes
   if (ok)
  @@ -802,6 +804,8 @@
   context.setAvailable(false);
   }
   
  +//DirContextURLStreamHandlerFactory.unbind();
  +
   }
   
   
  @@ -900,10 +904,12 @@
   URL url = context.getServletContext().getResource(resourcePath);
   if (url == null)
   return (false);
  +DirContextURLStreamHandler.bind(context.getResources());
   url = new URL("jar:" + url.toString() + "!/");
   JarURLConnection conn =
   (JarURLConnection) url.openConnection();
   jarFile = conn.getJarFile();
  +DirContextURLStreamHandler.unbind();
   boolean found = false;
   Enumeration entries = jarFile.entries();
   while (entries.hasMoreElements()) {
  @@ -942,7 +948,7 @@
   }
   return (false);
   }
  -
  +
   }
   
   
  
  
  

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




cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

2001-01-22 Thread craigmcc

craigmcc01/01/22 18:52:01

  Modified:catalina/src/share/org/apache/catalina/startup
ContextConfig.java
  Log:
  Third of four commits for the Valve API change.
  
  Changes reflect the fact that the Context implementation delegates to a
  Pipeline implementation, rather than implementing Pipeline directly.
  
  Revision  ChangesPath
  1.36  +36 -29
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- ContextConfig.java2000/12/22 00:37:52 1.35
  +++ ContextConfig.java2001/01/23 02:52:00 1.36
  @@ -1,13 +1,13 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.35 2000/12/22 00:37:52 craigmcc Exp $
  - * $Revision: 1.35 $
  - * $Date: 2000/12/22 00:37:52 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.36 2001/01/23 02:52:00 craigmcc Exp $
  + * $Revision: 1.36 $
  + * $Date: 2001/01/23 02:52:00 $
*
* 
*
* The Apache Software License, Version 1.1
*
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights
  + * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
  @@ -118,7 +118,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.35 $ $Date: 2000/12/22 00:37:52 $
  + * @version $Revision: 1.36 $ $Date: 2001/01/23 02:52:00 $
*/
   
   public final class ContextConfig
  @@ -278,21 +278,18 @@
// Has an authenticator been configured already?
if (context instanceof Authenticator)
return;
  - if (context instanceof ContainerBase) {
  - Valve basic = ((ContainerBase) context).getBasic();
  - if ((basic != null)  (basic instanceof Authenticator))
  - return;
  - }
  - if (context instanceof Pipeline) {
  - Valve valve = ((Pipeline) context).findValves();
  - while (valve != null) {
  - if (valve instanceof Authenticator)
  - return;
  - if (valve instanceof ValveBase)
  - valve = ((ValveBase) valve).getNext();
  - else
  - valve = null;
  - }
  +if (context instanceof ContainerBase) {
  +Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +if (pipeline != null) {
  +Valve basic = pipeline.getBasic();
  +if ((basic != null)  (basic instanceof Authenticator))
  +return;
  +Valve valves[] = pipeline.getValves();
  +for (int i = 0; i  valves.length; i++) {
  +if (valves[i] instanceof Authenticator)
  +return;
  +}
  +}
} else {
return; // Cannot install a Valve even if it would be needed
}
  @@ -336,9 +333,14 @@
try {
Class authenticatorClass = Class.forName(authenticatorName);
authenticator = (Valve) authenticatorClass.newInstance();
  - ((Pipeline) context).addValve(authenticator);
  - log(sm.getString("contextConfig.authenticatorConfigured",
  -  loginConfig.getAuthMethod()));
  +if (context instanceof ContainerBase) {
  +Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +if (pipeline != null) {
  +pipeline.addValve(authenticator);
  +log(sm.getString("contextConfig.authenticatorConfigured",
  + loginConfig.getAuthMethod()));
  +}
  +}
} catch (Throwable t) {
log(sm.getString("contextConfig.authenticatorInstantiate",
 authenticatorName), t);
  @@ -377,8 +379,14 @@
   
   // Add this Valve to our Pipeline
   try {
  -((Pipeline) context).addValve(certificates);
  -log(sm.getString("contextConfig.certificatesConfig.added"));
  +if (context instanceof ContainerBase) {
  +Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +if (pipeline != null) {
  +pipeline.addValve(certificates);
  +log(sm.getString
  +("contextConfig.certificatesConfig.added"));
  +}
  

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java HostConfig.java

2000-12-21 Thread craigmcc

craigmcc00/12/21 16:37:52

  Modified:catalina/src/share/org/apache/catalina/loader
StandardLoader.java
   catalina/src/share/org/apache/catalina/startup
ContextConfig.java HostConfig.java
  Log:
  Second (and last) round of changes from File.getAbsolutePath() to
  File.getCanonicalPath().  With these changes, the following assertions can
  be made:
  
  * The URLClassLoader for a web application will never be handed a "file:"
URL that is not normalized.
  
  * The document root directory for a web application will always be
normalized.
  
  * The URL returned by ServletContext.getResource() will always be
normalized.
  
  This should clean up the cases where URLClassLoader on some platforms does
  not deal nicely with unnormalized repositories, and causes classes (or
  resources) to mysteriously not load, or not load from the correct place.
  
  Submitted by: Stuart Roebuck [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.13  +12 -9 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java
  
  Index: StandardLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- StandardLoader.java   2000/12/14 22:32:16 1.12
  +++ StandardLoader.java   2000/12/22 00:37:50 1.13
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
 1.12 2000/12/14 22:32:16 craigmcc Exp $
  - * $Revision: 1.12 $
  - * $Date: 2000/12/14 22:32:16 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardLoader.java,v
 1.13 2000/12/22 00:37:50 craigmcc Exp $
  + * $Revision: 1.13 $
  + * $Date: 2000/12/22 00:37:50 $
*
* 
*
  @@ -101,7 +101,7 @@
* is not present, the system class loader will be used instead.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.12 $ $Date: 2000/12/14 22:32:16 $
  + * @version $Revision: 1.13 $ $Date: 2000/12/22 00:37:50 $
*/
   
   public final class StandardLoader
  @@ -191,7 +191,6 @@
* codeReloader/code interface.
*/
   private String loaderClass =
  -//   "org.apache.catalina.loader.FileClassLoader";
"org.apache.catalina.loader.StandardClassLoader";
   
   
  @@ -875,10 +874,14 @@
if (!filenames[i].endsWith(".jar"))
continue;
File jarFile = new File(libFile, filenames[i]);
  - if (debug  0)
  - log(" Adding '" + "file: " +
  -jarFile.getAbsolutePath() + "'");
  -addRepository("file:" + jarFile.getAbsolutePath());
  +try {
  +if (debug  0)
  +log(" Adding '" + "file: " +
  +jarFile.getCanonicalPath() + "'");
  +addRepository("file:" + jarFile.getCanonicalPath());
  +} catch (IOException e) {
  +log(jarFile.getAbsolutePath(), e);
  +}
}
}
}
  
  
  
  1.35  +18 -10
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- ContextConfig.java2000/12/01 19:25:31 1.34
  +++ ContextConfig.java2000/12/22 00:37:52 1.35
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.34 2000/12/01 19:25:31 craigmcc Exp $
  - * $Revision: 1.34 $
  - * $Date: 2000/12/01 19:25:31 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.35 2000/12/22 00:37:52 craigmcc Exp $
  + * $Revision: 1.35 $
  + * $Date: 2000/12/22 00:37:52 $
*
* 
*
  @@ -118,7 +118,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
  - * @version $Revision: 1.34 $ $Date: 2000/12/01 19:25:31 $
  + * @version $Revision: 1.35 $ $Date: 2000/12/22 00:37:52 $
*/
   
   public final class ContextConfig
  @@ -678,10 +678,13 @@
File.separator + Constants.DefaultWebXml);
FileInputStream stream = null;
try {
  -