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

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Apr 2 00:31:21 EDT 2008


Author: ron.sigal at jboss.com
Date: 2008-04-02 00:31:21 -0400 (Wed, 02 Apr 2008)
New Revision: 3859

Modified:
   remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java
Log:
JBREM-934: Put Class.getClassLoader() calls in AccessController.doPrivileged() calls.

Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java	2008-04-02 04:30:17 UTC (rev 3858)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java	2008-04-02 04:31:21 UTC (rev 3859)
@@ -25,13 +25,13 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.Map;
 import org.jboss.remoting.InvocationRequest;
 import org.jboss.remoting.InvokerLocator;
 import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.transport.coyote.RequestMap;
-import org.jboss.remoting.transport.coyote.ResponseMap;
 import org.jboss.remoting.transport.http.HTTPMetadataConstants;
 import org.jboss.remoting.marshal.MarshalFactory;
 import org.jboss.remoting.marshal.Marshaller;
@@ -99,7 +99,15 @@
 
    public UnMarshaller getUnMarshaller()
    {
-      UnMarshaller unmarshaller = MarshalFactory.getUnMarshaller(getLocator(), this.getClass().getClassLoader());
+      ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new PrivilegedAction()
+      {
+         public Object run()
+         {
+            return WebServerInvoker.class.getClassLoader();
+         }
+      });
+      
+      UnMarshaller unmarshaller = MarshalFactory.getUnMarshaller(getLocator(), classLoader);
       if(unmarshaller == null)
       {
          unmarshaller = MarshalFactory.getUnMarshaller(getDataType(), getSerializationType());
@@ -109,7 +117,15 @@
 
    public Marshaller getMarshaller()
    {
-      Marshaller marshaller = MarshalFactory.getMarshaller(getLocator(), this.getClass().getClassLoader());
+      ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new PrivilegedAction()
+      {
+         public Object run()
+         {
+            return WebServerInvoker.class.getClassLoader();
+         }
+      });
+      
+      Marshaller marshaller = MarshalFactory.getMarshaller(getLocator(), classLoader);
 
       if(marshaller == null)
       {




More information about the jboss-remoting-commits mailing list