Merge JDK 1.4 java.security changes from classpath.
* java/security/AccessControlException.java: Merge from Classpath. * java/security/AccessController.java: Likewise. * java/security/AllPermission.java: Likewise. * java/security/BasicPermission.java: Likewise. * java/security/Certificate.java: Likewise. * java/security/CodeSource.java: Likewise. * java/security/DigestException.java: Likewise. * java/security/DigestOutputStream.java: Likewise. * java/security/DomainCombiner.java: Likewise. * java/security/GeneralSecurityException.java: Likewise. * java/security/Guard.java: Likewise. * java/security/GuardedObject.java: Likewise. * java/security/InvalidAlgorithmParameterException.java: Likewise. * java/security/InvalidKeyException.java: Likewise. * java/security/InvalidParameterException.java: Likewise. * java/security/Key.java: Likewise. * java/security/KeyException.java: Likewise. * java/security/KeyManagementException.java: Likewise. * java/security/KeyStoreException.java: Likewise. * java/security/MessageDigest.java: Likewise. * java/security/NoSuchAlgorithmException.java: Likewise. * java/security/NoSuchProviderException.java: Likewise. * java/security/Permission.java: Likewise. * java/security/PermissionCollection.java: Likewise. * java/security/Permissions.java: Likewise. * java/security/Policy.java: Likewise. * java/security/Principal.java: Likewise. * java/security/PrivateKey.java: Likewise. * java/security/PrivilegedAction.java: Likewise. * java/security/PrivilegedActionException.java: Likewise. * java/security/PrivilegedExceptionAction.java: Likewise. * java/security/ProtectionDomain.java: Likewise. * java/security/ProviderException.java: Likewise. * java/security/PublicKey.java: Likewise. * java/security/SecureClassLoader.java: Likewise. * java/security/SecurityPermission.java: Likewise. * java/security/SignatureException.java: Likewise. * java/security/UnrecoverableKeyException.java: Likewise. * java/security/UnresolvedPermission.java: Likewise. * java/security/acl/AclNotFoundException.java: Likewise. * java/security/acl/LastOwnerException.java: Likewise. * java/security/acl/NotOwnerException.java: Likewise. * java/security/cert/CRLException.java: Likewise. * java/security/cert/CertificateEncodingException.java: Likewise. * java/security/cert/CertificateException.java: Likewise. * java/security/cert/CertificateExpiredException.java: Likewise. * java/security/cert/CertificateFactory.java: Likewise. * java/security/cert/CertificateNotYetValidException.java: Likewise. * java/security/cert/CertificateParsingException.java: Likewise. * java/security/spec/InvalidKeySpecException.java: Likewise. * java/security/spec/InvalidParameterSpecException.java: Likewise. * java/security/cert/CertPath.java: New file. * java/security/cert/CertPathBuilderException.java: New file. * java/security/cert/CertPathValidatorException.java: New file. * java/security/cert/CertStoreException.java: New file. * Makefile.am: Add new CertPath classes. * Makefile.in: Rebuilt. * gnu/java/util/EmptyEnumeration: New file from classpath. From-SVN: r53837
This commit is contained in:
parent
4fbecd2944
commit
d2f108e266
59 changed files with 2816 additions and 1371 deletions
|
@ -1,5 +1,5 @@
|
|||
/* AllPermission.java -- Permission to do anything
|
||||
Copyright (C) 1998, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -37,98 +37,160 @@ exception statement from your version. */
|
|||
|
||||
package java.security;
|
||||
|
||||
import java.util.Enumeration;
|
||||
import java.util.Collections;
|
||||
import gnu.java.util.EmptyEnumeration;
|
||||
|
||||
/**
|
||||
* This class is a permission that implies all other permissions. Granting
|
||||
* this permission effectively grants all others. Extreme caution should
|
||||
* be exercised in granting this permission.
|
||||
*
|
||||
* @version 0.0
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
* @author Aaron M. Renn <arenn@urbanophile.com>
|
||||
* @author Eric Blake <ebb9@email.byu.edu>
|
||||
* @see AccessController
|
||||
* @see Permissions
|
||||
* @see SecurityManager
|
||||
* @since 1.1
|
||||
* @status updated to 1.4
|
||||
*/
|
||||
public final class AllPermission extends Permission
|
||||
{
|
||||
/**
|
||||
* This method initializes a new instance of <code>AllPermission</code>. It
|
||||
* performs no actions.
|
||||
* Compatible with JDK 1.1+.
|
||||
*/
|
||||
private static final long serialVersionUID = -2916474571451318075L;
|
||||
|
||||
/**
|
||||
* Create a new AllPermission object.
|
||||
*/
|
||||
public AllPermission()
|
||||
{
|
||||
super("all");
|
||||
super("*");
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>AllPermission</code>. The
|
||||
* arguments passed to this method are used to set internal field for the
|
||||
* permission name. However, these are not used in
|
||||
* determining the actual permissions granted. This class always will
|
||||
* return <code>true</code> in its implies method.
|
||||
* Create a new AllPermission object. The parameters are ignored, as all
|
||||
* permission implies ALL PERMISSION.
|
||||
*
|
||||
* @param name The name of this permission.
|
||||
* @param actions The action list for this permission - ignored in this class.
|
||||
* @param name ignored
|
||||
* @param actions ignored
|
||||
*/
|
||||
public AllPermission(String name, String actions)
|
||||
{
|
||||
super(name);
|
||||
super("*");
|
||||
}
|
||||
|
||||
/**
|
||||
* This method always returns <code>true</code> to indicate that this
|
||||
* permission always implies that any other permission is also granted.
|
||||
*
|
||||
* @param perm The <code>Permission</code> to test against - ignored in this class.
|
||||
*
|
||||
* @return Always returns <code>true</code>
|
||||
* @param perm ignored
|
||||
* @return true, the permission is implied
|
||||
*/
|
||||
public boolean implies(Permission perm)
|
||||
{
|
||||
return (true);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method tests this class for equality against another <code>Object</code>.
|
||||
* This will return <code>true</code> if and only if the specified
|
||||
* <code>Object</code> is an instance of <code>AllPermission</code>.
|
||||
* Checks an object for equality. All AllPermissions are equal.
|
||||
*
|
||||
* @param obj The <code>Object</code> to test for equality to this object
|
||||
* @param obj the <code>Object</code> to test for equality
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (obj instanceof AllPermission)
|
||||
return (true);
|
||||
|
||||
return (false);
|
||||
return obj instanceof AllPermission;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns a hash code for this object.
|
||||
* This method returns a hash code for this object. This returns 1.
|
||||
*
|
||||
* @return A hash value for this object.
|
||||
* @return a hash value for this object
|
||||
*/
|
||||
public int hashCode()
|
||||
{
|
||||
return (System.identityHashCode(this));
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns the list of actions associated with this object.
|
||||
* This will always be the empty string ("") for this class.
|
||||
*
|
||||
* @return The action list.
|
||||
* @return the action list
|
||||
*/
|
||||
public String getActions()
|
||||
{
|
||||
return ("");
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns a new instance of <code>PermissionCollection</code>
|
||||
* suitable for holding instance of <code>AllPermission</code>.
|
||||
* Returns a PermissionCollection which can hold AllPermission.
|
||||
*
|
||||
* @return A new <code>PermissionCollection</code>.
|
||||
* @return a permission collection
|
||||
*/
|
||||
public PermissionCollection newPermissionCollection()
|
||||
{
|
||||
return (null);
|
||||
return new AllPermissionCollection();
|
||||
}
|
||||
}
|
||||
} // class AllPermission
|
||||
|
||||
/**
|
||||
* Implements AllPermission.newPermissionCollection, and obeys serialization
|
||||
* of JDK.
|
||||
*
|
||||
* @author Eric Blake <ebb9@email.byu.edu>
|
||||
*/
|
||||
final class AllPermissionCollection extends PermissionCollection
|
||||
{
|
||||
/**
|
||||
* Compatible with JDK 1.1+.
|
||||
*/
|
||||
private static final long serialVersionUID = -4023755556366636806L;
|
||||
|
||||
/**
|
||||
* Whether an AllPermission has been added to the collection.
|
||||
*
|
||||
* @serial if all permission is in the collection yet
|
||||
*/
|
||||
private boolean all_allowed;
|
||||
|
||||
/**
|
||||
* Add an AllPermission.
|
||||
*
|
||||
* @param perm the permission to add
|
||||
* @throws IllegalArgumentException if perm is not an AllPermission
|
||||
* @throws SecurityException if the collection is read-only
|
||||
*/
|
||||
public void add(Permission perm)
|
||||
{
|
||||
if (isReadOnly())
|
||||
throw new SecurityException();
|
||||
if (! (perm instanceof AllPermission))
|
||||
throw new IllegalArgumentException();
|
||||
all_allowed = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this collection implies a permission.
|
||||
*
|
||||
* @param perm the permission to check
|
||||
* @return true if this collection contains an AllPermission
|
||||
*/
|
||||
public boolean implies(Permission perm)
|
||||
{
|
||||
return all_allowed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an enumeration of the elements in the collection.
|
||||
*
|
||||
* @return the elements in the collection
|
||||
*/
|
||||
public Enumeration elements()
|
||||
{
|
||||
return all_allowed
|
||||
? Collections.enumeration(Collections.singleton(new AllPermission()))
|
||||
: EmptyEnumeration.getInstance();
|
||||
}
|
||||
} // class AllPermissionCollection
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue