remm        01/09/24 15:17:42

  Modified:    catalina/src/share/org/apache/catalina/loader Tag:
                        tomcat_40_branch WebappClassLoader.java
  Log:
  - The validate check was too strict, at least with packages from the sevlet API,
    as it refused loading the JSPTL JAR (which uses package javax.servlet.jsptl).
    Bug reported by Justyna Horwat.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.15.2.2  +18 -5     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
  
  Index: WebappClassLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
  retrieving revision 1.15.2.1
  retrieving revision 1.15.2.2
  diff -u -r1.15.2.1 -r1.15.2.2
  --- WebappClassLoader.java    2001/09/20 17:47:23     1.15.2.1
  +++ WebappClassLoader.java    2001/09/24 22:17:42     1.15.2.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
 1.15.2.1 2001/09/20 17:47:23 remm Exp $
  - * $Revision: 1.15.2.1 $
  - * $Date: 2001/09/20 17:47:23 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
 1.15.2.2 2001/09/24 22:17:42 remm Exp $
  + * $Revision: 1.15.2.2 $
  + * $Date: 2001/09/24 22:17:42 $
    *
    * ====================================================================
    *
  @@ -123,7 +123,7 @@
    *
    * @author Remy Maucherat
    * @author Craig R. McClanahan
  - * @version $Revision: 1.15.2.1 $ $Date: 2001/09/20 17:47:23 $
  + * @version $Revision: 1.15.2.2 $ $Date: 2001/09/24 22:17:42 $
    */
   public class WebappClassLoader
       extends URLClassLoader
  @@ -1756,7 +1756,20 @@
               return false;
           if (name.startsWith("java."))
               return false;
  -        if (name.startsWith("javax.servlet."))
  +
  +        // Looking up the package
  +        String packageName = null;
  +        int pos = name.lastIndexOf('.');
  +        if (pos != -1)
  +            packageName = name.substring(0, pos);
  +
  +        if (packageName.equals("javax.servlet"))
  +            return false;
  +        if (packageName.equals("javax.servlet.http"))
  +            return false;
  +        if (packageName.equals("javax.servlet.jsp"))
  +            return false;
  +        if (packageName.equals("javax.servlet.jsp.tagext"))
               return false;
   
           return true;
  
  
  

Reply via email to