You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/01/12 17:34:10 UTC

[tomcat] branch main updated: Remove SecurityManager references from the o.a.elpackage

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 e950ca41e0 Remove SecurityManager references from the o.a.elpackage
e950ca41e0 is described below

commit e950ca41e03353a753960230b488e9723c6f5782
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 12 17:34:04 2023 +0000

    Remove SecurityManager references from the o.a.elpackage
---
 java/org/apache/el/lang/ELSupport.java         | 24 ++---------------------
 java/org/apache/el/lang/ExpressionBuilder.java | 10 +---------
 java/org/apache/el/util/ReflectionUtil.java    | 27 ++------------------------
 java/org/apache/el/util/Validation.java        | 20 +------------------
 4 files changed, 6 insertions(+), 75 deletions(-)

diff --git a/java/org/apache/el/lang/ELSupport.java b/java/org/apache/el/lang/ELSupport.java
index d07c9d6959..d5737db3c0 100644
--- a/java/org/apache/el/lang/ELSupport.java
+++ b/java/org/apache/el/lang/ELSupport.java
@@ -24,8 +24,6 @@ import java.lang.reflect.Modifier;
 import java.lang.reflect.Proxy;
 import java.math.BigDecimal;
 import java.math.BigInteger;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Set;
@@ -47,21 +45,7 @@ public class ELSupport {
 
     private static final Long ZERO = Long.valueOf(0L);
 
-    protected static final boolean COERCE_TO_ZERO;
-
-    static {
-        String coerceToZeroStr;
-        if (System.getSecurityManager() != null) {
-            coerceToZeroStr = AccessController.doPrivileged(
-                    (PrivilegedAction<String>) () -> System.getProperty(
-                            "org.apache.el.parser.COERCE_TO_ZERO", "false")
-            );
-        } else {
-            coerceToZeroStr = System.getProperty(
-                    "org.apache.el.parser.COERCE_TO_ZERO", "false");
-        }
-        COERCE_TO_ZERO = Boolean.parseBoolean(coerceToZeroStr);
-    }
+    protected static final boolean COERCE_TO_ZERO = Boolean.getBoolean("org.apache.el.parser.COERCE_TO_ZERO");
 
 
     /**
@@ -639,11 +623,7 @@ public class ELSupport {
                 });
             return result;
         };
-        if (System.getSecurityManager() !=  null) {
-            return AccessController.doPrivileged((PrivilegedAction<T>) proxy::get);
-        } else {
-            return proxy.get();
-        }
+        return proxy.get();
     }
 
 
diff --git a/java/org/apache/el/lang/ExpressionBuilder.java b/java/org/apache/el/lang/ExpressionBuilder.java
index b03b78cbf3..2b7ab404d9 100644
--- a/java/org/apache/el/lang/ExpressionBuilder.java
+++ b/java/org/apache/el/lang/ExpressionBuilder.java
@@ -18,8 +18,6 @@ package org.apache.el.lang;
 
 import java.io.StringReader;
 import java.lang.reflect.Method;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 
 import jakarta.el.ELContext;
 import jakarta.el.ELException;
@@ -56,13 +54,7 @@ public final class ExpressionBuilder implements NodeVisitor {
         "org.apache.el.ExpressionBuilder.CACHE_SIZE";
 
     static {
-        String cacheSizeStr;
-        if (System.getSecurityManager() == null) {
-            cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "5000");
-        } else {
-            cacheSizeStr = AccessController.doPrivileged(
-                    (PrivilegedAction<String>) () -> System.getProperty(CACHE_SIZE_PROP, "5000"));
-        }
+        String cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "5000");
         CACHE_SIZE = Integer.parseInt(cacheSizeStr);
     }
 
diff --git a/java/org/apache/el/util/ReflectionUtil.java b/java/org/apache/el/util/ReflectionUtil.java
index fd6680dd8f..381937b01d 100644
--- a/java/org/apache/el/util/ReflectionUtil.java
+++ b/java/org/apache/el/util/ReflectionUtil.java
@@ -19,8 +19,6 @@ package org.apache.el.util;
 import java.lang.reflect.Array;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
@@ -59,10 +57,10 @@ public class ReflectionUtil {
         if (c == null) {
             if (name.endsWith("[]")) {
                 String nc = name.substring(0, name.length() - 2);
-                c = Class.forName(nc, true, getContextClassLoader());
+                c = Class.forName(nc, true, Thread.currentThread().getContextClassLoader());
                 c = Array.newInstance(c, 0).getClass();
             } else {
-                c = Class.forName(name, true, getContextClassLoader());
+                c = Class.forName(name, true, Thread.currentThread().getContextClassLoader());
             }
         }
         return c;
@@ -482,27 +480,6 @@ public class ReflectionUtil {
     }
 
 
-    private static ClassLoader getContextClassLoader() {
-        ClassLoader tccl;
-        if (System.getSecurityManager() != null) {
-            PrivilegedAction<ClassLoader> pa = new PrivilegedGetTccl();
-            tccl = AccessController.doPrivileged(pa);
-        } else {
-            tccl = Thread.currentThread().getContextClassLoader();
-        }
-
-        return tccl;
-    }
-
-
-    private static class PrivilegedGetTccl implements PrivilegedAction<ClassLoader> {
-        @Override
-        public ClassLoader run() {
-            return Thread.currentThread().getContextClassLoader();
-        }
-    }
-
-
     /*
      * This class duplicates code in jakarta.el.Util. When making changes keep
      * the code in sync.
diff --git a/java/org/apache/el/util/Validation.java b/java/org/apache/el/util/Validation.java
index a27e75f26e..0b6142b226 100644
--- a/java/org/apache/el/util/Validation.java
+++ b/java/org/apache/el/util/Validation.java
@@ -16,9 +16,6 @@
  */
 package org.apache.el.util;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
 public class Validation {
 
     // Java keywords, boolean literals & the null literal in alphabetical order
@@ -32,22 +29,7 @@ public class Validation {
         "throw", "throws", "transient", "true", "try", "void", "volatile",
         "while" };
 
-    private static final boolean IS_SECURITY_ENABLED =
-            (System.getSecurityManager() != null);
-
-    private static final boolean SKIP_IDENTIFIER_CHECK;
-
-    static {
-        String skipIdentifierCheckStr;
-        if (IS_SECURITY_ENABLED) {
-            skipIdentifierCheckStr = AccessController.doPrivileged(
-                    (PrivilegedAction<String>) () -> System.getProperty("org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false"));
-        } else {
-            skipIdentifierCheckStr = System.getProperty(
-                    "org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false");
-        }
-        SKIP_IDENTIFIER_CHECK = Boolean.parseBoolean(skipIdentifierCheckStr);
-    }
+    private static final boolean SKIP_IDENTIFIER_CHECK = Boolean.getBoolean("org.apache.el.parser.SKIP_IDENTIFIER_CHECK");
 
 
     private Validation() {


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