Author: markt Date: Sun Nov 30 15:24:38 2008 New Revision: 721931 URL: http://svn.apache.org/viewvc?rev=721931&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46011 Make Principal accessible (if set) via Subject.getSubject(AccessController.getContext()) when processing filters. Based on a patch provided by tsveg1
Modified: tomcat/tc6.0.x/trunk/ (props changed) tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc6.0.x/trunk/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Nov 30 15:24:38 2008 @@ -1 +1 @@ -/tomcat/trunk:601180,606992,673796,673820,683982,684001,684081,684234,684269-684270,687503,687645,690781,691392,691805,692748,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,709294,709816,710063,710125,710205,711126 +/tomcat/trunk:601180,606992,673796,673820,683982,684001,684081,684234,684269-684270,687503,687645,690781,691392,691805,692748,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,709294,709816,710063,710125,710205,711126,711600 Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=721931&r1=721930&r2=721931&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sun Nov 30 15:24:38 2008 @@ -158,13 +158,6 @@ Just did that for trunk (r711934; but it contains also other changes). Caution: at the moment there's no @VERSION@ substitution for service.bat. -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46011 - Make Principal accessible (if set) via - Subject.getSubject(AccessController.getContext()) when processing filters. - Based on a patch provided by tsveg1 - +1: markt, pero, remm - -1: - * Fix http://svn.apache.org/viewvc?rev=712274&view=rev ReplicationValve can throw NPE as context doesn't exists! (Config as Engine level) +1: pero, fhanik, markt Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java?rev=721931&r1=721930&r2=721931&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java Sun Nov 30 15:24:38 2008 @@ -228,7 +228,7 @@ Object[] args = new Object[]{req, res, this}; SecurityUtil.doAsPrivilege - ("doFilter", filter, classType, args); + ("doFilter", filter, classType, args, principal); args = null; } else { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java?rev=721931&r1=721930&r2=721931&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java Sun Nov 30 15:24:38 2008 @@ -180,7 +180,7 @@ /** - * Perform work as a particular </code>Subject</code>. Here the work + * Perform work as a particular <code>Subject</code>. Here the work * will be granted to a <code>null</code> subject. * * @param methodName the method to apply the security restriction @@ -196,6 +196,31 @@ final Class[] targetType, final Object[] targetArguments) throws java.lang.Exception{ + + doAsPrivilege( + methodName, targetObject, targetType, targetArguments, null); + } + + /** + * Perform work as a particular <code>Subject</code>. Here the work + * will be granted to a <code>null</code> subject. + * + * @param methodName the method to apply the security restriction + * @param targetObject the <code>Filter</code> on which the method will + * be called. + * @param targetType <code>Class</code> array used to instanciate a + * <code>Method</code> object. + * @param targetArguments <code>Object</code> array contains the + * runtime parameters instance. + * @param principal the <code>Principal</code> to which the security + * privilege apply + */ + public static void doAsPrivilege(final String methodName, + final Filter targetObject, + final Class[] targetType, + final Object[] targetArguments, + Principal principal) + throws java.lang.Exception{ Method method = null; Method[] methodsCache = null; @@ -215,7 +240,7 @@ targetType); } - execute(method, targetObject, targetArguments, null); + execute(method, targetObject, targetArguments, principal); } Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=721931&r1=721930&r2=721931&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sun Nov 30 15:24:38 2008 @@ -169,6 +169,11 @@ (markt) </add> <fix> + <bug>46011</bug>: Make Principal accessible (if set) via + <code>Subject.getSubject(AccessController.getContext())</code> when + processing filters. Based on a patch by tsveg1. (markt) + </fix> + <fix> <bug>46075</bug>: When uploading files, don't create buffers at the maximum configured size. Use the default size and let the buffers grow to the maximum size if necessary. (markt) @@ -260,7 +265,7 @@ Fix various edge-cases when parsing EL, particularly inside attribute values. Note the the Expert Group has confirmed that JSP.1.6 takes precedence over JSP.1.3.10. Therefore EL in attributes must be escaped - twice. + twice. (markt) </fix> <fix> <bug>46047</bug>: Include the path to the JAR when recording --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]