Author: coheigea
Date: Wed Mar  4 15:57:42 2009
New Revision: 750056

URL: http://svn.apache.org/viewvc?rev=750056&view=rev
Log:
[WSS-160] - Added AccessController.doPrivileged blocks to Loader
 - Removed annoying debug stacktrace logging when loading providers.

Modified:
    webservices/wss4j/trunk/src/org/apache/ws/security/WSSConfig.java
    webservices/wss4j/trunk/src/org/apache/ws/security/util/Loader.java

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/WSSConfig.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/WSSConfig.java?rev=750056&r1=750055&r2=750056&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/WSSConfig.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/WSSConfig.java Wed Mar  
4 15:57:42 2009
@@ -244,18 +244,18 @@
             org.apache.xml.security.Init.init();
             if (addJceProviders) {
                 /*
-                 * The last provider added has precedence, that is if JuiCE 
can be add
+                 * The last provider added has precedence, that is if JuiCE 
can be added
                  * then WSS4J uses this provider.
                  */
-                addJceProvider("BC",
-                        "org.bouncycastle.jce.provider.BouncyCastleProvider");
-                addJceProvider("JuiCE",
-                        
"org.apache.security.juice.provider.JuiCEProviderOpenSSL");
+                addJceProvider("BC", 
"org.bouncycastle.jce.provider.BouncyCastleProvider");
+                addJceProvider("JuiCE", 
"org.apache.security.juice.provider.JuiCEProviderOpenSSL");
             }
             Transform.init();
             try {
-                Transform.register(STRTransform.implementedTransformURI,
-                        "org.apache.ws.security.transform.STRTransform");
+                Transform.register(
+                    STRTransform.implementedTransformURI,
+                    "org.apache.ws.security.transform.STRTransform"
+                );
             } catch (Exception ex) {
                 if (log.isDebugEnabled()) {
                     log.debug(ex.getMessage(), ex);
@@ -338,8 +338,7 @@
      * @param enableSignatureConfirmation
      *            The enableSignatureConfirmation to set.
      */
-    public void setEnableSignatureConfirmation(
-            boolean enableSignatureConfirmation) {
+    public void setEnableSignatureConfirmation(boolean 
enableSignatureConfirmation) {
         this.enableSignatureConfirmation = enableSignatureConfirmation;
     }
     
@@ -492,24 +491,20 @@
 
     private boolean loadProvider(String id, String className) {
         try {
-            Class c = Loader.loadClass(className, false);
             if (java.security.Security.getProvider(id) == null) {
+                Class c = Loader.loadClass(className, false);
+                int ret = 
+                    java.security.Security.insertProviderAt(
+                        (java.security.Provider) c.newInstance(), 2
+                    );
                 if (log.isDebugEnabled()) {
-                    log.debug("The provider " + id
-                            + " had to be added to the 
java.security.Security");
-                }
-                int ret =java.security.Security.insertProviderAt(
-                        (java.security.Provider) c.newInstance(), 2);
-                if (log.isDebugEnabled()) {
-                    log.debug("The provider " + id + " was added at: "
-                            + ret);
+                    log.debug("The provider " + id + " was added at: " + ret);
                 }                
             }
             return true;
         } catch (Throwable t) {
             if (log.isDebugEnabled()) {
-                log.debug("The provider " + id + " could not be added: "
-                        + t.getMessage(), t);
+                log.debug("The provider " + id + " could not be added: " + 
t.getMessage());
             }
             return false;
         }

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/util/Loader.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/util/Loader.java?rev=750056&r1=750055&r2=750056&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/util/Loader.java 
(original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/util/Loader.java Wed Mar 
 4 15:57:42 2009
@@ -22,6 +22,8 @@
 
 import java.lang.reflect.InvocationTargetException;
 import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 /**
  * Load resources (or images) from various sources.
@@ -48,7 +50,7 @@
      * @param resource
      * @return TODO
      */
-    static public URL getResource(String resource) {
+    public static URL getResource(String resource) {
         ClassLoader classLoader = null;
         URL url = null;
         try {
@@ -90,7 +92,7 @@
      * @param resource
      * @return TODO
      */
-    static public URL getResource(ClassLoader loader, String resource) {
+    public static URL getResource(ClassLoader loader, String resource) {
         URL url = null;
         try {
             if (loader != null) {
@@ -114,8 +116,12 @@
      * @throws IllegalAccessException
      * @throws InvocationTargetException
      */
-    static public ClassLoader getTCL() throws IllegalAccessException, 
InvocationTargetException {
-        return Thread.currentThread().getContextClassLoader();
+    public static ClassLoader getTCL() throws IllegalAccessException, 
InvocationTargetException {
+         return (ClassLoader)AccessController.doPrivileged(new 
PrivilegedAction() {
+            public Object run() {
+                return Thread.currentThread().getContextClassLoader();
+            }
+         });
     }
     
     /**
@@ -124,8 +130,12 @@
      *
      * @return the class loader of the argument
      */
-    static public ClassLoader getClassLoader(Class clazz) {
-        return clazz.getClassLoader();
+    public static ClassLoader getClassLoader(final Class clazz) {
+        return (ClassLoader)AccessController.doPrivileged(new 
PrivilegedAction() {
+            public Object run() {
+                return clazz.getClassLoader();
+            }
+         });
     }
 
     /**
@@ -137,7 +147,7 @@
      * @return Class
      * @throws ClassNotFoundException
      */
-    static public Class loadClass(ClassLoader loader, String clazz) throws 
ClassNotFoundException {
+    public static Class loadClass(ClassLoader loader, String clazz) throws 
ClassNotFoundException {
         try {
             if (loader != null) {
                 Class c = loader.loadClass(clazz);
@@ -161,11 +171,11 @@
      * @return TODO
      * @throws ClassNotFoundException
      */
-    static public Class loadClass(String clazz) throws ClassNotFoundException {
+    public static Class loadClass(String clazz) throws ClassNotFoundException {
         return loadClass(clazz, true);
     }
     
-    static public Class loadClass(String clazz, boolean warn) throws 
ClassNotFoundException {
+    public static Class loadClass(String clazz, boolean warn) throws 
ClassNotFoundException {
         try {
             ClassLoader tcl = getTCL(); 
             



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to