This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 8613da855d More SecurityManager clean-up 8613da855d is described below commit 8613da855d3639c7feb2c27b547a173193ae4602 Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Jan 12 16:18:32 2023 +0000 More SecurityManager clean-up --- .../catalina/core/DefaultInstanceManager.java | 4 +-- .../catalina/deploy/NamingResourcesImpl.java | 4 +-- .../apache/catalina/startup/WebAnnotationSet.java | 4 +-- .../membership/cloud/CloudMembershipProvider.java | 4 +-- .../catalina/tribes/transport/ReceiverBase.java | 3 +- .../catalina/tribes/util/TcclThreadFactory.java | 21 ++---------- java/org/apache/catalina/util/Introspection.java | 38 ---------------------- 7 files changed, 10 insertions(+), 68 deletions(-) diff --git a/java/org/apache/catalina/core/DefaultInstanceManager.java b/java/org/apache/catalina/core/DefaultInstanceManager.java index 7c196970b2..859043ae9c 100644 --- a/java/org/apache/catalina/core/DefaultInstanceManager.java +++ b/java/org/apache/catalina/core/DefaultInstanceManager.java @@ -304,7 +304,7 @@ public class DefaultInstanceManager implements InstanceManager { } // Initialize methods annotations - Method[] methods = Introspection.getDeclaredMethods(clazz); + Method[] methods = clazz.getDeclaredMethods(); Method postConstruct = null; String postConstructFromXml = postConstructMethods.get(clazz.getName()); Method preDestroy = null; @@ -395,7 +395,7 @@ public class DefaultInstanceManager implements InstanceManager { if (context != null) { // Initialize fields annotations for resource injection if // JNDI is enabled - Field[] fields = Introspection.getDeclaredFields(clazz); + Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { Resource resourceAnnotation; Annotation ejbAnnotation; diff --git a/java/org/apache/catalina/deploy/NamingResourcesImpl.java b/java/org/apache/catalina/deploy/NamingResourcesImpl.java index 1000fc5846..37f90217e2 100644 --- a/java/org/apache/catalina/deploy/NamingResourcesImpl.java +++ b/java/org/apache/catalina/deploy/NamingResourcesImpl.java @@ -1238,7 +1238,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase } private Class<?> getSetterType(Class<?> clazz, String name) { - Method[] methods = Introspection.getDeclaredMethods(clazz); + Method[] methods = clazz.getDeclaredMethods(); if (methods != null && methods.length > 0) { for (Method method : methods) { if (Introspection.isValidSetter(method) && @@ -1251,7 +1251,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase } private Class<?> getFieldType(Class<?> clazz, String name) { - Field[] fields = Introspection.getDeclaredFields(clazz); + Field[] fields = clazz.getDeclaredFields(); if (fields != null && fields.length > 0) { for (Field field : fields) { if (field.getName().equals(name)) { diff --git a/java/org/apache/catalina/startup/WebAnnotationSet.java b/java/org/apache/catalina/startup/WebAnnotationSet.java index 99e67143b4..e6459094c0 100644 --- a/java/org/apache/catalina/startup/WebAnnotationSet.java +++ b/java/org/apache/catalina/startup/WebAnnotationSet.java @@ -269,7 +269,7 @@ public class WebAnnotationSet { protected static void loadFieldsAnnotation(Context context, Class<?> clazz) { // Initialize the annotations - Field[] fields = Introspection.getDeclaredFields(clazz); + Field[] fields = clazz.getDeclaredFields(); if (fields != null && fields.length > 0) { for (Field field : fields) { Resource annotation = field.getAnnotation(Resource.class); @@ -285,7 +285,7 @@ public class WebAnnotationSet { protected static void loadMethodsAnnotation(Context context, Class<?> clazz) { // Initialize the annotations - Method[] methods = Introspection.getDeclaredMethods(clazz); + Method[] methods = clazz.getDeclaredMethods(); if (methods != null && methods.length > 0) { for (Method method : methods) { Resource annotation = method.getAnnotation(Resource.class); diff --git a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java index 8bab726f87..6b8fdf9cdf 100644 --- a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java +++ b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java @@ -19,10 +19,8 @@ package org.apache.catalina.tribes.membership.cloud; import java.io.IOException; import java.io.Serializable; import java.net.InetAddress; -import java.security.AccessController; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.PrivilegedAction; import java.time.Instant; import java.util.HashMap; import java.util.Map; @@ -74,7 +72,7 @@ public abstract class CloudMembershipProvider extends MembershipProviderBase imp protected static String getEnv(String... keys) { String val = null; for (String key : keys) { - val = AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getenv(key)); + val = System.getenv(key); if (val != null) { break; } diff --git a/java/org/apache/catalina/tribes/transport/ReceiverBase.java b/java/org/apache/catalina/tribes/transport/ReceiverBase.java index 31d84d48b3..8ad1d2e688 100644 --- a/java/org/apache/catalina/tribes/transport/ReceiverBase.java +++ b/java/org/apache/catalina/tribes/transport/ReceiverBase.java @@ -588,8 +588,7 @@ public abstract class ReceiverBase implements ChannelReceiver, ListenCallback, R final String namePrefix; TaskThreadFactory(String namePrefix) { - SecurityManager s = System.getSecurityManager(); - group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); + group = Thread.currentThread().getThreadGroup(); this.namePrefix = namePrefix; } diff --git a/java/org/apache/catalina/tribes/util/TcclThreadFactory.java b/java/org/apache/catalina/tribes/util/TcclThreadFactory.java index de46faa62b..4fbbc44069 100644 --- a/java/org/apache/catalina/tribes/util/TcclThreadFactory.java +++ b/java/org/apache/catalina/tribes/util/TcclThreadFactory.java @@ -16,8 +16,6 @@ */ package org.apache.catalina.tribes.util; -import java.security.AccessController; -import java.security.PrivilegedAction; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; @@ -31,8 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger; public class TcclThreadFactory implements ThreadFactory { private static final AtomicInteger poolNumber = new AtomicInteger(1); - private static final boolean IS_SECURITY_ENABLED = - (System.getSecurityManager() != null); private final ThreadGroup group; private final AtomicInteger threadNumber = new AtomicInteger(1); @@ -43,28 +39,15 @@ public class TcclThreadFactory implements ThreadFactory { } public TcclThreadFactory(String namePrefix) { - SecurityManager s = System.getSecurityManager(); - group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); + group = Thread.currentThread().getThreadGroup(); this.namePrefix = namePrefix; } @Override public Thread newThread(Runnable r) { final Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement()); - - if (IS_SECURITY_ENABLED) { - AccessController.doPrivileged(new PrivilegedAction<Void>() { - @Override - public Void run() { - t.setContextClassLoader(this.getClass().getClassLoader()); - return null; - } - }); - } else { - t.setContextClassLoader(this.getClass().getClassLoader()); - } + t.setContextClassLoader(this.getClass().getClassLoader()); t.setDaemon(true); return t; } - } diff --git a/java/org/apache/catalina/util/Introspection.java b/java/org/apache/catalina/util/Introspection.java index 5c9bc2bcfd..cff56d0878 100644 --- a/java/org/apache/catalina/util/Introspection.java +++ b/java/org/apache/catalina/util/Introspection.java @@ -17,14 +17,10 @@ package org.apache.catalina.util; import java.beans.Introspector; -import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.security.AccessController; -import java.security.PrivilegedAction; import org.apache.catalina.Context; -import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; @@ -90,40 +86,6 @@ public class Introspection { return true; } - /** - * Obtain the declared fields for a class taking account of any security - * manager that may be configured. - * @param clazz The class to introspect - * @return the class fields as an array - */ - public static Field[] getDeclaredFields(final Class<?> clazz) { - Field[] fields = null; - if (Globals.IS_SECURITY_ENABLED) { - fields = AccessController.doPrivileged((PrivilegedAction<Field[]>) clazz::getDeclaredFields); - } else { - fields = clazz.getDeclaredFields(); - } - return fields; - } - - - /** - * Obtain the declared methods for a class taking account of any security - * manager that may be configured. - * @param clazz The class to introspect - * @return the class methods as an array - */ - public static Method[] getDeclaredMethods(final Class<?> clazz) { - Method[] methods = null; - if (Globals.IS_SECURITY_ENABLED) { - methods = AccessController.doPrivileged((PrivilegedAction<Method[]>) clazz::getDeclaredMethods); - } else { - methods = clazz.getDeclaredMethods(); - } - return methods; - } - - /** * Attempt to load a class using the given Container's class loader. If the * class cannot be loaded, a debug level log message will be written to the --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org