Author: markt
Date: Wed Jun 10 09:34:22 2015
New Revision: 1684617

URL: http://svn.apache.org/r1684617
Log:
Add missing constants in JASPIC API to align with reference implementation.
Patch provided by fjodorver

Modified:
    tomcat/trunk/java/javax/security/auth/message/config/AuthConfigFactory.java

Modified: 
tomcat/trunk/java/javax/security/auth/message/config/AuthConfigFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/security/auth/message/config/AuthConfigFactory.java?rev=1684617&r1=1684616&r2=1684617&view=diff
==============================================================================
--- tomcat/trunk/java/javax/security/auth/message/config/AuthConfigFactory.java 
(original)
+++ tomcat/trunk/java/javax/security/auth/message/config/AuthConfigFactory.java 
Wed Jun 10 09:34:22 2015
@@ -17,18 +17,30 @@
 package javax.security.auth.message.config;
 
 import java.security.AccessController;
+import java.security.Permission;
 import java.security.PrivilegedAction;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
+import java.security.SecurityPermission;
 import java.util.Map;
 
-import javax.security.auth.AuthPermission;
-
 public abstract class AuthConfigFactory {
 
-    public static final String DEFAULT_FACTORY_SECURITY_PROPERTY = 
"authconfigprovider.factory";
-    private static final String DEFAULT_JASPI_AUTHCONFIGFACTORYIMPL =
-            "org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl";
+    public static final java.lang.String DEFAULT_FACTORY_SECURITY_PROPERTY = 
"authconfigprovider.factory";
+    public static final java.lang.String GET_FACTORY_PERMISSION_NAME = 
"getProperty.authconfigprovider.factory";
+    public static final java.lang.String SET_FACTORY_PERMISSION_NAME = 
"setProperty.authconfigprovider.factory";
+    public static final java.lang.String PROVIDER_REGISTRATION_PERMISSION_NAME 
= "setProperty.authconfigfactory.provider";
+
+    public static final SecurityPermission getFactorySecurityPermission = new 
SecurityPermission(
+            GET_FACTORY_PERMISSION_NAME);
+
+    public static final SecurityPermission setFactorySecurityPermission = new 
SecurityPermission(
+            SET_FACTORY_PERMISSION_NAME);
+
+    public static final SecurityPermission 
providerRegistrationSecurityPermission = new SecurityPermission(
+            PROVIDER_REGISTRATION_PERMISSION_NAME);
+
+    private static final String DEFAULT_JASPI_AUTHCONFIGFACTORYIMPL = 
"org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl";
 
     private static AuthConfigFactory factory;
     private static ClassLoader contextClassLoader;
@@ -47,10 +59,7 @@ public abstract class AuthConfigFactory
     }
 
     public static synchronized AuthConfigFactory getFactory() {
-        SecurityManager sm = System.getSecurityManager();
-        if (sm != null) {
-            sm.checkPermission(new AuthPermission("getAuthConfigFactory"));
-        }
+        checkPermission(getFactorySecurityPermission);
         if (factory == null) {
             String className = AccessController.doPrivileged(new 
PrivilegedAction<String>() {
                 @Override
@@ -88,10 +97,7 @@ public abstract class AuthConfigFactory
     }
 
     public static synchronized void setFactory(AuthConfigFactory factory) {
-        SecurityManager sm = System.getSecurityManager();
-        if (sm != null) {
-            sm.checkPermission(new AuthPermission("setAuthConfigFactory"));
-        }
+        checkPermission(setFactorySecurityPermission);
         AuthConfigFactory.factory = factory;
     }
 
@@ -116,6 +122,13 @@ public abstract class AuthConfigFactory
 
     public abstract void refresh();
 
+    private static void checkPermission(Permission permission) {
+        SecurityManager securityManager = System.getSecurityManager();
+        if (securityManager != null) {
+            securityManager.checkPermission(permission);
+        }
+    }
+
     public static interface RegistrationContext {
 
         String getMessageLayer();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to