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 4fa1a1a1b2 Remove Globals.IS_SECURITY_ENABLED
4fa1a1a1b2 is described below

commit 4fa1a1a1b25aabca96c349072d742ae16316b7cc
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 12 16:32:04 2023 +0000

    Remove Globals.IS_SECURITY_ENABLED
---
 java/org/apache/catalina/Globals.java              |   6 -
 java/org/apache/catalina/ant/ValidatorTask.java    |   4 +-
 java/org/apache/catalina/connector/Connector.java  |   7 +-
 java/org/apache/catalina/connector/Request.java    |  27 -
 .../catalina/core/ApplicationContextFacade.java    | 549 +++------------------
 .../catalina/core/ApplicationFilterConfig.java     |  12 +-
 .../catalina/core/ApplicationFilterFactory.java    |  11 +-
 .../org/apache/catalina/core/AsyncContextImpl.java |   9 +-
 java/org/apache/catalina/core/StandardHost.java    |   3 +-
 .../apache/catalina/core/StandardHostValve.java    |   4 +-
 java/org/apache/catalina/core/StandardWrapper.java |  33 +-
 .../org/apache/catalina/security/SecurityUtil.java |  19 -
 .../apache/catalina/servlets/DefaultServlet.java   |  94 +---
 .../apache/catalina/session/DataSourceStore.java   |   9 +-
 java/org/apache/catalina/session/FileStore.java    |   5 +-
 java/org/apache/catalina/session/ManagerBase.java  |  16 -
 .../apache/catalina/session/StandardSession.java   |   9 +-
 .../apache/catalina/valves/PersistentValve.java    |   5 +-
 18 files changed, 93 insertions(+), 729 deletions(-)

diff --git a/java/org/apache/catalina/Globals.java 
b/java/org/apache/catalina/Globals.java
index f04839ff79..5c7eaa6d43 100644
--- a/java/org/apache/catalina/Globals.java
+++ b/java/org/apache/catalina/Globals.java
@@ -262,12 +262,6 @@ public final class Globals {
             
Boolean.parseBoolean(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE",
 "false"));
 
 
-    /**
-     * Has security been turned on?
-     */
-    public static final boolean IS_SECURITY_ENABLED = 
(System.getSecurityManager() != null);
-
-
     /**
      * Default domain for MBeans if none can be determined
      */
diff --git a/java/org/apache/catalina/ant/ValidatorTask.java 
b/java/org/apache/catalina/ant/ValidatorTask.java
index d239684d3e..28a145362c 100644
--- a/java/org/apache/catalina/ant/ValidatorTask.java
+++ b/java/org/apache/catalina/ant/ValidatorTask.java
@@ -22,7 +22,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 
-import org.apache.catalina.Globals;
 import org.apache.tomcat.util.descriptor.DigesterFactory;
 import org.apache.tomcat.util.digester.Digester;
 import org.apache.tools.ant.BuildException;
@@ -87,8 +86,7 @@ public class ValidatorTask extends BaseRedirectorHelperTask {
 
         // Called through trusted manager interface. If running under a
         // SecurityManager assume that untrusted applications may be deployed.
-        Digester digester = DigesterFactory.newDigester(
-                true, true, null, Globals.IS_SECURITY_ENABLED);
+        Digester digester = DigesterFactory.newDigester(true, true, null, 
false);
         try (InputStream stream = new BufferedInputStream(new 
FileInputStream(file.getCanonicalFile()))) {
             InputSource is = new 
InputSource(file.toURI().toURL().toExternalForm());
             is.setByteStream(stream);
diff --git a/java/org/apache/catalina/connector/Connector.java 
b/java/org/apache/catalina/connector/Connector.java
index 3b6d94a788..ad6fde7d32 100644
--- a/java/org/apache/catalina/connector/Connector.java
+++ b/java/org/apache/catalina/connector/Connector.java
@@ -25,7 +25,6 @@ import java.util.HashSet;
 
 import javax.management.ObjectName;
 
-import org.apache.catalina.Globals;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Service;
@@ -404,12 +403,10 @@ public class Connector extends LifecycleMBeanBase  {
 
 
     /**
-     * @return <code>true</code> if the object facades are discarded, either
-     *   when the discardFacades value is <code>true</code> or when the
-     *   security manager is enabled.
+     * @return <code>true</code> if the object facades are discarded.
      */
     public boolean getDiscardFacades() {
-        return discardFacades || Globals.IS_SECURITY_ENABLED;
+        return discardFacades;
     }
 
 
diff --git a/java/org/apache/catalina/connector/Request.java 
b/java/org/apache/catalina/connector/Request.java
index 07b40ed463..e35dbcd085 100644
--- a/java/org/apache/catalina/connector/Request.java
+++ b/java/org/apache/catalina/connector/Request.java
@@ -1929,37 +1929,10 @@ public class Request implements HttpServletRequest {
      * @param principal The user Principal
      */
     public void setUserPrincipal(final Principal principal) {
-        if (Globals.IS_SECURITY_ENABLED && principal != null) {
-            if (subject == null) {
-                final HttpSession session = getSession(false);
-                if (session == null) {
-                    // Cache the subject in the request
-                    subject = newSubject(principal);
-                } else {
-                    // Cache the subject in the request and the session
-                    subject = (Subject) 
session.getAttribute(Globals.SUBJECT_ATTR);
-                    if (subject == null) {
-                        subject = newSubject(principal);
-                        session.setAttribute(Globals.SUBJECT_ATTR, subject);
-                    } else {
-                        subject.getPrincipals().add(principal);
-                    }
-                }
-            } else {
-                subject.getPrincipals().add(principal);
-            }
-        }
         userPrincipal = principal;
     }
 
 
-    private Subject newSubject(final Principal principal) {
-        final Subject result = new Subject();
-        result.getPrincipals().add(principal);
-        return result;
-    }
-
-
     // --------------------------------------------- HttpServletRequest Methods
 
     @Override
diff --git a/java/org/apache/catalina/core/ApplicationContextFacade.java 
b/java/org/apache/catalina/core/ApplicationContextFacade.java
index ff89aa0b9e..93a0fe49ae 100644
--- a/java/org/apache/catalina/core/ApplicationContextFacade.java
+++ b/java/org/apache/catalina/core/ApplicationContextFacade.java
@@ -18,17 +18,13 @@ package org.apache.catalina.core;
 
 
 import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.security.PrivilegedActionException;
 import java.util.Enumeration;
 import java.util.EventListener;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
 
 import jakarta.servlet.Filter;
 import jakarta.servlet.FilterRegistration;
@@ -42,10 +38,6 @@ import jakarta.servlet.SessionCookieConfig;
 import jakarta.servlet.SessionTrackingMode;
 import jakarta.servlet.descriptor.JspConfigDescriptor;
 
-import org.apache.catalina.Globals;
-import org.apache.catalina.security.SecurityUtil;
-import org.apache.tomcat.util.ExceptionUtils;
-
 
 /**
  * Facade object which masks the internal <code>ApplicationContext</code>
@@ -62,15 +54,8 @@ public class ApplicationContextFacade implements 
ServletContext {
     private final Map<String,Class<?>[]> classCache;
 
 
-    /**
-     * Cache method object.
-     */
-    private final Map<String,Method> objectCache;
-
-
     // ----------------------------------------------------------- Constructors
 
-
     /**
      * Construct a new instance of this class, associated with the specified
      * Context instance.
@@ -82,7 +67,6 @@ public class ApplicationContextFacade implements 
ServletContext {
         this.context = context;
 
         classCache = new HashMap<>();
-        objectCache = new ConcurrentHashMap<>();
         initClassCache();
     }
 
@@ -135,13 +119,7 @@ public class ApplicationContextFacade implements 
ServletContext {
 
     @Override
     public ServletContext getContext(String uripath) {
-        ServletContext theContext = null;
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            theContext = (ServletContext)
-                doPrivileged("getContext", new Object[]{uripath});
-        } else {
-            theContext = context.getContext(uripath);
-        }
+        ServletContext theContext = context.getContext(uripath);
         if ((theContext != null) &&
             (theContext instanceof ApplicationContext)){
             theContext = ((ApplicationContext)theContext).getFacade();
@@ -164,711 +142,310 @@ public class ApplicationContextFacade implements 
ServletContext {
 
     @Override
     public String getMimeType(String file) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String)doPrivileged("getMimeType", new Object[]{file});
-        } else {
-            return context.getMimeType(file);
-        }
+        return context.getMimeType(file);
     }
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Set<String> getResourcePaths(String path) {
-        if (SecurityUtil.isPackageProtectionEnabled()){
-            return (Set<String>)doPrivileged("getResourcePaths",
-                    new Object[]{path});
-        } else {
-            return context.getResourcePaths(path);
-        }
+        return context.getResourcePaths(path);
     }
 
 
     @Override
-    public URL getResource(String path)
-        throws MalformedURLException {
-        if (Globals.IS_SECURITY_ENABLED) {
-            try {
-                return (URL) invokeMethod(context, "getResource",
-                                          new Object[]{path});
-            } catch(Throwable t) {
-                ExceptionUtils.handleThrowable(t);
-                if (t instanceof MalformedURLException){
-                    throw (MalformedURLException)t;
-                }
-                return null;
-            }
-        } else {
-            return context.getResource(path);
-        }
+    public URL getResource(String path) throws MalformedURLException {
+        return context.getResource(path);
     }
 
 
     @Override
     public InputStream getResourceAsStream(String path) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (InputStream) doPrivileged("getResourceAsStream",
-                                              new Object[]{path});
-        } else {
-            return context.getResourceAsStream(path);
-        }
+        return context.getResourceAsStream(path);
     }
 
 
     @Override
     public RequestDispatcher getRequestDispatcher(final String path) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (RequestDispatcher) doPrivileged("getRequestDispatcher",
-                                                    new Object[]{path});
-        } else {
-            return context.getRequestDispatcher(path);
-        }
+        return context.getRequestDispatcher(path);
     }
 
 
     @Override
     public RequestDispatcher getNamedDispatcher(String name) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (RequestDispatcher) doPrivileged("getNamedDispatcher",
-                                                    new Object[]{name});
-        } else {
-            return context.getNamedDispatcher(name);
-        }
+        return context.getNamedDispatcher(name);
     }
 
 
     @Override
     public void log(String msg) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("log", new Object[]{msg} );
-        } else {
-            context.log(msg);
-        }
+        context.log(msg);
     }
 
 
     @Override
     public void log(String message, Throwable throwable) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("log", new Class[]{String.class, Throwable.class},
-                         new Object[]{message, throwable});
-        } else {
-            context.log(message, throwable);
-        }
+        context.log(message, throwable);
     }
 
 
     @Override
     public String getRealPath(String path) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getRealPath", new Object[]{path});
-        } else {
-            return context.getRealPath(path);
-        }
+        return context.getRealPath(path);
     }
 
 
     @Override
     public String getServerInfo() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getServerInfo", null);
-        } else {
-            return context.getServerInfo();
-        }
+        return context.getServerInfo();
     }
 
 
     @Override
     public String getInitParameter(String name) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getInitParameter",
-                                         new Object[]{name});
-        } else {
-            return context.getInitParameter(name);
-        }
+        return context.getInitParameter(name);
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Enumeration<String> getInitParameterNames() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Enumeration<String>) doPrivileged(
-                    "getInitParameterNames", null);
-        } else {
-            return context.getInitParameterNames();
-        }
+        return context.getInitParameterNames();
     }
 
 
     @Override
     public Object getAttribute(String name) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return doPrivileged("getAttribute", new Object[]{name});
-        } else {
-            return context.getAttribute(name);
-        }
+        return context.getAttribute(name);
      }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Enumeration<String> getAttributeNames() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Enumeration<String>) doPrivileged(
-                    "getAttributeNames", null);
-        } else {
-            return context.getAttributeNames();
-        }
+        return context.getAttributeNames();
     }
 
 
     @Override
     public void setAttribute(String name, Object object) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("setAttribute", new Object[]{name,object});
-        } else {
-            context.setAttribute(name, object);
-        }
+        context.setAttribute(name, object);
     }
 
 
     @Override
     public void removeAttribute(String name) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("removeAttribute", new Object[]{name});
-        } else {
-            context.removeAttribute(name);
-        }
+        context.removeAttribute(name);
     }
 
 
     @Override
     public String getServletContextName() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getServletContextName", null);
-        } else {
-            return context.getServletContextName();
-        }
+        return context.getServletContextName();
     }
 
 
     @Override
     public String getContextPath() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getContextPath", null);
-        } else {
-            return context.getContextPath();
-        }
+        return context.getContextPath();
     }
 
 
     @Override
-    public FilterRegistration.Dynamic addFilter(String filterName,
-            String className) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (FilterRegistration.Dynamic) doPrivileged(
-                    "addFilter", new Object[]{filterName, className});
-        } else {
-            return context.addFilter(filterName, className);
-        }
+    public FilterRegistration.Dynamic addFilter(String filterName, String 
className) {
+        return context.addFilter(filterName, className);
     }
 
 
     @Override
-    public FilterRegistration.Dynamic addFilter(String filterName,
-            Filter filter) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (FilterRegistration.Dynamic) doPrivileged("addFilter",
-                    new Class[]{String.class, Filter.class},
-                    new Object[]{filterName, filter});
-        } else {
-            return context.addFilter(filterName, filter);
-        }
+    public FilterRegistration.Dynamic addFilter(String filterName, Filter 
filter) {
+        return context.addFilter(filterName, filter);
     }
 
 
     @Override
     public FilterRegistration.Dynamic addFilter(String filterName,
             Class<? extends Filter> filterClass) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (FilterRegistration.Dynamic) doPrivileged("addFilter",
-                    new Class[]{String.class, Class.class},
-                    new Object[]{filterName, filterClass});
-        } else {
-            return context.addFilter(filterName, filterClass);
-        }
+        return context.addFilter(filterName, filterClass);
     }
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
-    public <T extends Filter> T createFilter(Class<T> c)
-    throws ServletException {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            try {
-                return (T) invokeMethod(context, "createFilter",
-                                              new Object[]{c});
-            } catch (Throwable t) {
-                ExceptionUtils.handleThrowable(t);
-                if (t instanceof ServletException) {
-                    throw (ServletException) t;
-                }
-                return null;
-            }
-        } else {
-            return context.createFilter(c);
-        }
+    public <T extends Filter> T createFilter(Class<T> c) throws 
ServletException {
+        return context.createFilter(c);
     }
 
 
     @Override
     public FilterRegistration getFilterRegistration(String filterName) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (FilterRegistration) doPrivileged(
-                    "getFilterRegistration", new Object[]{filterName});
-        } else {
-            return context.getFilterRegistration(filterName);
-        }
+        return context.getFilterRegistration(filterName);
     }
 
 
     @Override
-    public ServletRegistration.Dynamic addServlet(String servletName,
-            String className) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ServletRegistration.Dynamic) doPrivileged(
-                    "addServlet", new Object[]{servletName, className});
-        } else {
-            return context.addServlet(servletName, className);
-        }
+    public ServletRegistration.Dynamic addServlet(String servletName, String 
className) {
+        return context.addServlet(servletName, className);
     }
 
 
     @Override
-    public ServletRegistration.Dynamic addServlet(String servletName,
-            Servlet servlet) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ServletRegistration.Dynamic) doPrivileged("addServlet",
-                    new Class[]{String.class, Servlet.class},
-                    new Object[]{servletName, servlet});
-        } else {
-            return context.addServlet(servletName, servlet);
-        }
+    public ServletRegistration.Dynamic addServlet(String servletName, Servlet 
servlet) {
+        return context.addServlet(servletName, servlet);
     }
 
 
     @Override
-    public ServletRegistration.Dynamic addServlet(String servletName,
-            Class<? extends Servlet> servletClass) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ServletRegistration.Dynamic) doPrivileged("addServlet",
-                    new Class[]{String.class, Class.class},
-                    new Object[]{servletName, servletClass});
-        } else {
-            return context.addServlet(servletName, servletClass);
-        }
+    public ServletRegistration.Dynamic addServlet(String servletName, Class<? 
extends Servlet> servletClass) {
+        return context.addServlet(servletName, servletClass);
     }
 
 
     @Override
     public Dynamic addJspFile(String jspName, String jspFile) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ServletRegistration.Dynamic) doPrivileged("addJspFile",
-                    new Object[]{jspName, jspFile});
-        } else {
-            return context.addJspFile(jspName, jspFile);
-        }
+        return context.addJspFile(jspName, jspFile);
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
-    public <T extends Servlet> T createServlet(Class<T> c)
-    throws ServletException {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            try {
-                return (T) invokeMethod(context, "createServlet",
-                                              new Object[]{c});
-            } catch (Throwable t) {
-                ExceptionUtils.handleThrowable(t);
-                if (t instanceof ServletException) {
-                    throw (ServletException) t;
-                }
-                return null;
-            }
-        } else {
-            return context.createServlet(c);
-        }
+    public <T extends Servlet> T createServlet(Class<T> c) throws 
ServletException {
+        return context.createServlet(c);
     }
 
 
     @Override
     public ServletRegistration getServletRegistration(String servletName) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ServletRegistration) doPrivileged(
-                    "getServletRegistration", new Object[]{servletName});
-        } else {
-            return context.getServletRegistration(servletName);
-        }
+        return context.getServletRegistration(servletName);
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Set<SessionTrackingMode>)
-                doPrivileged("getDefaultSessionTrackingModes", null);
-        } else {
-            return context.getDefaultSessionTrackingModes();
-        }
+        return context.getDefaultSessionTrackingModes();
     }
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Set<SessionTrackingMode>)
-                doPrivileged("getEffectiveSessionTrackingModes", null);
-        } else {
-            return context.getEffectiveSessionTrackingModes();
-        }
+        return context.getEffectiveSessionTrackingModes();
     }
 
 
     @Override
     public SessionCookieConfig getSessionCookieConfig() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (SessionCookieConfig)
-                doPrivileged("getSessionCookieConfig", null);
-        } else {
-            return context.getSessionCookieConfig();
-        }
+        return context.getSessionCookieConfig();
     }
 
 
     @Override
-    public void setSessionTrackingModes(
-            Set<SessionTrackingMode> sessionTrackingModes) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("setSessionTrackingModes",
-                    new Object[]{sessionTrackingModes});
-        } else {
-            context.setSessionTrackingModes(sessionTrackingModes);
-        }
+    public void setSessionTrackingModes(Set<SessionTrackingMode> 
sessionTrackingModes) {
+        context.setSessionTrackingModes(sessionTrackingModes);
     }
 
 
     @Override
     public boolean setInitParameter(String name, String value) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return ((Boolean) doPrivileged("setInitParameter",
-                    new Object[]{name, value})).booleanValue();
-        } else {
-            return context.setInitParameter(name, value);
-        }
+        return context.setInitParameter(name, value);
     }
 
 
     @Override
     public void addListener(Class<? extends EventListener> listenerClass) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("addListener",
-                    new Class[]{Class.class},
-                    new Object[]{listenerClass});
-        } else {
-            context.addListener(listenerClass);
-        }
+        context.addListener(listenerClass);
     }
 
 
     @Override
     public void addListener(String className) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("addListener",
-                    new Object[]{className});
-        } else {
-            context.addListener(className);
-        }
+        context.addListener(className);
     }
 
 
     @Override
     public <T extends EventListener> void addListener(T t) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("addListener",
-                    new Class[]{EventListener.class},
-                    new Object[]{t});
-        } else {
-            context.addListener(t);
-        }
+        context.addListener(t);
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
-    public <T extends EventListener> T createListener(Class<T> c)
-            throws ServletException {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            try {
-                return (T) invokeMethod(context, "createListener",
-                                              new Object[]{c});
-            } catch (Throwable t) {
-                ExceptionUtils.handleThrowable(t);
-                if (t instanceof ServletException) {
-                    throw (ServletException) t;
-                }
-                return null;
-            }
-        } else {
-            return context.createListener(c);
-        }
+    public <T extends EventListener> T createListener(Class<T> c) throws 
ServletException {
+        return context.createListener(c);
     }
 
 
     @Override
     public void declareRoles(String... roleNames) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("declareRoles", new Object[]{roleNames});
-        } else {
-            context.declareRoles(roleNames);
-        }
+        context.declareRoles(roleNames);
     }
 
 
     @Override
     public ClassLoader getClassLoader() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (ClassLoader) doPrivileged("getClassLoader", null);
-        } else {
-            return context.getClassLoader();
-        }
+        return context.getClassLoader();
     }
 
 
     @Override
     public int getEffectiveMajorVersion() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return ((Integer) doPrivileged("getEffectiveMajorVersion",
-                    null)).intValue();
-        } else  {
-            return context.getEffectiveMajorVersion();
-        }
+        return context.getEffectiveMajorVersion();
     }
 
 
     @Override
     public int getEffectiveMinorVersion() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return ((Integer) doPrivileged("getEffectiveMinorVersion",
-                    null)).intValue();
-        } else  {
-            return context.getEffectiveMinorVersion();
-        }
+        return context.getEffectiveMinorVersion();
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Map<String, ? extends FilterRegistration>) doPrivileged(
-                    "getFilterRegistrations", null);
-        } else {
-            return context.getFilterRegistrations();
-        }
+        return context.getFilterRegistrations();
     }
 
 
     @Override
     public JspConfigDescriptor getJspConfigDescriptor() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (JspConfigDescriptor) doPrivileged("getJspConfigDescriptor",
-                    null);
-        } else {
-            return context.getJspConfigDescriptor();
-        }
+        return context.getJspConfigDescriptor();
     }
 
 
     @Override
-    @SuppressWarnings("unchecked") // doPrivileged() returns the correct type
     public Map<String, ? extends ServletRegistration> 
getServletRegistrations() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (Map<String, ? extends ServletRegistration>) doPrivileged(
-                    "getServletRegistrations", null);
-        } else {
-            return context.getServletRegistrations();
-        }
+        return context.getServletRegistrations();
     }
 
 
     @Override
     public String getVirtualServerName() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getVirtualServerName", null);
-        } else  {
-            return context.getVirtualServerName();
-        }
+        return context.getVirtualServerName();
     }
 
 
     @Override
     public int getSessionTimeout() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return ((Integer) doPrivileged("getSessionTimeout", 
null)).intValue();
-        } else  {
-            return context.getSessionTimeout();
-        }
+        return context.getSessionTimeout();
     }
 
 
     @Override
     public void setSessionTimeout(int sessionTimeout) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("setSessionTimeout", new Object[] { 
Integer.valueOf(sessionTimeout) });
-        } else  {
-            context.setSessionTimeout(sessionTimeout);
-        }
+        context.setSessionTimeout(sessionTimeout);
     }
 
 
     @Override
     public String getRequestCharacterEncoding() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getRequestCharacterEncoding", null);
-        } else  {
-            return context.getRequestCharacterEncoding();
-        }
+        return context.getRequestCharacterEncoding();
     }
 
 
     @Override
     public void setRequestCharacterEncoding(String encoding) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("setRequestCharacterEncoding", new Object[] { 
encoding });
-        } else  {
-            context.setRequestCharacterEncoding(encoding);
-        }
+        context.setRequestCharacterEncoding(encoding);
     }
 
 
     @Override
     public String getResponseCharacterEncoding() {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            return (String) doPrivileged("getResponseCharacterEncoding", null);
-        } else  {
-            return context.getResponseCharacterEncoding();
-        }
+        return context.getResponseCharacterEncoding();
     }
 
 
     @Override
     public void setResponseCharacterEncoding(String encoding) {
-        if (SecurityUtil.isPackageProtectionEnabled()) {
-            doPrivileged("setResponseCharacterEncoding", new Object[] { 
encoding });
-        } else  {
-            context.setResponseCharacterEncoding(encoding);
-        }
-    }
-
-
-    /**
-     * Use reflection to invoke the requested method. Cache the method object
-     * to speed up the process
-     * @param methodName The method to call.
-     * @param params The arguments passed to the called method.
-     */
-    private Object doPrivileged(final String methodName, final Object[] 
params) {
-        try{
-            return invokeMethod(context, methodName, params);
-        }catch(Throwable t){
-            ExceptionUtils.handleThrowable(t);
-            throw new RuntimeException(t.getMessage(), t);
-        }
-    }
-
-
-    /**
-     * Use reflection to invoke the requested method. Cache the method object
-     * to speed up the process
-     * @param appContext The ApplicationContext object on which the method
-     *                   will be invoked
-     * @param methodName The method to call.
-     * @param params The arguments passed to the called method.
-     */
-    private Object invokeMethod(ApplicationContext appContext,
-                                final String methodName,
-                                Object[] params)
-        throws Throwable{
-
-        try{
-            Method method = objectCache.get(methodName);
-            if (method == null){
-                method = appContext.getClass()
-                    .getMethod(methodName, classCache.get(methodName));
-                objectCache.put(methodName, method);
-            }
-
-            return method.invoke(context, params);
-        } catch (Exception ex){
-            handleException(ex);
-            return null;
-        } finally {
-            params = null;
-        }
-    }
-
-    /**
-     * Use reflection to invoke the requested method. Cache the method object
-     * to speed up the process
-     * @param methodName The method to invoke.
-     * @param clazz The class where the method is.
-     * @param params The arguments passed to the called method.
-     */
-    private Object doPrivileged(final String methodName,
-                                final Class<?>[] clazz,
-                                Object[] params) {
-
-        try{
-            Method method = context.getClass().getMethod(methodName, clazz);
-            return method.invoke(context, params);
-        } catch (Exception ex){
-            try {
-                handleException(ex);
-            } catch (Throwable t){
-                ExceptionUtils.handleThrowable(t);
-                throw new RuntimeException(t.getMessage());
-            }
-            return null;
-        } finally {
-            params = null;
-        }
-    }
-
-
-    /**
-     * Throw the real exception.
-     *
-     * @param ex The current exception
-     */
-    private void handleException(Exception ex)
-        throws Throwable {
-
-        Throwable realException;
-
-        if (ex instanceof PrivilegedActionException) {
-            ex = ((PrivilegedActionException) ex).getException();
-        }
-
-        if (ex instanceof InvocationTargetException) {
-            realException = ex.getCause();
-            if (realException == null) {
-                realException = ex;
-            }
-        } else {
-            realException = ex;
-        }
-
-        throw realException;
+        context.setResponseCharacterEncoding(encoding);
     }
 }
diff --git a/java/org/apache/catalina/core/ApplicationFilterConfig.java 
b/java/org/apache/catalina/core/ApplicationFilterConfig.java
index 3b81f7303e..ac8626bb34 100644
--- a/java/org/apache/catalina/core/ApplicationFilterConfig.java
+++ b/java/org/apache/catalina/core/ApplicationFilterConfig.java
@@ -34,8 +34,6 @@ import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletException;
 
 import org.apache.catalina.Context;
-import org.apache.catalina.Globals;
-import org.apache.catalina.security.SecurityUtil;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -294,15 +292,7 @@ public final class ApplicationFilterConfig implements 
FilterConfig, Serializable
 
         if (this.filter != null) {
             try {
-                if (Globals.IS_SECURITY_ENABLED) {
-                    try {
-                        SecurityUtil.doAsPrivilege("destroy", filter);
-                    } finally {
-                        SecurityUtil.remove(filter);
-                    }
-                } else {
-                    filter.destroy();
-                }
+                filter.destroy();
             } catch (Throwable t) {
                 ExceptionUtils.handleThrowable(t);
                 context.getLogger().error(sm.getString(
diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java 
b/java/org/apache/catalina/core/ApplicationFilterFactory.java
index 62bae04237..18dc37561b 100644
--- a/java/org/apache/catalina/core/ApplicationFilterFactory.java
+++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java
@@ -62,15 +62,10 @@ public final class ApplicationFilterFactory {
         ApplicationFilterChain filterChain = null;
         if (request instanceof Request) {
             Request req = (Request) request;
-            if (Globals.IS_SECURITY_ENABLED) {
-                // Security: Do not recycle
+            filterChain = (ApplicationFilterChain) req.getFilterChain();
+            if (filterChain == null) {
                 filterChain = new ApplicationFilterChain();
-            } else {
-                filterChain = (ApplicationFilterChain) req.getFilterChain();
-                if (filterChain == null) {
-                    filterChain = new ApplicationFilterChain();
-                    req.setFilterChain(filterChain);
-                }
+                req.setFilterChain(filterChain);
             }
         } else {
             // Request dispatcher in use
diff --git a/java/org/apache/catalina/core/AsyncContextImpl.java 
b/java/org/apache/catalina/core/AsyncContextImpl.java
index d38f1ae8f9..776aa8acf9 100644
--- a/java/org/apache/catalina/core/AsyncContextImpl.java
+++ b/java/org/apache/catalina/core/AsyncContextImpl.java
@@ -37,7 +37,6 @@ import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.AsyncDispatcher;
 import org.apache.catalina.Context;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Host;
 import org.apache.catalina.Valve;
 import org.apache.catalina.connector.Request;
@@ -99,7 +98,7 @@ public class AsyncContextImpl implements AsyncContext, 
AsyncContextCallback {
         }
         List<AsyncListenerWrapper> listenersCopy = new ArrayList<>(listeners);
 
-        ClassLoader oldCL = context.bind(Globals.IS_SECURITY_ENABLED, null);
+        ClassLoader oldCL = context.bind(false, null);
         try {
             for (AsyncListenerWrapper listener : listenersCopy) {
                 try {
@@ -113,7 +112,7 @@ public class AsyncContextImpl implements AsyncContext, 
AsyncContextCallback {
         } finally {
             context.fireRequestDestroyEvent(request.getRequest());
             clearServletRequestResponse();
-            context.unbind(Globals.IS_SECURITY_ENABLED, oldCL);
+            context.unbind(false, oldCL);
         }
     }
 
@@ -544,7 +543,7 @@ public class AsyncContextImpl implements AsyncContext, 
AsyncContextCallback {
 
         @Override
         public void run() {
-            ClassLoader oldCL = context.bind(Globals.IS_SECURITY_ENABLED, 
null);
+            ClassLoader oldCL = context.bind(false, null);
             try {
                 wrapped.run();
             } catch (Throwable t) {
@@ -555,7 +554,7 @@ public class AsyncContextImpl implements AsyncContext, 
AsyncContextCallback {
                 
coyoteResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                 coyoteResponse.setError();
             } finally {
-                context.unbind(Globals.IS_SECURITY_ENABLED, oldCL);
+                context.unbind(false, oldCL);
             }
 
             // Since this runnable is not executing as a result of a socket
diff --git a/java/org/apache/catalina/core/StandardHost.java 
b/java/org/apache/catalina/core/StandardHost.java
index 07df3d9f1f..2f5a758617 100644
--- a/java/org/apache/catalina/core/StandardHost.java
+++ b/java/org/apache/catalina/core/StandardHost.java
@@ -32,7 +32,6 @@ import javax.management.ObjectName;
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Engine;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Host;
 import org.apache.catalina.JmxEnabled;
 import org.apache.catalina.Lifecycle;
@@ -139,7 +138,7 @@ public class StandardHost extends ContainerBase implements 
Host {
     /**
      * deploy Context XML config files property.
      */
-    private boolean deployXML = !Globals.IS_SECURITY_ENABLED;
+    private boolean deployXML = true;
 
 
     /**
diff --git a/java/org/apache/catalina/core/StandardHostValve.java 
b/java/org/apache/catalina/core/StandardHostValve.java
index 8e0c5b283f..159eb26296 100644
--- a/java/org/apache/catalina/core/StandardHostValve.java
+++ b/java/org/apache/catalina/core/StandardHostValve.java
@@ -100,7 +100,7 @@ final class StandardHostValve extends ValveBase {
         boolean asyncAtStart = request.isAsync();
 
         try {
-            context.bind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER);
+            context.bind(false, MY_CLASSLOADER);
 
             if (!asyncAtStart && 
!context.fireRequestInitEvent(request.getRequest())) {
                 // Don't fire listeners during async processing (the listener
@@ -167,7 +167,7 @@ final class StandardHostValve extends ValveBase {
                 request.getSession(false);
             }
 
-            context.unbind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER);
+            context.unbind(false, MY_CLASSLOADER);
         }
     }
 
diff --git a/java/org/apache/catalina/core/StandardWrapper.java 
b/java/org/apache/catalina/core/StandardWrapper.java
index c54680a8f8..540bf0ce3a 100644
--- a/java/org/apache/catalina/core/StandardWrapper.java
+++ b/java/org/apache/catalina/core/StandardWrapper.java
@@ -47,11 +47,9 @@ import jakarta.servlet.annotation.MultipartConfig;
 import org.apache.catalina.Container;
 import org.apache.catalina.ContainerServlet;
 import org.apache.catalina.Context;
-import org.apache.catalina.Globals;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Wrapper;
-import org.apache.catalina.security.SecurityUtil;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.InstanceManager;
@@ -973,25 +971,7 @@ public class StandardWrapper extends ContainerBase
 
         // Call the initialization method of this servlet
         try {
-            if( Globals.IS_SECURITY_ENABLED) {
-                boolean success = false;
-                try {
-                    Object[] args = new Object[] { facade };
-                    SecurityUtil.doAsPrivilege("init",
-                                               servlet,
-                                               classType,
-                                               args);
-                    success = true;
-                } finally {
-                    if (!success) {
-                        // destroy() will not be called, thus clear the 
reference now
-                        SecurityUtil.remove(servlet);
-                    }
-                }
-            } else {
-                servlet.init(facade);
-            }
-
+            servlet.init(facade);
             instanceInitialized = true;
         } catch (UnavailableException f) {
             unavailable(f);
@@ -1142,16 +1122,7 @@ public class StandardWrapper extends ContainerBase
 
             // Call the servlet destroy() method
             try {
-                if( Globals.IS_SECURITY_ENABLED) {
-                    try {
-                        SecurityUtil.doAsPrivilege("destroy", instance);
-                    } finally {
-                        SecurityUtil.remove(instance);
-                    }
-                } else {
-                    instance.destroy();
-                }
-
+                instance.destroy();
             } catch (Throwable t) {
                 t = ExceptionUtils.unwrapInvocationTargetException(t);
                 ExceptionUtils.handleThrowable(t);
diff --git a/java/org/apache/catalina/security/SecurityUtil.java 
b/java/org/apache/catalina/security/SecurityUtil.java
index 20b5c0e498..5a245217b8 100644
--- a/java/org/apache/catalina/security/SecurityUtil.java
+++ b/java/org/apache/catalina/security/SecurityUtil.java
@@ -76,10 +76,6 @@ public final class SecurityUtil{
 
     private static final Log log = LogFactory.getLog(SecurityUtil.class);
 
-    private static final boolean packageDefinitionEnabled =
-         (System.getProperty("package.definition") == null &&
-           System.getProperty("package.access")  == null) ? false : true;
-
     /**
      * The string resources for this package.
      */
@@ -413,19 +409,4 @@ public final class SecurityUtil{
     public static void remove(Object cachedObject){
         classCache.remove(cachedObject);
     }
-
-
-    /**
-     * Return the <code>SecurityManager</code> only if Security is enabled AND
-     * package protection mechanism is enabled.
-     * @return <code>true</code> if package level protection is enabled
-     */
-    public static boolean isPackageProtectionEnabled(){
-        if (packageDefinitionEnabled && Globals.IS_SECURITY_ENABLED){
-            return true;
-        }
-        return false;
-    }
-
-
 }
diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java 
b/java/org/apache/catalina/servlets/DefaultServlet.java
index 7a647b0804..dc00ef6897 100644
--- a/java/org/apache/catalina/servlets/DefaultServlet.java
+++ b/java/org/apache/catalina/servlets/DefaultServlet.java
@@ -43,14 +43,10 @@ import java.util.List;
 import java.util.Locale;
 import java.util.function.Function;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
@@ -83,10 +79,6 @@ import org.apache.tomcat.util.http.parser.EntityTag;
 import org.apache.tomcat.util.http.parser.Ranges;
 import org.apache.tomcat.util.res.StringManager;
 import org.apache.tomcat.util.security.Escape;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.EntityResolver2;
 
 
 /**
@@ -140,10 +132,6 @@ public class DefaultServlet extends HttpServlet {
      */
     protected static final StringManager sm = 
StringManager.getManager(DefaultServlet.class);
 
-    private static final DocumentBuilderFactory factory;
-
-    private static final SecureEntityResolver secureEntityResolver;
-
     /**
      * Full range marker.
      */
@@ -162,21 +150,6 @@ public class DefaultServlet extends HttpServlet {
     protected static final int BUFFER_SIZE = 4096;
 
 
-    // ----------------------------------------------------- Static Initializer
-
-    static {
-        if (Globals.IS_SECURITY_ENABLED) {
-            factory = DocumentBuilderFactory.newInstance();
-            factory.setNamespaceAware(true);
-            factory.setValidating(false);
-            secureEntityResolver = new SecureEntityResolver();
-        } else {
-            factory = null;
-            secureEntityResolver = null;
-        }
-    }
-
-
     // ----------------------------------------------------- Instance Variables
 
     /**
@@ -2008,11 +1981,7 @@ public class DefaultServlet extends HttpServlet {
             if (resource.isFile()) {
                 InputStream is = resource.getInputStream();
                 if (is != null) {
-                    if (Globals.IS_SECURITY_ENABLED) {
-                        return secureXslt(is);
-                    } else {
-                        return new StreamSource(is);
-                    }
+                    return new StreamSource(is);
                 }
             }
             if (debug > 10) {
@@ -2024,11 +1993,7 @@ public class DefaultServlet extends HttpServlet {
             InputStream is =
                 getServletContext().getResourceAsStream(contextXsltFile);
             if (is != null) {
-                if (Globals.IS_SECURITY_ENABLED) {
-                    return secureXslt(is);
-                } else {
-                    return new StreamSource(is);
-                }
+                return new StreamSource(is);
             }
 
             if (debug > 10) {
@@ -2104,31 +2069,6 @@ public class DefaultServlet extends HttpServlet {
     }
 
 
-    private Source secureXslt(InputStream is) {
-        // Need to filter out any external entities
-        Source result = null;
-        try {
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            builder.setEntityResolver(secureEntityResolver);
-            Document document = builder.parse(is);
-            result = new DOMSource(document);
-        } catch (ParserConfigurationException | SAXException | IOException e) {
-            if (debug > 0) {
-                log(e.getMessage(), e);
-            }
-        } finally {
-            if (is != null) {
-                try {
-                    is.close();
-                } catch (IOException e) {
-                    // Ignore
-                }
-            }
-        }
-        return result;
-    }
-
-
     // -------------------------------------------------------- protected 
Methods
 
     /**
@@ -2656,36 +2596,6 @@ public class DefaultServlet extends HttpServlet {
     }
 
 
-    /**
-     * This is secure in the sense that any attempt to use an external entity
-     * will trigger an exception.
-     */
-    private static class SecureEntityResolver implements EntityResolver2  {
-
-        @Override
-        public InputSource resolveEntity(String publicId, String systemId)
-                throws SAXException, IOException {
-            throw new 
SAXException(sm.getString("defaultServlet.blockExternalEntity",
-                    publicId, systemId));
-        }
-
-        @Override
-        public InputSource getExternalSubset(String name, String baseURI)
-                throws SAXException, IOException {
-            throw new 
SAXException(sm.getString("defaultServlet.blockExternalSubset",
-                    name, baseURI));
-        }
-
-        @Override
-        public InputSource resolveEntity(String name, String publicId,
-                String baseURI, String systemId) throws SAXException,
-                IOException {
-            throw new 
SAXException(sm.getString("defaultServlet.blockExternalEntity2",
-                    name, publicId, baseURI, systemId));
-        }
-    }
-
-
     /**
      * Gets the ordering character to be used for a particular column.
      *
diff --git a/java/org/apache/catalina/session/DataSourceStore.java 
b/java/org/apache/catalina/session/DataSourceStore.java
index 1178eac41d..7bd8957a1e 100644
--- a/java/org/apache/catalina/session/DataSourceStore.java
+++ b/java/org/apache/catalina/session/DataSourceStore.java
@@ -37,7 +37,6 @@ import javax.naming.NamingException;
 import javax.sql.DataSource;
 
 import org.apache.catalina.Container;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Session;
 import org.apache.juli.logging.Log;
 
@@ -466,7 +465,7 @@ public class DataSourceStore extends StoreBase {
                 return null;
             }
 
-            ClassLoader oldThreadContextCL = 
context.bind(Globals.IS_SECURITY_ENABLED, null);
+            ClassLoader oldThreadContextCL = context.bind(false, null);
 
             try (PreparedStatement preparedLoadSql = 
_conn.prepareStatement(loadSql)){
                 preparedLoadSql.setString(1, id);
@@ -493,7 +492,7 @@ public class DataSourceStore extends StoreBase {
             } catch (SQLException e) {
                 contextLog.error(sm.getString(getStoreName() + 
".SQLException", e));
             } finally {
-                context.unbind(Globals.IS_SECURITY_ENABLED, 
oldThreadContextCL);
+                context.unbind(false, oldThreadContextCL);
                 release(_conn);
             }
             numberOfTries--;
@@ -698,7 +697,7 @@ public class DataSourceStore extends StoreBase {
             org.apache.catalina.Context context = getManager().getContext();
             ClassLoader oldThreadContextCL = null;
             if (localDataSource) {
-                oldThreadContextCL = context.bind(Globals.IS_SECURITY_ENABLED, 
null);
+                oldThreadContextCL = context.bind(false, null);
             }
 
             Context initCtx;
@@ -712,7 +711,7 @@ public class DataSourceStore extends StoreBase {
                                 this.dataSourceName), e);
             } finally {
                 if (localDataSource) {
-                    context.unbind(Globals.IS_SECURITY_ENABLED, 
oldThreadContextCL);
+                    context.unbind(false, oldThreadContextCL);
                 }
             }
         }
diff --git a/java/org/apache/catalina/session/FileStore.java 
b/java/org/apache/catalina/session/FileStore.java
index 1aba87e719..22107f3141 100644
--- a/java/org/apache/catalina/session/FileStore.java
+++ b/java/org/apache/catalina/session/FileStore.java
@@ -30,7 +30,6 @@ import java.util.List;
 import jakarta.servlet.ServletContext;
 
 import org.apache.catalina.Context;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Session;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -226,7 +225,7 @@ public final class FileStore extends StoreBase {
             contextLog.debug(sm.getString(getStoreName()+".loading", id, 
file.getAbsolutePath()));
         }
 
-        ClassLoader oldThreadContextCL = 
context.bind(Globals.IS_SECURITY_ENABLED, null);
+        ClassLoader oldThreadContextCL = context.bind(false, null);
 
         try (FileInputStream fis = new FileInputStream(file.getAbsolutePath());
                 ObjectInputStream ois = getObjectInputStream(fis)) {
@@ -241,7 +240,7 @@ public final class FileStore extends StoreBase {
             }
             return null;
         } finally {
-            context.unbind(Globals.IS_SECURITY_ENABLED, oldThreadContextCL);
+            context.unbind(false, oldThreadContextCL);
         }
     }
 
diff --git a/java/org/apache/catalina/session/ManagerBase.java 
b/java/org/apache/catalina/session/ManagerBase.java
index c78b1ae4c2..a5973932cd 100644
--- a/java/org/apache/catalina/session/ManagerBase.java
+++ b/java/org/apache/catalina/session/ManagerBase.java
@@ -206,22 +206,6 @@ public abstract class ManagerBase extends 
LifecycleMBeanBase implements Manager
 
     private boolean sessionLastAccessAtStart = 
Globals.STRICT_SERVLET_COMPLIANCE;
 
-    // ------------------------------------------------------------ 
Constructors
-
-    public ManagerBase() {
-        if (Globals.IS_SECURITY_ENABLED) {
-            // Minimum set required for default distribution/persistence to 
work
-            // plus String
-            // plus SerializablePrincipal and String[] (required for 
authentication persistence)
-            setSessionAttributeValueClassNameFilter(
-                    "java\\.lang\\.(?:Boolean|Integer|Long|Number|String)"
-                    + 
"|org\\.apache\\.catalina\\.realm\\.GenericPrincipal\\$SerializablePrincipal"
-                    + "|\\[Ljava.lang.String;");
-            setWarnOnSessionAttributeFilterFailure(true);
-        }
-    }
-
-
     // -------------------------------------------------------------- 
Properties
 
     @Override
diff --git a/java/org/apache/catalina/session/StandardSession.java 
b/java/org/apache/catalina/session/StandardSession.java
index bb02064506..13b7d2af7d 100644
--- a/java/org/apache/catalina/session/StandardSession.java
+++ b/java/org/apache/catalina/session/StandardSession.java
@@ -48,7 +48,6 @@ import jakarta.servlet.http.HttpSessionIdListener;
 import jakarta.servlet.http.HttpSessionListener;
 
 import org.apache.catalina.Context;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Manager;
 import org.apache.catalina.Session;
 import org.apache.catalina.SessionEvent;
@@ -764,7 +763,7 @@ public class StandardSession implements HttpSession, 
Session, Serializable {
             if (notify) {
                 ClassLoader oldContextClassLoader = null;
                 try {
-                    oldContextClassLoader = 
context.bind(Globals.IS_SECURITY_ENABLED, null);
+                    oldContextClassLoader = context.bind(false, null);
                     Object listeners[] = 
context.getApplicationLifecycleListeners();
                     if (listeners != null && listeners.length > 0) {
                         HttpSessionEvent event =
@@ -796,7 +795,7 @@ public class StandardSession implements HttpSession, 
Session, Serializable {
                         }
                     }
                 } finally {
-                    context.unbind(Globals.IS_SECURITY_ENABLED, 
oldContextClassLoader);
+                    context.unbind(false, oldContextClassLoader);
                 }
             }
 
@@ -832,12 +831,12 @@ public class StandardSession implements HttpSession, 
Session, Serializable {
             String keys[] = keys();
             ClassLoader oldContextClassLoader = null;
             try {
-                oldContextClassLoader = 
context.bind(Globals.IS_SECURITY_ENABLED, null);
+                oldContextClassLoader = context.bind(false, null);
                 for (String key : keys) {
                     removeAttributeInternal(key, notify);
                 }
             } finally {
-                context.unbind(Globals.IS_SECURITY_ENABLED, 
oldContextClassLoader);
+                context.unbind(false, oldContextClassLoader);
             }
         }
 
diff --git a/java/org/apache/catalina/valves/PersistentValve.java 
b/java/org/apache/catalina/valves/PersistentValve.java
index a63794caa1..cd36b1386d 100644
--- a/java/org/apache/catalina/valves/PersistentValve.java
+++ b/java/org/apache/catalina/valves/PersistentValve.java
@@ -26,7 +26,6 @@ import jakarta.servlet.http.HttpServletResponse;
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Engine;
-import org.apache.catalina.Globals;
 import org.apache.catalina.Host;
 import org.apache.catalina.Manager;
 import org.apache.catalina.Session;
@@ -231,14 +230,14 @@ public class PersistentValve extends ValveBase {
 
     private void bind(Context context) {
         if (clBindRequired) {
-            context.bind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER);
+            context.bind(false, MY_CLASSLOADER);
         }
     }
 
 
     private void unbind(Context context) {
         if (clBindRequired) {
-            context.unbind(Globals.IS_SECURITY_ENABLED, MY_CLASSLOADER);
+            context.unbind(false, MY_CLASSLOADER);
         }
     }
 


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

Reply via email to