|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
package com.sun.jdi; |
|
|
|
/** |
|
* The <code>JDIPermission</code> class represents access rights to |
|
* the <code>VirtualMachineManager</code>. This is the permission |
|
* which the SecurityManager will check when code that is running with |
|
* a SecurityManager requests access to the VirtualMachineManager, as |
|
* defined in the Java Debug Interface (JDI) for the Java platform. |
|
* <P> |
|
* A <code>JDIPermission</code> object contains a name (also referred |
|
* to as a "target name") but no actions list; you either have the |
|
* named permission or you don't. |
|
* <P> |
|
* The following table provides a summary description of what the |
|
* permission allows, and discusses the risks of granting code the |
|
* permission. |
|
* <P> |
|
* <table border=1 cellpadding=5 summary="Table shows permission |
|
* target name, what the permission allows, and associated risks"> |
|
* <tr> |
|
* <th>Permission Target Name</th> |
|
* <th>What the Permission Allows</th> |
|
* <th>Risks of Allowing this Permission</th> |
|
* </tr> |
|
* |
|
* <tr> |
|
* <td>virtualMachineManager</td> |
|
* <td>Ability to inspect and modify the JDI objects in the |
|
* <code>VirtualMachineManager</code> |
|
* </td> |
|
* <td>This allows an attacker to control the |
|
* <code>VirtualMachineManager</code> and cause the system to |
|
* misbehave. |
|
* </td> |
|
* </tr> |
|
* |
|
* </table> |
|
* |
|
* <p> |
|
* Programmers do not normally create JDIPermission objects directly. |
|
* Instead they are created by the security policy code based on reading |
|
* the security policy file. |
|
* |
|
* @author Tim Bell |
|
* @since 1.5 |
|
* |
|
* @see com.sun.jdi.Bootstrap |
|
* @see java.security.BasicPermission |
|
* @see java.security.Permission |
|
* @see java.security.Permissions |
|
* @see java.security.PermissionCollection |
|
* @see java.lang.SecurityManager |
|
* |
|
*/ |
|
|
|
@jdk.Exported |
|
public final class JDIPermission extends java.security.BasicPermission { |
|
private static final long serialVersionUID = -6988461416938786271L; |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public JDIPermission(String name) { |
|
super(name); |
|
if (!name.equals("virtualMachineManager")) { |
|
throw new IllegalArgumentException("name: " + name); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public JDIPermission(String name, String actions) |
|
throws IllegalArgumentException { |
|
super(name); |
|
if (!name.equals("virtualMachineManager")) { |
|
throw new IllegalArgumentException("name: " + name); |
|
} |
|
if (actions != null && actions.length() > 0) { |
|
throw new IllegalArgumentException("actions: " + actions); |
|
} |
|
} |
|
} |