From a0134f4f9a316a9d8e34ea25238187c047ecce1f Mon Sep 17 00:00:00 2001 From: aph Date: Wed, 16 Feb 2005 18:51:25 +0000 Subject: 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95111 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/rmi/server/UnicastRemoteObject.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libjava/java/rmi/server/UnicastRemoteObject.java') diff --git a/libjava/java/rmi/server/UnicastRemoteObject.java b/libjava/java/rmi/server/UnicastRemoteObject.java index 6e8fb253820..ed296f03341 100644 --- a/libjava/java/rmi/server/UnicastRemoteObject.java +++ b/libjava/java/rmi/server/UnicastRemoteObject.java @@ -98,7 +98,9 @@ public static RemoteStub exportObject(Remote obj) throws RemoteException { { sref = new UnicastServerRef(new ObjID (), port, ssf); } - return (sref.exportObject (obj)); + Remote stub = sref.exportObject (obj); + addStub(obj, stub); + return stub; } /** @@ -116,12 +118,15 @@ public static RemoteStub exportObject(Remote obj) throws RemoteException { { if (obj instanceof RemoteObject) { + deleteStub(obj); UnicastServerRef sref = (UnicastServerRef)((RemoteObject)obj).getRef(); return sref.unexportObject(obj, force); } else - //FIX ME - ; + { + //FIX ME + ; + } return true; } -- cgit v1.2.1