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:[email protected]";>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:[email protected]";>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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to