[jboss-remoting-commits] JBoss Remoting SVN: r3855 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/servlet.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Apr 2 00:27:46 EDT 2008


Author: ron.sigal at jboss.com
Date: 2008-04-02 00:27:46 -0400 (Wed, 02 Apr 2008)
New Revision: 3855

Modified:
   remoting2/branches/2.x/src/main/org/jboss/remoting/transport/servlet/ServletServerInvoker.java
Log:
JBREM-934: Put InetAddress.getByName() calls in AccessController.doPrivileged() calls.

Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/servlet/ServletServerInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/servlet/ServletServerInvoker.java	2008-04-02 04:26:52 UTC (rev 3854)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/servlet/ServletServerInvoker.java	2008-04-02 04:27:46 UTC (rev 3855)
@@ -26,7 +26,6 @@
 import org.jboss.remoting.InvocationResponse;
 import org.jboss.remoting.InvokerLocator;
 import org.jboss.remoting.Remoting;
-import org.jboss.remoting.Version;
 import org.jboss.remoting.marshal.MarshalFactory;
 import org.jboss.remoting.marshal.Marshaller;
 import org.jboss.remoting.marshal.UnMarshaller;
@@ -48,6 +47,10 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -144,8 +147,23 @@
             }
          }
          
-         String remoteAddressString = request.getRemoteAddr();
-         InetAddress remoteAddress = InetAddress.getByName(remoteAddressString);
+         final String remoteAddressString = request.getRemoteAddr();
+         InetAddress remoteAddress = null;
+         try
+         {
+            remoteAddress = (InetAddress)AccessController.doPrivileged( new PrivilegedExceptionAction()
+            {
+               public Object run() throws UnknownHostException
+               {
+                  return InetAddress.getByName(remoteAddressString);
+               }
+            });
+         }
+         catch (PrivilegedActionException e)
+         {
+            throw (UnknownHostException) e.getCause();
+         } 
+         
          Map requestPayload = invocationRequest.getRequestPayload();
          
          if (requestPayload == null)
@@ -286,8 +304,22 @@
             }
          }
 
-         String remoteAddressString = request.getRemoteAddr();
-         InetAddress remoteAddress = InetAddress.getByName(remoteAddressString);
+         final String remoteAddressString = request.getRemoteAddr();
+         InetAddress remoteAddress = null;
+         try
+         {
+            remoteAddress = (InetAddress)AccessController.doPrivileged( new PrivilegedExceptionAction()
+            {
+               public Object run() throws UnknownHostException
+               {
+                  return InetAddress.getByName(remoteAddressString);
+               }
+            });
+         }
+         catch (PrivilegedActionException e)
+         {
+            throw (UnknownHostException) e.getCause();
+         } 
          Map requestPayload = invocationRequest.getRequestPayload();
          
          if (requestPayload == null)




More information about the jboss-remoting-commits mailing list