[jboss-remoting-commits] JBoss Remoting SVN: r3709 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Thu Mar 20 21:40:16 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-03-20 21:40:16 -0400 (Thu, 20 Mar 2008)
New Revision: 3709
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/SocketClientInvoker.java
Log:
JBREM-934: Put Socket.connect() in AccessController.doPrivileged() call.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/SocketClientInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/SocketClientInvoker.java 2008-03-21 01:39:44 UTC (rev 3708)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/SocketClientInvoker.java 2008-03-21 01:40:16 UTC (rev 3709)
@@ -36,6 +36,9 @@
import java.net.SocketTimeoutException;
import java.net.InetSocketAddress;
import java.rmi.MarshalException;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.Map;
/**
@@ -185,7 +188,7 @@
}
configureSocket(s);
- InetSocketAddress inetAddr = new InetSocketAddress(address, port);
+ final InetSocketAddress inetAddr = new InetSocketAddress(address, port);
if (timeout < 0)
{
@@ -194,7 +197,24 @@
timeout = 0;
}
- s.connect(inetAddr, timeout);
+ final Socket finalSocket = s;
+ final int finalTimeout = timeout;
+
+ try
+ {
+ AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ finalSocket.connect(inetAddr, finalTimeout);
+ return null;
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw (IOException) e.getCause();
+ }
return s;
}
More information about the jboss-remoting-commits
mailing list