You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scout-dev@ws.apache.org by an...@apache.org on 2009/07/22 23:16:46 UTC

svn commit: r796883 - in /webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout: registry/ConnectionImpl.java registry/RegistryImpl.java registry/SecurityActions.java transport/RMITransport.java transport/SecurityActions.java

Author: anil
Date: Wed Jul 22 21:16:44 2009
New Revision: 796883

URL: http://svn.apache.org/viewvc?rev=796883&view=rev
Log:
SCOUT-79: privileged blocks

Added:
    webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/SecurityActions.java
    webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/SecurityActions.java
Modified:
    webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
    webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/RegistryImpl.java
    webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/RMITransport.java

Modified: webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java?rev=796883&r1=796882&r2=796883&view=diff
==============================================================================
--- webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java (original)
+++ webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java Wed Jul 22 21:16:44 2009
@@ -52,7 +52,7 @@
         if (transportClass!=null) {
     		prop.setProperty(RegistryImpl.TRANSPORT_CLASS_PROPERTY_NAME, transportClass);
     	} else {
-    		String transport = System.getProperty(RegistryImpl.TRANSPORT_CLASS_PROPERTY_NAME);
+    		String transport = SecurityActions.getProperty(RegistryImpl.TRANSPORT_CLASS_PROPERTY_NAME);
     		if (transport != null) {
     			prop.setProperty(RegistryImpl.TRANSPORT_CLASS_PROPERTY_NAME, transport);
     		}

Modified: webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/RegistryImpl.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/RegistryImpl.java?rev=796883&r1=796882&r2=796883&view=diff
==============================================================================
--- webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/RegistryImpl.java (original)
+++ webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/RegistryImpl.java Wed Jul 22 21:16:44 2009
@@ -20,6 +20,9 @@
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.Arrays;
 import java.util.Properties;
 
@@ -1133,7 +1136,13 @@
 
 		try {
 			// log.info("Using the Context ClassLoader");
-			ClassLoader ccl = Thread.currentThread().getContextClassLoader();
+			ClassLoader ccl = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() 
+		    {
+				public ClassLoader run() {
+					return Thread.currentThread().getContextClassLoader();
+		        }
+			});
+			
 			clazz = Class.forName(name, true, ccl);
 		} catch (Exception e) {
 			 //log.warn("Failed to load the class " + name + " with context
@@ -1141,7 +1150,12 @@
 		}
 
 		if (null == clazz) {
-			ClassLoader scl = ClassLoader.getSystemClassLoader();
+			ClassLoader scl = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+			{ 
+				public ClassLoader run() {
+					return ClassLoader.getSystemClassLoader();
+				}
+			});
 
 			try {
 				clazz = Class.forName(name, true, scl);

Added: webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/SecurityActions.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/SecurityActions.java?rev=796883&view=auto
==============================================================================
--- webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/SecurityActions.java (added)
+++ webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/registry/SecurityActions.java Wed Jul 22 21:16:44 2009
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ws.scout.registry;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * Security Privileged Actions
+ *
+ * @author <a href="mailto:anil@apache.org">Anil Saldhana</a> 
+ */
+class SecurityActions 
+{
+	static String getProperty(final String key, final String defaultValue)
+	{
+		return AccessController.doPrivileged(new PrivilegedAction<String>()
+	    {
+			public String run() {
+				return System.getProperty(key, defaultValue);
+			} 
+	    });
+	}
+	
+	static String getProperty(final String key)
+	{
+		return AccessController.doPrivileged(new PrivilegedAction<String>()
+	    {
+			public String run() {
+				return System.getProperty(key);
+			} 
+	    });
+	}
+
+}
\ No newline at end of file

Modified: webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/RMITransport.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/RMITransport.java?rev=796883&r1=796882&r2=796883&view=diff
==============================================================================
--- webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/RMITransport.java (original)
+++ webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/RMITransport.java Wed Jul 22 21:16:44 2009
@@ -66,9 +66,9 @@
     	Properties env    = new Properties();
     	//It be a lot nicer if this is configured through properties, but for now
     	//I'd like to keep the changes localized, so this seems pretty reasonable.
-    	String factoryInitial = System.getProperty("java.naming.factory.initial");
+    	String factoryInitial = SecurityActions.getProperty("java.naming.factory.initial");
         if (factoryInitial==null) factoryInitial = "org.jnp.interfaces.NamingContextFactory";
-        String factoryURLPkgs = System.getProperty("java.naming.factory.url.pkgs");
+        String factoryURLPkgs = SecurityActions.getProperty("java.naming.factory.url.pkgs");
         if (factoryURLPkgs==null) factoryURLPkgs = "org.jboss.naming";
         env.setProperty("java.naming.factory.initial", factoryInitial);
         env.setProperty("java.naming.factory.url.pkgs", factoryURLPkgs);

Added: webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/SecurityActions.java
URL: http://svn.apache.org/viewvc/webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/SecurityActions.java?rev=796883&view=auto
==============================================================================
--- webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/SecurityActions.java (added)
+++ webservices/scout/branches/v1.1/scout/src/main/java/org/apache/ws/scout/transport/SecurityActions.java Wed Jul 22 21:16:44 2009
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ws.scout.transport;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * Security Privileged Actions
+ *
+ * @author <a href="mailto:anil@apache.org">Anil Saldhana</a> 
+ */
+class SecurityActions 
+{
+	static String getProperty(final String key, final String defaultValue)
+	{
+		return AccessController.doPrivileged(new PrivilegedAction<String>()
+	    {
+			public String run() {
+				return System.getProperty(key, defaultValue);
+			} 
+	    });
+	}
+	
+	static String getProperty(final String key)
+	{
+		return AccessController.doPrivileged(new PrivilegedAction<String>()
+	    {
+			public String run() {
+				return System.getProperty(key);
+			} 
+	    });
+	}
+
+}
\ No newline at end of file



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