jfarcand 2003/03/11 12:51:12
Modified: catalina/src/share/org/apache/catalina/security
SecurityClassLoad.java
coyote/src/java/org/apache/coyote/tomcat5
CoyoteRequestFacade.java
Log:
Add a missing doPrivileged block when package protection is enabled.
Revision Changes Path
1.6 +13 -8
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java
Index: SecurityClassLoad.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SecurityClassLoad.java 4 Mar 2003 01:57:06 -0000 1.5
+++ SecurityClassLoad.java 11 Mar 2003 20:51:12 -0000 1.6
@@ -124,6 +124,9 @@
String basePackage = "org.apache.catalina.";
loader.loadClass
(basePackage + "session.StandardSession");
+ loader.loadClass
+ (basePackage +
+ "session.StandardSession$1");
}
@@ -188,6 +191,9 @@
"CoyoteResponseFacade$SetContentTypePrivilegedAction");
loader.loadClass
(basePackage +
+ "CoyoteRequestFacade$GetSessionPrivilegedAction");
+ loader.loadClass
+ (basePackage +
"CoyoteResponseFacade$1");
loader.loadClass
(basePackage +
@@ -198,16 +204,15 @@
loader.loadClass
(basePackage +
"CoyoteInputStream$2");
- loader.loadClass
+ loader.loadClass
(basePackage +
"CoyoteInputStream$3");
- loader.loadClass
+ loader.loadClass
(basePackage +
"CoyoteInputStream$4");
- loader.loadClass
+ loader.loadClass
(basePackage +
"CoyoteInputStream$5");
-
}
}
1.3 +32 -12
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequestFacade.java
Index: CoyoteRequestFacade.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequestFacade.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CoyoteRequestFacade.java 4 Nov 2002 05:14:09 -0000 1.2
+++ CoyoteRequestFacade.java 11 Mar 2003 20:51:12 -0000 1.3
@@ -212,7 +212,22 @@
}
}
-
+ private final class GetSessionPrivilegedAction implements PrivilegedAction{
+ private boolean create;
+
+ public GetSessionPrivilegedAction(boolean create){
+ this.create = create;
+ }
+
+ public Object run() {
+ HttpSession session =
+ request.getSession(create);
+ if (session == null)
+ return null;
+ else
+ return (new StandardSessionFacade(session));
+ }
+ }
// ----------------------------------------------------------- Constructors
@@ -536,14 +551,19 @@
public HttpSession getSession(boolean create) {
- HttpSession session =
- request.getSession(create);
- if (session == null)
- return null;
- else
- return new StandardSessionFacade(session);
- }
+ if (System.getSecurityManager() != null){
+ return (HttpSession)AccessController.
+ doPrivileged(new GetSessionPrivilegedAction(create));
+ } else {
+ HttpSession session =
+ request.getSession(create);
+ if (session == null)
+ return null;
+ else
+ return new StandardSessionFacade(session);
+ }
+ }
public HttpSession getSession() {
return getSession(true);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]