Author: ron.sigal(a)jboss.com
Date: 2009-04-14 06:20:18 -0400 (Tue, 14 Apr 2009)
New Revision: 5015
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingServerSocketFactory.java
Log:
JBREM-1116: Eliminated dependence on SecurityUtility.
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingServerSocketFactory.java
===================================================================
---
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingServerSocketFactory.java 2009-04-14
10:19:59 UTC (rev 5014)
+++
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/coyote/ssl/RemotingServerSocketFactory.java 2009-04-14
10:20:18 UTC (rev 5015)
@@ -36,6 +36,9 @@
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Map;
@@ -183,7 +186,7 @@
*/
public Socket acceptSocket(ServerSocket serverSocket) throws IOException
{
- return SecurityUtility.accept(serverSocket);
+ return accept(serverSocket);
}
/**
@@ -204,4 +207,27 @@
{
serverSocketFactories.put(locatorURI, svrSocketFactory);
}
+
+ static private Socket accept(final ServerSocket ss) throws IOException
+ {
+ if (SecurityUtility.skipAccessControl())
+ {
+ return ss.accept();
+ }
+
+ try
+ {
+ return (Socket)AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return ss.accept();
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw (IOException) e.getCause();
+ }
+ }
}
\ No newline at end of file
Show replies by date