mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8266459: Implement JEP 411: Deprecate the Security Manager for Removal
Co-authored-by: Sean Mullan <mullan@openjdk.org> Co-authored-by: Lance Andersen <lancea@openjdk.org> Co-authored-by: Weijun Wang <weijun@openjdk.org> Reviewed-by: erikj, darcy, chegar, naoto, joehw, alanb, mchung, kcr, prr, lancea
This commit is contained in:
parent
19450b9951
commit
6765f90250
826 changed files with 2734 additions and 757 deletions
|
@ -84,6 +84,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
private final URLClassPath ucp;
|
||||
|
||||
/* The context to be used when loading classes and resources */
|
||||
@SuppressWarnings("removal")
|
||||
private final AccessControlContext acc;
|
||||
|
||||
/**
|
||||
|
@ -108,6 +109,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* elements is {@code null}.
|
||||
* @see SecurityManager#checkCreateClassLoader
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public URLClassLoader(URL[] urls, ClassLoader parent) {
|
||||
super(parent);
|
||||
this.acc = AccessController.getContext();
|
||||
|
@ -115,7 +117,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
}
|
||||
|
||||
URLClassLoader(String name, URL[] urls, ClassLoader parent,
|
||||
AccessControlContext acc) {
|
||||
@SuppressWarnings("removal") AccessControlContext acc) {
|
||||
super(name, parent);
|
||||
this.acc = acc;
|
||||
this.ucp = new URLClassPath(urls, acc);
|
||||
|
@ -143,13 +145,14 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* elements is {@code null}.
|
||||
* @see SecurityManager#checkCreateClassLoader
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public URLClassLoader(URL[] urls) {
|
||||
super();
|
||||
this.acc = AccessController.getContext();
|
||||
this.ucp = new URLClassPath(urls, acc);
|
||||
}
|
||||
|
||||
URLClassLoader(URL[] urls, AccessControlContext acc) {
|
||||
URLClassLoader(URL[] urls, @SuppressWarnings("removal") AccessControlContext acc) {
|
||||
super();
|
||||
this.acc = acc;
|
||||
this.ucp = new URLClassPath(urls, acc);
|
||||
|
@ -177,6 +180,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* elements is {@code null}.
|
||||
* @see SecurityManager#checkCreateClassLoader
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public URLClassLoader(URL[] urls, ClassLoader parent,
|
||||
URLStreamHandlerFactory factory) {
|
||||
super(parent);
|
||||
|
@ -207,6 +211,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
*
|
||||
* @since 9
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public URLClassLoader(String name,
|
||||
URL[] urls,
|
||||
ClassLoader parent) {
|
||||
|
@ -237,6 +242,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
*
|
||||
* @since 9
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public URLClassLoader(String name, URL[] urls, ClassLoader parent,
|
||||
URLStreamHandlerFactory factory) {
|
||||
super(name, parent);
|
||||
|
@ -335,6 +341,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* @since 1.7
|
||||
*/
|
||||
public void close() throws IOException {
|
||||
@SuppressWarnings("removal")
|
||||
SecurityManager security = System.getSecurityManager();
|
||||
if (security != null) {
|
||||
security.checkPermission(new RuntimePermission("closeClassLoader"));
|
||||
|
@ -404,6 +411,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* or if the loader is closed.
|
||||
* @throws NullPointerException if {@code name} is {@code null}.
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
protected Class<?> findClass(final String name)
|
||||
throws ClassNotFoundException
|
||||
{
|
||||
|
@ -609,6 +617,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
/*
|
||||
* The same restriction to finding classes applies to resources
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
URL url = AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
public URL run() {
|
||||
|
@ -641,6 +650,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
return true;
|
||||
}
|
||||
do {
|
||||
@SuppressWarnings("removal")
|
||||
URL u = AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
public URL run() {
|
||||
|
@ -695,6 +705,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
* @throws NullPointerException if {@code codesource} is {@code null}.
|
||||
* @return the permissions granted to the codesource
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
protected PermissionCollection getPermissions(CodeSource codesource)
|
||||
{
|
||||
PermissionCollection perms = super.getPermissions(codesource);
|
||||
|
@ -779,8 +790,10 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
public static URLClassLoader newInstance(final URL[] urls,
|
||||
final ClassLoader parent) {
|
||||
// Save the caller's context
|
||||
@SuppressWarnings("removal")
|
||||
final AccessControlContext acc = AccessController.getContext();
|
||||
// Need a privileged block to create the class loader
|
||||
@SuppressWarnings("removal")
|
||||
URLClassLoader ucl = AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
public URLClassLoader run() {
|
||||
|
@ -805,8 +818,10 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
|
|||
*/
|
||||
public static URLClassLoader newInstance(final URL[] urls) {
|
||||
// Save the caller's context
|
||||
@SuppressWarnings("removal")
|
||||
final AccessControlContext acc = AccessController.getContext();
|
||||
// Need a privileged block to create the class loader
|
||||
@SuppressWarnings("removal")
|
||||
URLClassLoader ucl = AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
public URLClassLoader run() {
|
||||
|
@ -828,11 +843,11 @@ final class FactoryURLClassLoader extends URLClassLoader {
|
|||
}
|
||||
|
||||
FactoryURLClassLoader(String name, URL[] urls, ClassLoader parent,
|
||||
AccessControlContext acc) {
|
||||
@SuppressWarnings("removal") AccessControlContext acc) {
|
||||
super(name, urls, parent, acc);
|
||||
}
|
||||
|
||||
FactoryURLClassLoader(URL[] urls, AccessControlContext acc) {
|
||||
FactoryURLClassLoader(URL[] urls, @SuppressWarnings("removal") AccessControlContext acc) {
|
||||
super(urls, acc);
|
||||
}
|
||||
|
||||
|
@ -841,6 +856,7 @@ final class FactoryURLClassLoader extends URLClassLoader {
|
|||
{
|
||||
// First check if we have permission to access the package. This
|
||||
// should go away once we've added support for exported packages.
|
||||
@SuppressWarnings("removal")
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
if (sm != null) {
|
||||
int i = name.lastIndexOf('.');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue