[jboss-remoting-commits] JBoss Remoting SVN: r3718 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/rmi.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Fri Mar 21 01:09:28 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-03-21 01:09:27 -0400 (Fri, 21 Mar 2008)
New Revision: 3718
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/rmi/RMIClientInvoker.java
Log:
JBREM-934: Put Registry.lookup() in AccessController.doPrivileged() call.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/rmi/RMIClientInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/rmi/RMIClientInvoker.java 2008-03-21 05:04:18 UTC (rev 3717)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/rmi/RMIClientInvoker.java 2008-03-21 05:09:27 UTC (rev 3718)
@@ -42,12 +42,14 @@
import org.jboss.remoting.marshal.rmi.RMIUnMarshaller;
import org.jboss.remoting.serialization.SerializationManager;
import org.jboss.remoting.serialization.SerializationStreamFactory;
+import org.jboss.util.propertyeditor.PropertyEditors;
import org.jboss.util.threadpool.BasicThreadPool;
import org.jboss.util.threadpool.BlockingMode;
import org.jboss.util.threadpool.RunnableTaskWrapper;
import org.jboss.util.threadpool.Task;
import org.jboss.util.threadpool.ThreadPool;
+import java.beans.IntrospectionException;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -58,6 +60,9 @@
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -223,13 +228,30 @@
{
home = (Home) it.next();
String host = home.host;
- int port = home.port;
+ final int port = home.port;
locator.setHomeInUse(home);
storeLocalConfig(configuration);
log.debug(this + " looking up registry: " + host + "," + port);
- Registry registry = LocateRegistry.getRegistry(host, registryPort);
+ final Registry registry = LocateRegistry.getRegistry(host, registryPort);
log.debug(this + " trying to connect to: " + home);
- Remote remoteObj = registry.lookup("remoting/RMIServerInvoker/" + port);
+ Remote remoteObj = null;
+
+ try
+ {
+ remoteObj = (Remote) AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return registry.lookup("remoting/RMIServerInvoker/" + port);
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ log.debug(e.toString(), e);
+ throw (Exception) e.getCause();
+ }
+
log.debug("Remote RMI Stub: " + remoteObj);
setServerStub((RMIServerInvokerInf) remoteObj);
connected = true;
More information about the jboss-remoting-commits
mailing list