cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java WebappClassLoader.java

2004-04-14 Thread luehe
luehe   2004/04/14 10:35:41

  Modified:catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java WebappClassLoader.java
  Log:
  Added support for exception chaining.
  
  Revision  ChangesPath
  1.9   +12 -10
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- StandardClassLoader.java  2 Mar 2004 12:31:57 -   1.8
  +++ StandardClassLoader.java  14 Apr 2004 17:35:41 -  1.9
  @@ -370,7 +370,10 @@
   URL url = new URL(null, repository, streamHandler);
   super.addURL(url);
   } catch (MalformedURLException e) {
  -throw new IllegalArgumentException(e.toString());
  +IllegalArgumentException iae = new IllegalArgumentException
  +(Invalid repository:  + repository);
  +iae.initCause(e);
  +throw iae;
   }
   
   // Add this repository to our internal list
  @@ -454,7 +457,7 @@
   } catch (Exception se) {
   if (debug = 4)
   log(  --Exception--ClassNotFoundException, se);
  -throw new ClassNotFoundException(name);
  +throw new ClassNotFoundException(name, se);
   }
   }
   }
  @@ -473,7 +476,7 @@
   clazz = super.findClass(name);
   }
   } catch(AccessControlException ace) {
  -throw new ClassNotFoundException(name);
  +throw new ClassNotFoundException(name, ace);
   } catch (RuntimeException e) {
   if (debug = 4)
   log(  --RuntimeException Rethrown, e);
  @@ -774,10 +777,8 @@
   } catch (SecurityException se) {
   String error = Security Violation, attempt to use  +
   Restricted Class:  + name;
  -System.out.println(error);
  -se.printStackTrace();
   log(error);
  -throw new ClassNotFoundException(error);
  +throw new ClassNotFoundException(error, se);
   }
   }
   }
  @@ -944,9 +945,10 @@
repository + ');
   }
   } catch (Throwable t) {
  -t.printStackTrace();
  -throw new IllegalArgumentException
  -(addRepositoryInternal:  + t);
  +IllegalArgumentException iae = new IllegalArgumentException
  +(addRepositoryInternal);
  +iae.initCause(t);
  +throw iae;
   } finally {
   if (jarFile != null) {
   try {
  
  
  
  1.32  +9 -9  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
  
  Index: WebappClassLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- WebappClassLoader.java27 Feb 2004 14:58:44 -  1.31
  +++ WebappClassLoader.java14 Apr 2004 17:35:41 -  1.32
  @@ -545,7 +545,10 @@
   hasExternalRepositories = true;
   repositoryURLs = null;
   } catch (MalformedURLException e) {
  -throw new IllegalArgumentException(e.toString());
  +IllegalArgumentException iae = new IllegalArgumentException
  +(Invalid repository:  + repository);
  +iae.initCause(e);
  +throw iae;
   }
   
   }
  @@ -842,7 +845,7 @@
   } catch (Exception se) {
   if (log.isTraceEnabled())
   log.trace(  --Exception--ClassNotFoundException, 
se);
  -throw new ClassNotFoundException(name);
  +throw new ClassNotFoundException(name, se);
   }
   }
   }
  @@ -860,8 +863,7 @@
   throw cnfe;
   }
   } catch(AccessControlException ace) {
  -ace.printStackTrace();
  -throw new ClassNotFoundException(name);
  +throw new ClassNotFoundException(name, ace);
   } catch (RuntimeException e) {
   if (log.isTraceEnabled())
   log.trace(  --RuntimeException 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java WebappClassLoader.java

2004-04-14 Thread luehe
luehe   2004/04/14 18:44:09

  Modified:catalina/src/share/org/apache/catalina/core
StandardContext.java StandardDefaultContext.java
   catalina/src/share/org/apache/catalina/valves
RequestFilterValve.java
   catalina/src/share/org/apache/catalina/mbeans
DefaultContextMBean.java GroupMBean.java
MemoryUserDatabaseMBean.java
NamingResourcesMBean.java StandardContextMBean.java
UserMBean.java
   catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java WebappClassLoader.java
  Log:
  Hide Throwable.initCause() inside Jdk14Compat, in order to preserver BC with J2SE 
1.3
  
  Revision  ChangesPath
  1.127 +21 -11
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.126
  retrieving revision 1.127
  diff -u -r1.126 -r1.127
  --- StandardContext.java  13 Apr 2004 23:59:50 -  1.126
  +++ StandardContext.java  15 Apr 2004 01:44:08 -  1.127
  @@ -101,6 +101,7 @@
   import org.apache.naming.resources.FileDirContext;
   import org.apache.naming.resources.ProxyDirContext;
   import org.apache.naming.resources.WARDirContext;
  +import org.apache.tomcat.util.compat.JdkCompat;
   
   /**
* Standard implementation of the bContext/b interface.  Each
  @@ -135,6 +136,22 @@
   }
   
   
  +// - Class Variables
  +
  +
  +/**
  + * The descriptive information string for this implementation.
  + */
  +private static final String info =
  +org.apache.catalina.core.StandardContext/1.0;
  +
  +
  +/**
  + * JDK compatibility support
  + */
  +private static final JdkCompat jdkCompat = JdkCompat.getJdkCompat();
  +
  +
   // - Instance Variables
   
   
  @@ -305,13 +322,6 @@
   
   
   /**
  - * The descriptive information string for this implementation.
  - */
  -private static final String info =
  -org.apache.catalina.core.StandardContext/1.0;
  -
  -
  -/**
* The set of classnames of InstanceListeners that will be added
* to each newly created Wrapper by codecreateWrapper()/code.
*/
  @@ -5066,7 +5076,7 @@
   } catch (MalformedObjectNameException e) {
   IllegalArgumentException iae = new IllegalArgumentException
   (Cannot create object name for environment  + envs[i]);
  -iae.initCause(e);
  +jdkCompat.chainException(iae, e);
   throw iae;
   }
   }
  @@ -5091,7 +5101,7 @@
   } catch (MalformedObjectNameException e) {
   IllegalArgumentException iae = new IllegalArgumentException
   (Cannot create object name for resource  + resources[i]);
  -iae.initCause(e);
  +jdkCompat.chainException(iae, e);
   throw iae;
   }
   }
  @@ -5116,7 +5126,7 @@
   } catch (MalformedObjectNameException e) {
   IllegalArgumentException iae = new IllegalArgumentException
   (Cannot create object name for resource  + links[i]);
  -iae.initCause(e);
  +jdkCompat.chainException(iae, e);
   throw iae;
   }
   }
  
  
  
  1.14  +22 -12
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardDefaultContext.java
  
  Index: StandardDefaultContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardDefaultContext.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- StandardDefaultContext.java   13 Apr 2004 23:59:50 -  1.13
  +++ StandardDefaultContext.java   15 Apr 2004 01:44:09 -  1.14
  @@ -53,6 +53,7 @@
   import org.apache.commons.modeler.ManagedBean;
   import org.apache.commons.modeler.Registry;
   import org.apache.naming.ContextAccessController;
  +import org.apache.tomcat.util.compat.JdkCompat;
   
   /**
* Used to store the default configuration a Host will use
  @@ -81,6 +82,22 @@
   }
   
   
  +// - Class Variables
  +
  +
  +/**
  + * The string manager for this package.
  + */
  +protected static StringManager sm =
  +StringManager.getManager(Constants.Package);
  +
 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java WebappClassLoader.java WebappLoader.java

2002-10-16 Thread jfarcand

jfarcand2002/10/16 09:08:29

  Modified:catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java WebappClassLoader.java
WebappLoader.java
  Log:
  Security Audit. Protect the findRepositories public method by cloning the String[] 
values. This method is no used right now. Should I remove it instead of protecting it?
  
  Revision  ChangesPath
  1.5   +7 -6  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StandardClassLoader.java  11 Oct 2002 16:08:59 -  1.4
  +++ StandardClassLoader.java  16 Oct 2002 16:08:28 -  1.5
  @@ -429,11 +429,12 @@
   /**
* Return a String array of the current repositories for this class
* loader.  If there are no repositories, a zero-length array is
  - * returned.
  + * returned. For security reason, returns a clone of the Array (since 
  + * String are immutable).
*/
   public String[] findRepositories() {
   
  -return (repositories);
  +return ((String[])repositories.clone());
   
   }
   
  
  
  
  1.10  +7 -6  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
  
  Index: WebappClassLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- WebappClassLoader.java11 Oct 2002 15:52:01 -  1.9
  +++ WebappClassLoader.java16 Oct 2002 16:08:29 -  1.10
  @@ -668,11 +668,12 @@
   /**
* Return a String array of the current repositories for this class
* loader.  If there are no repositories, a zero-length array is
  - * returned.
  + * returned.For security reason, returns a clone of the Array (since 
  + * String are immutable).
*/
   public String[] findRepositories() {
   
  -return (repositories);
  +return ((String[])repositories.clone());
   
   }
   
  
  
  
  1.5   +7 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WebappLoader.java 20 Sep 2002 21:22:31 -  1.4
  +++ WebappLoader.java 16 Oct 2002 16:08:29 -  1.5
  @@ -536,10 +536,12 @@
   /**
* Return the set of repositories defined for this class loader.
* If none are defined, a zero-length array is returned.
  + * For security reason, returns a clone of the Array (since 
  + * String are immutable).
*/
   public String[] findRepositories() {
   
  -return (repositories);
  +return ((String[])repositories.clone());
   
   }
   
  
  
  

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