glenn       2003/03/08 09:01:54

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        JspRuntimeContext.java
  Log:
  Port bug #17775 patch from Tomcat 4
  
  Revision  Changes    Path
  1.12      +26 -13    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspRuntimeContext.java
  
  Index: JspRuntimeContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspRuntimeContext.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JspRuntimeContext.java    21 Feb 2003 18:23:14 -0000      1.11
  +++ JspRuntimeContext.java    8 Mar 2003 17:01:54 -0000       1.12
  @@ -398,30 +398,43 @@
                   if( docBase == null ) {
                       docBase = options.getScratchDir().toString();
                   }
  -                if (!docBase.endsWith(File.separator)){
  -                    docBase = docBase + File.separator;
  +                String codeBase = docBase;
  +                if (!codeBase.endsWith(File.separator)){
  +                    codeBase = codeBase + File.separator;
                   }
  -                File contextDir = new File(docBase);
  +                File contextDir = new File(codeBase);
                   URL url = contextDir.getCanonicalFile().toURL();
                   codeSource = new CodeSource(url,null);
                   permissionCollection = policy.getPermissions(codeSource);
   
  +                // Create a file read permission for web app context directory
  +                if (!docBase.endsWith(File.separator)){
  +                    permissionCollection.add
  +                        (new FilePermission(docBase,"read"));
  +                    docBase = docBase + File.separator;
  +                } else {
  +                    permissionCollection.add
  +                        (new FilePermission
  +                            (docBase.substring(0,docBase.length() - 1),"read"));
  +                }
                   docBase = docBase + "-";
                   permissionCollection.add(new FilePermission(docBase,"read"));
   
  -                // Create a file read permission for web app tempdir (work) 
directory
  +                // Create a file read permission for web app tempdir (work)
  +                // directory
                   String workDir = options.getScratchDir().toString();
  -                if (workDir.endsWith(File.separator)) {
  -                    workDir = workDir + "-";
  -                } else {
  -                    workDir = workDir + File.separator + "-";
  +                if (!workDir.endsWith(File.separator)){
  +                    permissionCollection.add
  +                        (new FilePermission(workDir,"read"));
  +                    workDir = workDir + File.separator;
                   }
  +                workDir = workDir + "-";
                   permissionCollection.add(new FilePermission(workDir,"read"));
   
                   // Allow the JSP to access org.apache.jasper.runtime.HttpJspBase
                   permissionCollection.add( new RuntimePermission(
                       "accessClassInPackage.org.apache.jasper.runtime") );
  -                
  +
                   if (parentClassLoader instanceof URLClassLoader) {
                       URL [] urls = parentClassLoader.getURLs();
                       String jarUrl = null;
  
  
  

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

Reply via email to