Package java.security

Examples of java.security.Permission


    File tmpfile = new File(tmpdir, "testfile");
    harness.check(tmpfile.delete() || !tmpfile.exists(), "no temp file");
    File tmpfile2 = new File(tmpdir, "testfile2");
    harness.check(tmpfile2.delete() || !tmpfile2.exists());

    Permission tmpdirReadPerm =
      new FilePermission(tmpdir.toString(), "read");
    Permission tmpdirWritePerm =
      new FilePermission(tmpdir.toString(), "write");
    Permission tmpdirDeletePerm =
      new FilePermission(tmpdir.toString(), "delete");

    Permission tmpdir2WritePerm =
      new FilePermission(tmpdir2.toString(), "write");
    Permission tmpdir2DeletePerm =
      new FilePermission(tmpdir2.toString(), "delete");

    Permission tmpfileWritePerm =
      new FilePermission(tmpfile.toString(), "write");
    Permission tmpfileDeletePerm =
      new FilePermission(tmpfile.toString(), "delete");

    Permission tmpallWritePerm =
      new FilePermission(tmp + File.separator + "*", "write");
    Permission tmpdirallWritePerm =
      new FilePermission(tmpdir.toString() + File.separator + "*", "write");
    Permission tmpfile2WritePerm =
      new FilePermission(tmpfile2.toString(), "write");

    Permission rootReadPerm =
      new FilePermission(File.separator, "read");

    Permission tmpdirPropPerm =
      new PropertyPermission("java.io.tmpdir", "read");

    Permission modifyThreadGroup =
      new RuntimePermission("modifyThreadGroup");
    Permission shutdownHooks =
      new RuntimePermission("shutdownHooks");

    // Keep a record of created temp files so we can delete them later.
    File tf1 = null;
    File tf2 = null;
View Full Code Here


   *          and <code>false</code> if it is not.
   * @param    perm java.security.Permission
   *          the permission to check
   */
  public boolean implies(Permission perm) {
    Permission p = (Permission) perms.get(perm);

    if ((p != null) && p.implies(perm)) {
      return true;
    }

    Enumeration permsEnum = elements();

View Full Code Here

  public boolean checkPermission(VersionConstraint vc, BaseDescription bd) {
    if (!checkPermissions)
      return true;
    // TODO could optimize out the producer permission check on export package
    boolean success = false;
    Permission producerPermission = null, consumerPermission = null;
    Bundle producer = null, consumer = null;
    int errorType = 0;
    if (vc instanceof ImportPackageSpecification) {
      errorType = ResolverError.IMPORT_PACKAGE_PERMISSION;
      producer = context.getBundle(((ExportPackageDescription) bd).getExporter().getBundleId());
      producerPermission = new PackagePermission(bd.getName(), PackagePermission.EXPORTONLY);
      consumerPermission = producer != null ? new PackagePermission(vc.getName(), producer, PackagePermission.IMPORT) : new PackagePermission(vc.getName(), PackagePermission.IMPORT);
    } else {
      boolean requireBundle = vc instanceof BundleSpecification;
      errorType = requireBundle ? ResolverError.REQUIRE_BUNDLE_PERMISSION : ResolverError.FRAGMENT_BUNDLE_PERMISSION;
      producerPermission = new BundlePermission(bd.getName(), requireBundle ? BundlePermission.PROVIDE : BundlePermission.HOST);
      consumerPermission = new BundlePermission(vc.getName(), requireBundle ? BundlePermission.REQUIRE : BundlePermission.FRAGMENT);
      producer = context.getBundle(((BundleDescription) bd).getBundleId());
    }
    consumer = context.getBundle(vc.getBundle().getBundleId());
    if (producer != null && (producer.getState() & Bundle.UNINSTALLED) == 0) {
      success = producer.hasPermission(producerPermission);
      if (!success) {
        switch (errorType) {
          case ResolverError.IMPORT_PACKAGE_PERMISSION :
            errorType = ResolverError.EXPORT_PACKAGE_PERMISSION;
            break;
          case ResolverError.REQUIRE_BUNDLE_PERMISSION :
          case ResolverError.FRAGMENT_BUNDLE_PERMISSION :
            errorType = errorType == ResolverError.REQUIRE_BUNDLE_PERMISSION ? ResolverError.PROVIDE_BUNDLE_PERMISSION : ResolverError.HOST_BUNDLE_PERMISSION;
            break;
        }
        resolver.getState().addResolverError(vc.getBundle(), errorType, producerPermission.toString(), vc);
      }
    }
    if (success && consumer != null && (consumer.getState() & Bundle.UNINSTALLED) == 0) {
      success = consumer.hasPermission(consumerPermission);
      if (!success)
View Full Code Here

      while (enum_.hasMoreElements()) {
    PolicyParser.PermissionEntry pe =
        (PolicyParser.PermissionEntry) enum_.nextElement();
    try {
        // XXX special case PrivateCredentialPermission-SELF
        Permission perm;
        if (pe.permission.equals
      ("javax.security.auth.PrivateCredentialPermission") &&
      pe.name.endsWith(" self")) {
      perm = getInstance(pe.permission,
           pe.name + " \"self\"",
           pe.action);
        } else {
      perm = getInstance(pe.permission,
           pe.name,
           pe.action);
        }
        entry.add(perm);
        if (debug != null) {
      debug.println("  "+perm);
        }
    } catch (ClassNotFoundException cnfe) {
        Certificate certs[];
        if (pe.signedBy != null)
      certs = getCertificates(keyStore, pe.signedBy);
        else
      certs = null;

        // only add if we had no signer or we had a
        // a signer and found the keys for it.
        if (certs != null || pe.signedBy == null) {
          Permission perm = new UnresolvedPermission(
               pe.permission,
               pe.name,
               pe.action,
               certs);
          entry.add(perm);
View Full Code Here

      "\t" + codesource[0].toString() + "\n\n");
     }

     if (entry.codesource.implies(codesource[0])) {
         for (int j = 0; j < entry.permissions.size(); j++) {
        Permission p =
           (Permission) entry.permissions.elementAt(j);
        if (debug != null) {
           debug.println("  granting " + p);
        }
        if (!addSelfPermissions(p, entry.codesource,
View Full Code Here

      StringBuffer sb = new StringBuffer();
      sb.append(rb.getString("("));
      sb.append(getCodeSource());
      sb.append("\n");
      for (int j = 0; j < permissions.size(); j++) {
    Permission p = (Permission) permissions.elementAt(j);
    sb.append(rb.getString(" "));
    sb.append(rb.getString(" "));
    sb.append(p);
    sb.append(rb.getString("\n"));
      }
View Full Code Here

    /**
     * Permission will be named "invoke.<declaring-class>.<method-name>".
     */
    public static Permission getPermission(Method method)
    {
        Permission result = null;
        Class mc = method.getDeclaringClass();

        synchronized (_invokePermissionCache) {
            Map permissions = (Map) _invokePermissionCache.get(mc);

View Full Code Here

        }

        private void checkPermissions(ClientEndpoint endpoint, ClientRequest request) {
            SecurityContext securityContext = getSecurityContext();
            if (securityContext != null) {
                Permission permission = request.getRequiredPermission();
                if (permission != null) {
                    securityContext.checkPermission(endpoint.getSubject(), permission);
                }
            }
        }
View Full Code Here

        if (isReadOnly()) {
            throw new SecurityException("ClusterPermissionCollection is read-only!");
        }
        final Iterator<Permission> iter = perms.iterator();
        while (iter.hasNext()) {
            final Permission perm = iter.next();
            boolean implies = false;
            for (Permission p : perms) {
                if (p != perm && p.implies(perm)) {
                    implies = true;
                    break;
View Full Code Here

        if ((pc = (PermissionCollection)loaderPC.get(codeUrl)) == null) {
            pc = super.getPermissions(codeSource);
            if (pc != null) {
                Iterator perms = permissionList.iterator();
                while (perms.hasNext()) {
                    Permission p = (Permission)perms.next();
                    pc.add(p);
                }
                loaderPC.put(codeUrl,pc);
            }
        }
View Full Code Here

TOP

Related Classes of java.security.Permission

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.