Review Request 8007035: Deprecate SecurityManager.checkMemberAccess
Sean, John, Joe, Can you review this fix todeprecatesthe |SecurityManager.checkMemberAccess| method as proposed in http://openjdk.java.net/jeps/176? Webrev at: http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8007035/webrev.00 Specdiff: http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8007035/specdiff The |checkMemberAccess| method requires the caller’s frame to be at a stack depth of four, which is fragile and difficult to enforce. The fix deprecates the SecurityManager.checkMemberAccess method and will throw an exception unconditionally in a future release.There are several methods in java.lang.Class and the class spec of java.lang.invoke.MethodHandles.Lookup in the JDK specify to call SecurityManager.checkMemberAccess. The spec and implementation are updated to do the appropriate permission check. SecurityManager.checkMemberAccess is not final and it can be overridden by a subclass. However, we believe a SecurityManager subclass implementation that overrides the checkMemberAccess method and behaves differently than the default implementation is very rare. Thus we decide not to handle the SecurityManager subclass case that overrids the checkMemberAccess method with this fix and the compatibility risk should be low. Thanks Mandy
On 29/03/2013 02:55, Mandy Chung wrote:
Sean, John, Joe,
Can you review this fix todeprecatesthe |SecurityManager.checkMemberAccess| method as proposed in http://openjdk.java.net/jeps/176?
Webrev at: http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8007035/webrev.00
I went through the webrev except for the MethodHandles update and it mostly looks good to me. I agree that checkMemberAccess should be deprecated. In the @deprecated comment then it should probably say that it will be changed in the future to check AllPermission. It would be inconsistent to throw SecurityException for the fully trusted case. A minor comment checkMemberAccess L2064-2065 where it might be nicer as: if (while != Member.PUBLIC && ccl != ...). -Alan.
participants (2)
-
Alan Bateman
-
Mandy Chung