diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2014-01-23 23:34:07 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2014-01-23 23:34:07 +0000 |
commit | 7654e4a9ce3ee300d220c736b2ed0422d7633523 (patch) | |
tree | d53ae22c51a7814fac95cb9d8bbe3f3d34f5d422 /java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch | |
parent | - Add stage support (diff) |
- Update to b30.
- Implement sigset(2) for libjsig. All supported FreeBSD releases have it.
- Turn UseMembar back on by default until we find better solution.
Diffstat (limited to 'java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch')
-rw-r--r-- | java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch b/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch deleted file mode 100644 index 90f89ce09c19..000000000000 --- a/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch +++ /dev/null @@ -1,58 +0,0 @@ -# HG changeset patch -# User jfranck -# Date 1382726704 -3600 -# Fri Oct 25 19:45:04 2013 +0100 -# Node ID a2b63addc0633a5ef8d196d1019d78b920cb4b1a -# Parent e7ed5dad88eefc49130ae02bcbf329d72f18f12e -8011139: (reflect) Revise checking in getEnclosingClass -Reviewed-by: darcy, mchung, ahgross - -diff -r e7ed5dad88ee -r a2b63addc063 src/share/classes/java/lang/Class.java ---- jdk/src/share/classes/java/lang/Class.java Fri Oct 25 19:37:20 2013 +0100 -+++ jdk/src/share/classes/java/lang/Class.java Fri Oct 25 19:45:04 2013 +0100 -@@ -1131,13 +1131,9 @@ - enclosingCandidate = enclosingClass; - } - -- // be very careful not to change the stack depth of this -- // checkMemberAccess call for security reasons -- // see java.lang.SecurityManager.checkMemberAccess -- if (enclosingCandidate != null) { -- enclosingCandidate.checkMemberAccess(Member.DECLARED, -- Reflection.getCallerClass(), true); -- } -+ if (enclosingCandidate != null) -+ enclosingCandidate.checkPackageAccess( -+ ClassLoader.getClassLoader(Reflection.getCallerClass()), true); - return enclosingCandidate; - } - -@@ -2214,6 +2210,8 @@ - * Check if client is allowed to access members. If access is denied, - * throw a SecurityException. - * -+ * This method also enforces package access. -+ * - * <p> Default policy: allow all clients access with normal Java access - * control. - */ -@@ -2234,7 +2232,19 @@ - // checkMemberAccess of subclasses of SecurityManager as specified. - s.checkMemberAccess(this, which); - } -+ this.checkPackageAccess(ccl, checkProxyInterfaces); -+ } -+ } - -+ /* -+ * Checks if a client loaded in ClassLoader ccl is allowed to access this -+ * class under the current package access policy. If access is denied, -+ * throw a SecurityException. -+ */ -+ private void checkPackageAccess(final ClassLoader ccl, boolean checkProxyInterfaces) { -+ final SecurityManager s = System.getSecurityManager(); -+ if (s != null) { -+ final ClassLoader cl = getClassLoader0(); - if (ReflectUtil.needsPackageAccessCheck(ccl, cl)) { - - String name = this.getName(); |