Package java.io

Examples of java.io.FilePermission


    try {
      objToSave = (new java.io.FilePermission("<<ALL FILES>>", "read"))
          .newPermissionCollection();
      ((java.security.PermissionCollection) objToSave)
          .add(new FilePermission("<<ALL FILES>>", "read"));
      ((java.security.PermissionCollection) objToSave)
          .add(new FilePermission("d:\\", "read"));
      if (DEBUG)
        System.out.println("Obj = " + objToSave);
      objLoaded = dumpAndReload(objToSave);

      // Has to have worked
View Full Code Here


   */
  public void test_ConstructorLjava_lang_StringLjava_lang_String() {
    // Test for method java.io.FilePermission(java.lang.String,
    // java.lang.String)
    assertTrue("Used to test", true);
    FilePermission constructFile = new FilePermission("test constructor",
        "write");
    assertEquals("action given to the constructor did not correspond - constructor failed",
        "write", constructFile.getActions());
    assertTrue(
        "name given to the construcotr did not correspond - construcotr failed",
        constructFile.getName() == "test constructor");

        // Regression test for HARMONY-1050
        try {
            new FilePermission(null, "drink");
            fail("Expected IAE");
        } catch (IllegalArgumentException e) {
            // Expected
        }
       
        try {
            new FilePermission(null, "read");
            fail("Expected NPE");
        } catch (NullPointerException e) {
            // Expected
        }
       
        try {
            new FilePermission(null, null);
            fail("Expected IAE");
        } catch (IllegalArgumentException e) {
            // Expected
        }
  }
View Full Code Here

    assertTrue("Returned false for subset of files and actions",
        allInCurrent.implies(readInFile));
    assertTrue("Returned false for equal FilePermissions", readAllFiles
        .implies(alsoReadAllFiles));

    FilePermission fp3 = new FilePermission("/bob/*".replace('/',
        File.separatorChar), "read,write");
    FilePermission fp4 = new FilePermission("/bob/".replace('/',
        File.separatorChar), "write");
    assertTrue("returned true for same dir using * and not *", !fp3
        .implies(fp4));
    FilePermission fp5 = new FilePermission("/bob/file".replace('/',
        File.separatorChar), "write");
    assertTrue("returned false for same dir using * and file", fp3
        .implies(fp5));

    FilePermission fp6 = new FilePermission("/bob/".replace('/',
        File.separatorChar), "read,write");
    FilePermission fp7 = new FilePermission("/bob/*".replace('/',
        File.separatorChar), "write");
    assertTrue("returned false for same dir using not * and *", !fp6
        .implies(fp7));
    assertTrue("returned false for same subdir", fp6.implies(fp4));

    FilePermission fp8 = new FilePermission("/".replace('/',
        File.separatorChar), "read,write");
    FilePermission fp9 = new FilePermission("/".replace('/',
        File.separatorChar), "write");
    assertTrue("returned false for same dir", fp8.implies(fp9));

    FilePermission fp10 = new FilePermission("/".replace('/',
        File.separatorChar), "read,write");
    FilePermission fp11 = new FilePermission("/".replace('/',
        File.separatorChar), "write");
    assertTrue("returned false for same dir", fp10.implies(fp11));

    FilePermission fp12 = new FilePermission("/*".replace('/',
        File.separatorChar), "read,write");
    assertTrue("returned false for same dir using * and dir", !fp12
        .implies(fp10));
  }
View Full Code Here

   * @tests java.io.FilePermission#newPermissionCollection()
   */
  public void test_newPermissionCollection() {
    // test for method java.io.FilePermission.newPermissionCollection
    char s = File.separatorChar;
    FilePermission perm[] = new FilePermission[4];
    perm[0] = readAllFiles;
    perm[1] = allInCurrent;
    perm[2] = new FilePermission(s + "tmp" + s + "test" + s + "*",
        "read,write");
    perm[3] = new FilePermission(s + "tmp" + s + "test" + s
        + "collection.file", "read");

    PermissionCollection collect = perm[0].newPermissionCollection();
    for (int i = 0; i < perm.length; i++) {
      collect.add(perm[i]);
    }
    assertTrue("returned false for subset of files", collect
        .implies(new FilePermission("*", "write")));
    assertTrue("returned false for subset of name and action", collect
        .implies(new FilePermission(s + "tmp", "read")));
    assertTrue("returned true for non subset of file and action", collect
        .implies(readInFile));

    FilePermission fp1 = new FilePermission("/tmp/-".replace('/',
        File.separatorChar), "read");
    PermissionCollection fpc = fp1.newPermissionCollection();
    fpc.add(fp1);
    fpc.add(new FilePermission("/tmp/scratch/foo/*".replace('/',
        File.separatorChar), "write"));
    FilePermission fp2 = new FilePermission("/tmp/scratch/foo/file"
        .replace('/', File.separatorChar), "read,write");
    assertTrue("collection does not collate", fpc.implies(fp2));
  }
View Full Code Here

            (File) servletContext.getAttribute(Globals.WORK_DIR_ATTR);
        if (workDir != null) {
            try {
                String workDirPath = workDir.getCanonicalPath();
                classLoader.addPermission
                    (new FilePermission(workDirPath, "read,write"));
                classLoader.addPermission
                    (new FilePermission(workDirPath + File.separator + "-",
                                        "read,write,delete"));
            } catch (IOException e) {
                // Ignore
            }
        }
View Full Code Here

                }
                permission = new JndiPermission(path + "*");
                addPermission(permission);
            } else {
                if (!path.endsWith(File.separator)) {
                    permission = new FilePermission(path, "read");
                    addPermission(permission);
                    path = path + File.separator;
                }
                permission = new FilePermission(path + "-", "read");
                addPermission(permission);
            }
        }
    }
View Full Code Here

                }
                permission = new JndiPermission(path + "*");
                addPermission(permission);
            } else {
                if (!path.endsWith(File.separator)) {
                    permission = new FilePermission(path, "read");
                    addPermission(permission);
                    path = path + File.separator;
                }
                permission = new FilePermission(path + "-", "read");
                addPermission(permission);
            }
        }
    }
View Full Code Here

            (File) servletContext.getAttribute(ServletContext.TEMPDIR);
        if (workDir != null) {
            try {
                String workDirPath = workDir.getCanonicalPath();
                classLoader.addPermission
                    (new FilePermission(workDirPath, "read,write"));
                classLoader.addPermission
                    (new FilePermission(workDirPath + File.separator + "-",
                                        "read,write,delete"));
            } catch (IOException e) {
                // Ignore
            }
        }
View Full Code Here

                }
                permission = new JndiPermission(path + "*");
                addPermission(permission);
            } else {
                if (!path.endsWith(File.separator)) {
                    permission = new FilePermission(path, "read");
                    addPermission(permission);
                    path = path + File.separator;
                }
                permission = new FilePermission(path + "-", "read");
                addPermission(permission);
            }
        }
    }
View Full Code Here

                permissions = policy.getPermissions(source);

                // Create a file read permission for web app context directory
                if (!docBase.endsWith(File.separator)){
                    permissions.add
                        (new FilePermission(docBase,"read"));
                    docBase = docBase + File.separator;
                } else {
                    permissions.add
                        (new FilePermission
                            (docBase.substring(0,docBase.length() - 1),"read"));
                }
                docBase = docBase + "-";
                permissions.add(new FilePermission(docBase,"read"));

                // Spec says apps should have read/write for their temp
                // directory. This is fine, as no security sensitive files, at
                // least any that the app doesn't have full control of anyway,
                // will be written here.
                String workDir = options.getScratchDir().toString();
                if (!workDir.endsWith(File.separator)){
                    permissions.add
                        (new FilePermission(workDir,"read,write"));
                    workDir = workDir + File.separator;
                }
                workDir = workDir + "-";
                permissions.add(new FilePermission(
                        workDir,"read,write,delete"));

                // Allow the JSP to access org.apache.jasper.runtime.HttpJspBase
                permissions.add( new RuntimePermission(
                    "accessClassInPackage.org.apache.jasper.runtime") );

                if (parentClassLoader instanceof URLClassLoader) {
                    URL [] urls = ((URLClassLoader)parentClassLoader).getURLs();
                    String jarUrl = null;
                    String jndiUrl = null;
                    for (int i=0; i<urls.length; i++) {
                        if (jndiUrl == null
                                && urls[i].toString().startsWith("jndi:") ) {
                            jndiUrl = urls[i].toString() + "-";
                        }
                        if (jarUrl == null
                                && urls[i].toString().startsWith("jar:jndi:")
                                ) {
                            jarUrl = urls[i].toString();
                            jarUrl = jarUrl.substring(0,jarUrl.length() - 2);
                            jarUrl = jarUrl.substring(0,
                                     jarUrl.lastIndexOf('/')) + "/-";
                        }
                    }
                    if (jarUrl != null) {
                        permissions.add(
                                new FilePermission(jarUrl,"read"));
                        permissions.add(
                                new FilePermission(jarUrl.substring(4),"read"));
                    }
                    if (jndiUrl != null)
                        permissions.add(
                                new FilePermission(jndiUrl,"read") );
                }
            } catch(Exception e) {
                context.log("Security Init for context failed",e);
            }
        }
View Full Code Here

TOP

Related Classes of java.io.FilePermission

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.