24 */ |
24 */ |
25 |
25 |
26 package com.sun.jdi; |
26 package com.sun.jdi; |
27 |
27 |
28 /** |
28 /** |
29 * The <code>JDIPermission</code> class represents access rights to |
29 * The {@code JDIPermission} class represents access rights to |
30 * the <code>VirtualMachineManager</code>. This is the permission |
30 * the {@code VirtualMachineManager}. This is the permission |
31 * which the SecurityManager will check when code that is running with |
31 * which the SecurityManager will check when code that is running with |
32 * a SecurityManager requests access to the VirtualMachineManager, as |
32 * a SecurityManager requests access to the VirtualMachineManager, as |
33 * defined in the Java Debug Interface (JDI) for the Java platform. |
33 * defined in the Java Debug Interface (JDI) for the Java platform. |
34 * <P> |
34 * <P> |
35 * A <code>JDIPermission</code> object contains a name (also referred |
35 * A {@code JDIPermission} object contains a name (also referred |
36 * to as a "target name") but no actions list; you either have the |
36 * to as a "target name") but no actions list; you either have the |
37 * named permission or you don't. |
37 * named permission or you don't. |
38 * <P> |
38 * <P> |
39 * The following table provides a summary description of what the |
39 * The following table provides a summary description of what the |
40 * permission allows, and discusses the risks of granting code the |
40 * permission allows, and discusses the risks of granting code the |
41 * permission. |
41 * permission. |
42 * <P> |
42 * |
43 * <table border=1 cellpadding=5 summary="Table shows permission |
43 * <table border=1 cellpadding=5 summary="Table shows permission |
44 * target name, what the permission allows, and associated risks"> |
44 * target name, what the permission allows, and associated risks"> |
45 * <tr> |
45 * <tr> |
46 * <th>Permission Target Name</th> |
46 * <th>Permission Target Name</th> |
47 * <th>What the Permission Allows</th> |
47 * <th>What the Permission Allows</th> |
49 * </tr> |
49 * </tr> |
50 * |
50 * |
51 * <tr> |
51 * <tr> |
52 * <td>virtualMachineManager</td> |
52 * <td>virtualMachineManager</td> |
53 * <td>Ability to inspect and modify the JDI objects in the |
53 * <td>Ability to inspect and modify the JDI objects in the |
54 * <code>VirtualMachineManager</code> |
54 * {@code VirtualMachineManager} |
55 * </td> |
55 * </td> |
56 * <td>This allows an attacker to control the |
56 * <td>This allows an attacker to control the |
57 * <code>VirtualMachineManager</code> and cause the system to |
57 * {@code VirtualMachineManager} and cause the system to |
58 * misbehave. |
58 * misbehave. |
59 * </td> |
59 * </td> |
60 * </tr> |
60 * </tr> |
61 * |
61 * |
62 * </table> |
62 * </table> |
80 |
80 |
81 @jdk.Exported |
81 @jdk.Exported |
82 public final class JDIPermission extends java.security.BasicPermission { |
82 public final class JDIPermission extends java.security.BasicPermission { |
83 private static final long serialVersionUID = -6988461416938786271L; |
83 private static final long serialVersionUID = -6988461416938786271L; |
84 /** |
84 /** |
85 * The <code>JDIPermission</code> class represents access rights to the |
85 * The {@code JDIPermission} class represents access rights to the |
86 * <code>VirtualMachineManager</code> |
86 * {@code VirtualMachineManager} |
87 * @param name Permission name. Must be "virtualMachineManager". |
87 * @param name Permission name. Must be "virtualMachineManager". |
88 * @throws IllegalArgumentException if the name argument is invalid. |
88 * @throws IllegalArgumentException if the name argument is invalid. |
89 */ |
89 */ |
90 public JDIPermission(String name) { |
90 public JDIPermission(String name) { |
91 super(name); |
91 super(name); |