You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sc...@apache.org on 2006/11/01 00:53:46 UTC

svn commit: r469707 - in /webservices/axis2/trunk/java/modules: jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ kernel/src/org/apache/axis2/deployment/ kernel/src/org/apache/axis2/description/ kernel/src/org/apache/axis2/engine/

Author: scheu
Date: Tue Oct 31 15:53:45 2006
New Revision: 469707

URL: http://svn.apache.org/viewvc?view=rev&rev=469707
Log:
AXIS2-1566
Contributor: Ming Cheung
Added usages of AccessController

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java?view=diff&rev=469707&r1=469706&r2=469707
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java Tue Oct 31 15:53:45 2006
@@ -19,6 +19,8 @@
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 import javax.activation.DataSource;
 import javax.xml.bind.JAXBContext;
@@ -150,7 +152,11 @@
         // Invoke the actual Provider.invoke() method
         Object responseParamValue = null;
         try {
-            responseParamValue = providerInstance.invoke(input);
+            responseParamValue = (Object) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedAction() {
+            	public Object run() {
+            		return providerInstance.invoke(input);
+            	}
+            });
         } catch (Exception e) {
             e.printStackTrace();
             throw ExceptionFactory.makeWebServiceException(e);

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java?view=diff&rev=469707&r1=469706&r2=469707
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java Tue Oct 31 15:53:45 2006
@@ -38,7 +38,12 @@
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
+
 import java.io.InputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -329,9 +334,17 @@
                 OMAttribute trsClas = transport.getAttribute(new QName(TAG_CLASS_NAME));
                 if (trsClas != null) {
                     try {
-                        String clasName = trsClas.getAttributeValue();
+                        final String clasName = trsClas.getAttributeValue();
                         Class receiverClass;
-                        receiverClass = Loader.loadClass(clasName); 
+                        try {
+                             receiverClass = (Class) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedExceptionAction() {
+                        		public Object run() throws ClassNotFoundException {
+                        			return Loader.loadClass(clasName);	
+                        		}
+                        	});  
+                        } catch (PrivilegedActionException e) {
+                            throw (ClassNotFoundException)e.getException();
+                        }
 
                         TransportListener receiver =
                                 (TransportListener) receiverClass.newInstance();

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java?view=diff&rev=469707&r1=469706&r2=469707
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DescriptionBuilder.java Tue Oct 31 15:53:45 2006
@@ -46,6 +46,10 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import java.io.InputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -127,8 +131,17 @@
                 TAG_MESSAGE_RECEIVER));
         while (msgReceivers.hasNext()) {
             OMElement msgReceiver = (OMElement) msgReceivers.next();
-            MessageReceiver receiver = loadMessageReceiver(Thread
-                    .currentThread().getContextClassLoader(), msgReceiver);
+            final OMElement tempMsgReceiver = msgReceiver;
+            MessageReceiver receiver = null;
+            try { 
+                receiver = (MessageReceiver) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedExceptionAction() {
+                    public Object run() throws org.apache.axis2.deployment.DeploymentException {
+                        return loadMessageReceiver(Thread.currentThread().getContextClassLoader(), tempMsgReceiver);
+                    }
+                });
+            } catch (PrivilegedActionException e) {
+                throw (DeploymentException)e.getException();
+            }              
             OMAttribute mepAtt = msgReceiver.getAttribute(new QName(TAG_MEP));
             mr_mep.put(mepAtt.getAttributeValue(), receiver);
         }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?view=diff&rev=469707&r1=469706&r2=469707
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Tue Oct 31 15:53:45 2006
@@ -62,6 +62,8 @@
 import java.io.OutputStream;
 import java.net.SocketException;
 import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.*;
 
 /**
@@ -226,7 +228,11 @@
         moduleRefs = new ArrayList();
         engagedModules = new ArrayList();
         schemaList = new ArrayList();
-        serviceClassLoader = Thread.currentThread().getContextClassLoader();
+        serviceClassLoader = (ClassLoader) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedAction() {
+            public Object run() {
+                return Thread.currentThread().getContextClassLoader();
+            }
+        });
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=469707&r1=469706&r2=469707
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Oct 31 15:53:45 2006
@@ -30,6 +30,8 @@
 
 import javax.xml.namespace.QName;
 import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.*;
 
 /**
@@ -127,9 +129,13 @@
         faultyModules = new Hashtable();
         observersList = new ArrayList();
         inPhasesUptoAndIncludingPostDispatch = new ArrayList();
-        systemClassLoader = Thread.currentThread().getContextClassLoader();
-        serviceClassLoader = Thread.currentThread().getContextClassLoader();
-        moduleClassLoader = Thread.currentThread().getContextClassLoader();
+        systemClassLoader = (ClassLoader) org.apache.axis2.java.security.AccessController.doPrivileged(new PrivilegedAction() {
+            public Object run() {
+                return Thread.currentThread().getContextClassLoader();      
+            }
+        });
+        serviceClassLoader = systemClassLoader; 
+        moduleClassLoader = systemClassLoader;
         this.phasesinfo = new PhasesInfo();
         targetResolvers = new ArrayList();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org