From 019dac321407d9048889e41e400cdb6381924b77 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Wed, 16 Feb 2005 18:51:25 +0000 Subject: Subject.java (doAsPrivileged): If acc is null, create a new AccessControlContext. 2005-02-08 Andrew Haley * javax/security/auth/Subject.java (doAsPrivileged): If acc is null, create a new AccessControlContext. * java/security/SecureClassLoader.java (protectionDomainCache): new field. (defineClass): Create a new protection domain and add it to our cache. * java/rmi/server/UnicastRemoteObject.java (exportObject): Call addStub() to keep track of the stub we've exported. (unexportObject): Call deleteStub(). * java/rmi/server/RemoteObject.java (stubs): New field. (addStub): New method. (deleteStub): New method. (toStub): Rewrite. * java/lang/VMCompiler.java (loadSharedLibrary): Pass true to findHelper (tryParents). * gnu/gcj/runtime/SharedLibLoader.java (SharedLibLoader): Likewise. * java/net/URLClassLoader.java (SoURLLoader): Likewise. * gnu/gcj/runtime/SharedLibHelper.java (SharedLibHelper): Pass ProtectionDomain. If tryParents is false, don't scan parent class loaders. * java/security/Permissions.java (PermissionsHash.implies): Iterate over the collection and invoke implies() on each element. From-SVN: r95111 --- libjava/java/security/Permissions.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libjava/java/security/Permissions.java') diff --git a/libjava/java/security/Permissions.java b/libjava/java/security/Permissions.java index d44341c947a..ce63cc2cca2 100644 --- a/libjava/java/security/Permissions.java +++ b/libjava/java/security/Permissions.java @@ -228,9 +228,18 @@ class PermissionsHash extends PermissionCollection * @param perm the permission to check * @return true if it is implied */ + // FIXME: Should this method be synchronized? public boolean implies(Permission perm) { - return perms.get(perm) != null; + Enumeration elements = elements(); + + while (elements.hasMoreElements()) + { + Permission p = (Permission)elements.nextElement(); + if (p.implies(perm)) + return true; + } + return false; } /** -- cgit v1.2.3