From b665031962cd80708318583f48926e673184c3d5 Mon Sep 17 00:00:00 2001 From: remm Date: Sat, 10 Feb 2007 00:54:56 +0000 Subject: [PATCH] - Set of minor optimizations. - Unify usage of the security manager flag. - Submitted by Arvind Srinivasan. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@505593 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/Globals.java | 7 +++++++ java/org/apache/catalina/connector/Constants.java | 6 ------ .../org/apache/catalina/connector/OutputBuffer.java | 3 ++- java/org/apache/catalina/connector/Request.java | 6 +++--- .../apache/catalina/connector/RequestFacade.java | 21 +++++++++++---------- .../apache/catalina/connector/ResponseFacade.java | 5 +++-- .../catalina/core/ApplicationContextFacade.java | 3 ++- .../apache/catalina/core/ApplicationDispatcher.java | 4 ++-- .../catalina/core/ApplicationFilterChain.java | 12 ++++++------ .../catalina/core/ApplicationFilterConfig.java | 5 +++-- .../catalina/core/ApplicationFilterFactory.java | 5 +---- java/org/apache/catalina/core/ContainerBase.java | 3 ++- java/org/apache/catalina/core/StandardWrapper.java | 9 +++++---- java/org/apache/catalina/loader/WebappLoader.java | 2 +- java/org/apache/catalina/security/SecurityUtil.java | 2 +- java/org/apache/catalina/session/ManagerBase.java | 3 ++- .../apache/catalina/session/StandardSession.java | 1 - java/org/apache/coyote/Constants.java | 8 ++++++++ java/org/apache/coyote/http11/Http11Processor.java | 2 +- .../apache/coyote/http11/InternalOutputBuffer.java | 4 ++-- java/org/apache/jasper/Constants.java | 6 ++++++ .../apache/jasper/compiler/JspRuntimeContext.java | 2 +- java/org/apache/jasper/runtime/JspFactoryImpl.java | 5 +++-- .../apache/jasper/runtime/JspRuntimeLibrary.java | 3 ++- java/org/apache/jasper/security/SecurityUtil.java | 4 +++- java/org/apache/naming/Constants.java | 5 +++++ .../naming/resources/DirContextURLConnection.java | 2 +- 27 files changed, 83 insertions(+), 55 deletions(-) diff --git a/java/org/apache/catalina/Globals.java b/java/org/apache/catalina/Globals.java index dc89b4efc..39dfb526e 100644 --- a/java/org/apache/catalina/Globals.java +++ b/java/org/apache/catalina/Globals.java @@ -330,4 +330,11 @@ public final class Globals { Boolean.valueOf(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "false")).booleanValue(); + /** + * Has security been turned on? + */ + public static final boolean IS_SECURITY_ENABLED = + (System.getSecurityManager() != null); + + } diff --git a/java/org/apache/catalina/connector/Constants.java b/java/org/apache/catalina/connector/Constants.java index 1884a9cd1..f401efa72 100644 --- a/java/org/apache/catalina/connector/Constants.java +++ b/java/org/apache/catalina/connector/Constants.java @@ -39,11 +39,5 @@ public final class Constants { public static final int PROCESSOR_IDLE = 0; public static final int PROCESSOR_ACTIVE = 1; - /** - * Security flag. - */ - public static final boolean SECURITY = - (System.getSecurityManager() != null); - } diff --git a/java/org/apache/catalina/connector/OutputBuffer.java b/java/org/apache/catalina/connector/OutputBuffer.java index c86bbca63..4f282a2f8 100644 --- a/java/org/apache/catalina/connector/OutputBuffer.java +++ b/java/org/apache/catalina/connector/OutputBuffer.java @@ -27,6 +27,7 @@ import java.util.HashMap; import org.apache.coyote.ActionCode; import org.apache.coyote.Response; +import org.apache.catalina.Globals; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.C2BConverter; @@ -499,7 +500,7 @@ public class OutputBuffer extends Writer conv = (C2BConverter) encoders.get(enc); if (conv == null) { - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ try{ conv = (C2BConverter)AccessController.doPrivileged( new PrivilegedExceptionAction(){ diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index 11706f41b..ea33f366a 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -423,7 +423,7 @@ public class Request requestedSessionId = null; requestedSessionURL = false; - if (Constants.SECURITY || Connector.RECYCLE_FACADES) { + if (Globals.IS_SECURITY_ENABLED || Connector.RECYCLE_FACADES) { parameterMap = new ParameterMap(); } else { parameterMap.setLocked(false); @@ -432,7 +432,7 @@ public class Request mappingData.recycle(); - if (Constants.SECURITY || Connector.RECYCLE_FACADES) { + if (Globals.IS_SECURITY_ENABLED || Connector.RECYCLE_FACADES) { if (facade != null) { facade.clear(); facade = null; @@ -1738,7 +1738,7 @@ public class Request */ public void setUserPrincipal(Principal principal) { - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ HttpSession session = getSession(false); if ( (subject != null) && (!subject.getPrincipals().contains(principal)) ){ diff --git a/java/org/apache/catalina/connector/RequestFacade.java b/java/org/apache/catalina/connector/RequestFacade.java index 783b968fc..63f062e20 100644 --- a/java/org/apache/catalina/connector/RequestFacade.java +++ b/java/org/apache/catalina/connector/RequestFacade.java @@ -32,6 +32,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.catalina.Globals; import org.apache.catalina.util.StringManager; @@ -270,7 +271,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Enumeration)AccessController.doPrivileged( new GetAttributePrivilegedAction()); } else { @@ -286,7 +287,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (String)AccessController.doPrivileged( new GetCharacterEncodingPrivilegedAction()); } else { @@ -347,7 +348,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (String)AccessController.doPrivileged( new GetParameterPrivilegedAction(name)); } else { @@ -363,7 +364,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Enumeration)AccessController.doPrivileged( new GetParameterNamesPrivilegedAction()); } else { @@ -406,7 +407,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Map)AccessController.doPrivileged( new GetParameterMapPrivilegedAction()); } else { @@ -521,7 +522,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Locale)AccessController.doPrivileged( new GetLocalePrivilegedAction()); } else { @@ -537,7 +538,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Enumeration)AccessController.doPrivileged( new GetLocalesPrivilegedAction()); } else { @@ -564,7 +565,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (RequestDispatcher)AccessController.doPrivileged( new GetRequestDispatcherPrivilegedAction(path)); } else { @@ -650,7 +651,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Enumeration)AccessController.doPrivileged( new GetHeadersPrivilegedAction(name)); } else { @@ -666,7 +667,7 @@ public class RequestFacade implements HttpServletRequest { sm.getString("requestFacade.nullRequest")); } - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ return (Enumeration)AccessController.doPrivileged( new GetHeaderNamesPrivilegedAction()); } else { diff --git a/java/org/apache/catalina/connector/ResponseFacade.java b/java/org/apache/catalina/connector/ResponseFacade.java index af726520f..724eca50b 100644 --- a/java/org/apache/catalina/connector/ResponseFacade.java +++ b/java/org/apache/catalina/connector/ResponseFacade.java @@ -30,6 +30,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; +import org.apache.catalina.Globals; import org.apache.catalina.util.StringManager; import org.apache.catalina.security.SecurityUtil; @@ -446,7 +447,7 @@ public class ResponseFacade if (isCommitted()) return; - if(System.getSecurityManager() != null) { + if(Globals.IS_SECURITY_ENABLED) { AccessController.doPrivileged(new DateHeaderPrivilegedAction (name, date, false)); } else { @@ -461,7 +462,7 @@ public class ResponseFacade if (isCommitted()) return; - if(System.getSecurityManager() != null) { + if(Globals.IS_SECURITY_ENABLED) { AccessController.doPrivileged(new DateHeaderPrivilegedAction (name, date, true)); } else { diff --git a/java/org/apache/catalina/core/ApplicationContextFacade.java b/java/org/apache/catalina/core/ApplicationContextFacade.java index 3a849b9c6..d1373c038 100644 --- a/java/org/apache/catalina/core/ApplicationContextFacade.java +++ b/java/org/apache/catalina/core/ApplicationContextFacade.java @@ -36,6 +36,7 @@ import javax.servlet.Servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import org.apache.catalina.Globals; import org.apache.catalina.security.SecurityUtil; @@ -161,7 +162,7 @@ public final class ApplicationContextFacade public URL getResource(String path) throws MalformedURLException { - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { try { return (URL) invokeMethod(context, "getResource", new Object[]{path}); diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java b/java/org/apache/catalina/core/ApplicationDispatcher.java index 4a1081598..766708181 100644 --- a/java/org/apache/catalina/core/ApplicationDispatcher.java +++ b/java/org/apache/catalina/core/ApplicationDispatcher.java @@ -287,7 +287,7 @@ final class ApplicationDispatcher public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException { - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { try { PrivilegedForward dp = new PrivilegedForward(request,response); AccessController.doPrivileged(dp); @@ -490,7 +490,7 @@ final class ApplicationDispatcher public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException { - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { try { PrivilegedInclude dp = new PrivilegedInclude(request,response); AccessController.doPrivileged(dp); diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java b/java/org/apache/catalina/core/ApplicationFilterChain.java index 36d4c0a1d..24ae109ee 100644 --- a/java/org/apache/catalina/core/ApplicationFilterChain.java +++ b/java/org/apache/catalina/core/ApplicationFilterChain.java @@ -178,7 +178,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final ServletRequest req = request; final ServletResponse res = response; try { @@ -220,7 +220,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { support.fireInstanceEvent(InstanceEvent.BEFORE_FILTER_EVENT, filter, request, response); - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final ServletRequest req = request; final ServletResponse res = response; Principal principal = @@ -274,7 +274,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) { - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final ServletRequest req = request; final ServletResponse res = response; Principal principal = @@ -336,7 +336,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { public void doFilterEvent(CometEvent event) throws IOException, ServletException { - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final CometEvent ev = event; try { java.security.AccessController.doPrivileged( @@ -402,7 +402,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { filter, event); */ - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final CometEvent ev = event; Principal principal = ev.getHttpServletRequest().getUserPrincipal(); @@ -455,7 +455,7 @@ final class ApplicationFilterChain implements FilterChain, CometFilterChain { support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT, servlet, request, response); */ - if( System.getSecurityManager() != null ) { + if( Globals.IS_SECURITY_ENABLED ) { final CometEvent ev = event; Principal principal = ev.getHttpServletRequest().getUserPrincipal(); diff --git a/java/org/apache/catalina/core/ApplicationFilterConfig.java b/java/org/apache/catalina/core/ApplicationFilterConfig.java index e71e44a67..87f75fe0c 100644 --- a/java/org/apache/catalina/core/ApplicationFilterConfig.java +++ b/java/org/apache/catalina/core/ApplicationFilterConfig.java @@ -36,6 +36,7 @@ import javax.servlet.ServletException; import org.apache.AnnotationProcessor; import org.apache.catalina.Context; +import org.apache.catalina.Globals; import org.apache.catalina.deploy.FilterDef; import org.apache.catalina.security.SecurityUtil; import org.apache.catalina.util.Enumerator; @@ -320,7 +321,7 @@ final class ApplicationFilterConfig implements FilterConfig, Serializable { if (this.filter != null) { - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { try { SecurityUtil.doAsPrivilege("destroy", filter); } catch(java.lang.Exception ex){ @@ -370,7 +371,7 @@ final class ApplicationFilterConfig implements FilterConfig, Serializable { // Release any previously allocated filter instance if (this.filter != null){ - if( System.getSecurityManager() != null) { + if( Globals.IS_SECURITY_ENABLED) { try{ SecurityUtil.doAsPrivilege("destroy", filter); } catch(java.lang.Exception ex){ diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java b/java/org/apache/catalina/core/ApplicationFilterFactory.java index cb41188be..c3cdd4f55 100644 --- a/java/org/apache/catalina/core/ApplicationFilterFactory.java +++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java @@ -58,9 +58,6 @@ public final class ApplicationFilterFactory { public static final String DISPATCHER_REQUEST_PATH_ATTR = Globals.DISPATCHER_REQUEST_PATH_ATTR; - private static final SecurityManager securityManager = - System.getSecurityManager(); - private static ApplicationFilterFactory factory = null;; @@ -124,7 +121,7 @@ public final class ApplicationFilterFactory { // Create and initialize a filter chain object ApplicationFilterChain filterChain = null; - if ((securityManager == null) && (request instanceof Request)) { + if (!Globals.IS_SECURITY_ENABLED && (request instanceof Request)) { Request req = (Request) request; filterChain = (ApplicationFilterChain) req.getFilterChain(); if (filterChain == null) { diff --git a/java/org/apache/catalina/core/ContainerBase.java b/java/org/apache/catalina/core/ContainerBase.java index d8401d4c3..d2e3dc7a1 100644 --- a/java/org/apache/catalina/core/ContainerBase.java +++ b/java/org/apache/catalina/core/ContainerBase.java @@ -41,6 +41,7 @@ import org.apache.catalina.Cluster; import org.apache.catalina.Container; import org.apache.catalina.ContainerEvent; import org.apache.catalina.ContainerListener; +import org.apache.catalina.Globals; import org.apache.catalina.Lifecycle; import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; @@ -732,7 +733,7 @@ public abstract class ContainerBase * child Containers */ public void addChild(Container child) { - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { PrivilegedAction dp = new PrivilegedAddChild(child); AccessController.doPrivileged(dp); diff --git a/java/org/apache/catalina/core/StandardWrapper.java b/java/org/apache/catalina/core/StandardWrapper.java index ed0003ea3..8c6120478 100644 --- a/java/org/apache/catalina/core/StandardWrapper.java +++ b/java/org/apache/catalina/core/StandardWrapper.java @@ -52,6 +52,7 @@ import org.apache.PeriodicEventListener; import org.apache.catalina.Container; import org.apache.catalina.ContainerServlet; import org.apache.catalina.Context; +import org.apache.catalina.Globals; import org.apache.catalina.InstanceEvent; import org.apache.catalina.InstanceListener; import org.apache.catalina.LifecycleException; @@ -1148,7 +1149,7 @@ public class StandardWrapper instanceSupport.fireInstanceEvent(InstanceEvent.BEFORE_INIT_EVENT, servlet); - if( System.getSecurityManager() != null) { + if( Globals.IS_SECURITY_ENABLED) { Object[] args = new Object[]{((ServletConfig)facade)}; SecurityUtil.doAsPrivilege("init", @@ -1168,7 +1169,7 @@ public class StandardWrapper req.setQueryString("jsp_precompile=true"); DummyResponse res = new DummyResponse(); - if( System.getSecurityManager() != null) { + if( Globals.IS_SECURITY_ENABLED) { Object[] args = new Object[]{req, res}; SecurityUtil.doAsPrivilege("service", servlet, @@ -1373,7 +1374,7 @@ public class StandardWrapper instanceSupport.fireInstanceEvent (InstanceEvent.BEFORE_DESTROY_EVENT, instance); - if( System.getSecurityManager() != null) { + if( Globals.IS_SECURITY_ENABLED) { SecurityUtil.doAsPrivilege("destroy", instance); SecurityUtil.remove(instance); @@ -1421,7 +1422,7 @@ public class StandardWrapper try { while (!instancePool.isEmpty()) { Servlet s = (Servlet) instancePool.pop(); - if (System.getSecurityManager() != null) { + if (Globals.IS_SECURITY_ENABLED) { SecurityUtil.doAsPrivilege("destroy", s); SecurityUtil.remove(instance); } else { diff --git a/java/org/apache/catalina/loader/WebappLoader.java b/java/org/apache/catalina/loader/WebappLoader.java index 08f233c36..1734f4b02 100644 --- a/java/org/apache/catalina/loader/WebappLoader.java +++ b/java/org/apache/catalina/loader/WebappLoader.java @@ -788,7 +788,7 @@ public class WebappLoader */ private void setPermissions() { - if (System.getSecurityManager() == null) + if (!Globals.IS_SECURITY_ENABLED) return; if (!(container instanceof Context)) return; diff --git a/java/org/apache/catalina/security/SecurityUtil.java b/java/org/apache/catalina/security/SecurityUtil.java index afd5a81c8..8a6a4b209 100644 --- a/java/org/apache/catalina/security/SecurityUtil.java +++ b/java/org/apache/catalina/security/SecurityUtil.java @@ -375,7 +375,7 @@ public final class SecurityUtil{ * package protection mechanism is enabled. */ public static boolean isPackageProtectionEnabled(){ - if (packageDefinitionEnabled && System.getSecurityManager() != null){ + if (packageDefinitionEnabled && Globals.IS_SECURITY_ENABLED){ return true; } return false; diff --git a/java/org/apache/catalina/session/ManagerBase.java b/java/org/apache/catalina/session/ManagerBase.java index eeaf1cb7e..38f4be4df 100644 --- a/java/org/apache/catalina/session/ManagerBase.java +++ b/java/org/apache/catalina/session/ManagerBase.java @@ -44,6 +44,7 @@ import javax.management.ObjectName; import org.apache.catalina.Container; import org.apache.catalina.Engine; +import org.apache.catalina.Globals; import org.apache.catalina.Manager; import org.apache.catalina.Session; import org.apache.catalina.core.StandardContext; @@ -506,7 +507,7 @@ public abstract class ManagerBase implements Manager, MBeanRegistration { public void setRandomFile( String s ) { // as a hack, you can use a static file - and genarate the same // session ids ( good for strange debugging ) - if (System.getSecurityManager() != null){ + if (Globals.IS_SECURITY_ENABLED){ randomIS = (DataInputStream)AccessController.doPrivileged(new PrivilegedSetRandomFile()); } else { try{ diff --git a/java/org/apache/catalina/session/StandardSession.java b/java/org/apache/catalina/session/StandardSession.java index 6b29c7404..42113dc05 100644 --- a/java/org/apache/catalina/session/StandardSession.java +++ b/java/org/apache/catalina/session/StandardSession.java @@ -863,7 +863,6 @@ public class StandardSession id = null; lastAccessedTime = 0L; maxInactiveInterval = -1; - accessCount = null; notes.clear(); setPrincipal(null); isNew = false; diff --git a/java/org/apache/coyote/Constants.java b/java/org/apache/coyote/Constants.java index 6f7e9707f..94647f127 100644 --- a/java/org/apache/coyote/Constants.java +++ b/java/org/apache/coyote/Constants.java @@ -53,4 +53,12 @@ public final class Constants { public static final int STAGE_ENDED = 7; + /** + * Has security been turned on? + */ + public static final boolean IS_SECURITY_ENABLED = + (System.getSecurityManager() != null); + + + } diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 0ce7ccf06..d5dfbb17f 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -1542,7 +1542,7 @@ public class Http11Processor implements ActionHook { // Add date header String date = null; - if (System.getSecurityManager() != null){ + if (org.apache.coyote.Constants.IS_SECURITY_ENABLED){ date = (String)AccessController.doPrivileged( new PrivilegedAction() { public Object run(){ diff --git a/java/org/apache/coyote/http11/InternalOutputBuffer.java b/java/org/apache/coyote/http11/InternalOutputBuffer.java index a013b5977..1df2fc6fe 100644 --- a/java/org/apache/coyote/http11/InternalOutputBuffer.java +++ b/java/org/apache/coyote/http11/InternalOutputBuffer.java @@ -446,7 +446,7 @@ public class InternalOutputBuffer } // End the response status line - if (System.getSecurityManager() != null){ + if (org.apache.coyote.Constants.IS_SECURITY_ENABLED){ AccessController.doPrivileged( new PrivilegedAction(){ public Object run(){ @@ -464,7 +464,7 @@ public class InternalOutputBuffer } private String getMessage(final int message){ - if (System.getSecurityManager() != null){ + if (org.apache.coyote.Constants.IS_SECURITY_ENABLED){ return (String)AccessController.doPrivileged( new PrivilegedAction(){ public Object run(){ diff --git a/java/org/apache/jasper/Constants.java b/java/org/apache/jasper/Constants.java index dff908bf1..4ec2fefa3 100644 --- a/java/org/apache/jasper/Constants.java +++ b/java/org/apache/jasper/Constants.java @@ -187,4 +187,10 @@ public class Constants { public static final char ESC = '\u001b'; public static final String ESCStr = "'\\u001b'"; + /** + * Has security been turned on? + */ + public static final boolean IS_SECURITY_ENABLED = + (System.getSecurityManager() != null); + } diff --git a/java/org/apache/jasper/compiler/JspRuntimeContext.java b/java/org/apache/jasper/compiler/JspRuntimeContext.java index b6a712d3d..4245a00e6 100644 --- a/java/org/apache/jasper/compiler/JspRuntimeContext.java +++ b/java/org/apache/jasper/compiler/JspRuntimeContext.java @@ -133,7 +133,7 @@ public final class JspRuntimeContext { return; } - if (System.getSecurityManager() != null) { + if (Constants.IS_SECURITY_ENABLED) { initSecurity(); } diff --git a/java/org/apache/jasper/runtime/JspFactoryImpl.java b/java/org/apache/jasper/runtime/JspFactoryImpl.java index 5183cdeb6..49b667fa5 100644 --- a/java/org/apache/jasper/runtime/JspFactoryImpl.java +++ b/java/org/apache/jasper/runtime/JspFactoryImpl.java @@ -28,6 +28,7 @@ import javax.servlet.jsp.JspFactory; import javax.servlet.jsp.JspEngineInfo; import javax.servlet.jsp.PageContext; +import org.apache.jasper.Constants; import org.apache.jasper.util.SimplePool; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -56,7 +57,7 @@ public class JspFactoryImpl extends JspFactory { int bufferSize, boolean autoflush) { - if( System.getSecurityManager() != null ) { + if( Constants.IS_SECURITY_ENABLED ) { PrivilegedGetPageContext dp = new PrivilegedGetPageContext( (JspFactoryImpl)this, servlet, request, response, errorPageURL, needsSession, bufferSize, autoflush); @@ -71,7 +72,7 @@ public class JspFactoryImpl extends JspFactory { public void releasePageContext(PageContext pc) { if( pc == null ) return; - if( System.getSecurityManager() != null ) { + if( Constants.IS_SECURITY_ENABLED ) { PrivilegedReleasePageContext dp = new PrivilegedReleasePageContext( (JspFactoryImpl)this,pc); AccessController.doPrivileged(dp); diff --git a/java/org/apache/jasper/runtime/JspRuntimeLibrary.java b/java/org/apache/jasper/runtime/JspRuntimeLibrary.java index aec6453f5..02d21ddf8 100644 --- a/java/org/apache/jasper/runtime/JspRuntimeLibrary.java +++ b/java/org/apache/jasper/runtime/JspRuntimeLibrary.java @@ -37,6 +37,7 @@ import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.BodyContent; +import org.apache.jasper.Constants; import org.apache.jasper.JasperException; import org.apache.jasper.compiler.Localizer; @@ -293,7 +294,7 @@ public class JspRuntimeLibrary { String param, boolean ignoreMethodNF) throws JasperException { - if( System.getSecurityManager() != null ) { + if( Constants.IS_SECURITY_ENABLED ) { try { PrivilegedIntrospectHelper dp = new PrivilegedIntrospectHelper( diff --git a/java/org/apache/jasper/security/SecurityUtil.java b/java/org/apache/jasper/security/SecurityUtil.java index 6462a9305..657a87208 100644 --- a/java/org/apache/jasper/security/SecurityUtil.java +++ b/java/org/apache/jasper/security/SecurityUtil.java @@ -16,6 +16,8 @@ */ package org.apache.jasper.security; +import org.apache.jasper.Constants; + /** * Util class for Security related operations. * @@ -32,7 +34,7 @@ public final class SecurityUtil{ * package protection mechanism is enabled. */ public static boolean isPackageProtectionEnabled(){ - if (packageDefinitionEnabled && System.getSecurityManager() != null){ + if (packageDefinitionEnabled && Constants.IS_SECURITY_ENABLED){ return true; } return false; diff --git a/java/org/apache/naming/Constants.java b/java/org/apache/naming/Constants.java index 740977f24..ffb3c426d 100644 --- a/java/org/apache/naming/Constants.java +++ b/java/org/apache/naming/Constants.java @@ -27,4 +27,9 @@ public final class Constants { public static final String Package = "org.apache.naming"; + /** + * Has security been turned on? + */ + public static final boolean IS_SECURITY_ENABLED = + (System.getSecurityManager() != null); } diff --git a/java/org/apache/naming/resources/DirContextURLConnection.java b/java/org/apache/naming/resources/DirContextURLConnection.java index aa60769e0..2c85e7e54 100644 --- a/java/org/apache/naming/resources/DirContextURLConnection.java +++ b/java/org/apache/naming/resources/DirContextURLConnection.java @@ -59,7 +59,7 @@ public class DirContextURLConnection if (context == null) throw new IllegalArgumentException ("Directory context can't be null"); - if (System.getSecurityManager() != null) { + if (org.apache.naming.Constants.IS_SECURITY_ENABLED) { this.permission = new JndiPermission(url.toString()); } this.context = context; -- 2.11.0