1 |
// AWTPermission.java - AWT permissions |
/* AWTPermission.java -- AWT related permissions |
2 |
|
Copyright (C) 2000, 2002 Free Software Foundation |
|
/* Copyright (C) 2000, 2002 Free Software Foundation |
|
3 |
|
|
4 |
This file is part of GNU Classpath. |
This file is part of GNU Classpath. |
5 |
|
|
36 |
exception statement from your version. */ |
exception statement from your version. */ |
37 |
|
|
38 |
|
|
|
/** |
|
|
* @author Tom Tromey <tromey@redhat.com> |
|
|
* @date December 2, 2000 |
|
|
*/ |
|
|
|
|
39 |
package java.awt; |
package java.awt; |
40 |
|
|
41 |
import java.security.BasicPermission; |
import java.security.BasicPermission; |
43 |
/** |
/** |
44 |
* This class implements permissions for AWT. This is a named |
* This class implements permissions for AWT. This is a named |
45 |
* permission. No actions are defined. |
* permission. No actions are defined. |
46 |
|
* |
47 |
|
* <p>The following table provides a list of all the possible AWTPermission |
48 |
|
* permission names with a description of what that permission allows.<br> |
49 |
|
* <table border=1> |
50 |
|
* <tr><th>Permission Name</th><th>Permission Allows</th><th>Risks</th</tr> |
51 |
|
* <tr> |
52 |
|
* <td><code>accessClipboard</code></td> |
53 |
|
* <td>posting and reading the AWT clipboard</td> |
54 |
|
* <td>the clipboard may contain sensitive data</td></tr> |
55 |
|
* <tr> |
56 |
|
* <td><code>accessEventQueue</code></td> |
57 |
|
* <td>access to the AWT event queue</td> |
58 |
|
* <td>malicious code could remove real events and replace them with bogus |
59 |
|
* ones, including simulating the user granting permission</td></tr> |
60 |
|
* <tr> |
61 |
|
* <td><code>listenToAllAWTEvents</code></td> |
62 |
|
* <td>listen to system-wide AWT events</td> |
63 |
|
* <td>malicious code can read passwords entered in an AWT event, and in |
64 |
|
* combination with accessEventQueue, could fake system events</td></tr> |
65 |
|
* <tr> |
66 |
|
* <td><code>showWindowWithoutWarningBanner</code></td> |
67 |
|
* <td>display a window without a banner notification of insecurity</td> |
68 |
|
* <td>malicious code could install a Trojan horse applet that looks like |
69 |
|
* a normal window, and thus steal data like passwords</td></tr> |
70 |
|
* <tr> |
71 |
|
* <td><code>readDisplayPixels</code></td> |
72 |
|
* <td>read back pixels from the display screen</td> |
73 |
|
* <td>malicious code could snoop on the user's actions</td></tr> |
74 |
|
* <tr> |
75 |
|
* <td><code>createRobot</code></td> |
76 |
|
* <td>create an instance of java.awt.Robot</td> |
77 |
|
* <td>these objects can generate events as though they were the user; so |
78 |
|
* malicious code could control the system</td></tr> |
79 |
|
* <tr> |
80 |
|
* <td><code>fullScreenExclusive</code></td> |
81 |
|
* <td>enter full-screen exclusive mode</td> |
82 |
|
* <td>malicious code could masquerade as a trusted program</td><tr> |
83 |
|
* </table> |
84 |
|
* |
85 |
|
* @author Tom Tromey <tromey@redhat.com> |
86 |
|
* @since 1.2 |
87 |
|
* @status updated to 1.4 |
88 |
*/ |
*/ |
89 |
public final class AWTPermission extends BasicPermission |
public final class AWTPermission extends BasicPermission |
90 |
{ |
{ |
91 |
/** |
/** |
92 |
|
* Compatible with JDK 1.2+. |
93 |
|
*/ |
94 |
|
private static final long serialVersionUID = 8890392402588814465L; |
95 |
|
|
96 |
|
/** |
97 |
* Construct a AWTPermission with the given name. |
* Construct a AWTPermission with the given name. |
98 |
* @param name The permission name |
* |
99 |
|
* @param name the permission name |
100 |
|
* @throws NullPointerException if name is null |
101 |
|
* @throws IllegalArgumentException if name is invalid |
102 |
*/ |
*/ |
103 |
public AWTPermission (String name) |
public AWTPermission(String name) |
104 |
{ |
{ |
105 |
super (name); |
super(name); |
106 |
} |
} |
107 |
|
|
108 |
/** |
/** |
109 |
* Construct a AWTPermission with the given name. |
* Create a new permission with the specified name. The actions argument |
110 |
* @param name The permission name |
* is ignored, as AWT permissions have no actions. |
111 |
* @param actions The actions; this is ignored and should be null. |
* |
112 |
|
* @param name the permission name |
113 |
|
* @param actions ignored |
114 |
|
* @throws NullPointerException if name is null |
115 |
|
* @throws IllegalArgumentException if name is invalid |
116 |
*/ |
*/ |
117 |
public AWTPermission (String name, String actions) |
public AWTPermission(String name, String actions) |
118 |
{ |
{ |
119 |
super (name, actions); |
super(name); |
120 |
} |
} |
121 |
} |
} // class AWTPermission |