Package org.tanukisoftware.wrapper.security

# Class WrapperPermission

java.lang.Object
java.security.Permission
java.security.BasicPermission
org.tanukisoftware.wrapper.security.WrapperPermission

All Implemented Interfaces:
  `Serializable`, `Guard`

public class WrapperPermission extends BasicPermission
WrapperPermissions are used to control access to the various methods of the WrapperManager class.

Permission Target Name | What the Permission Allows | Risks of Allowing this Permission
--- | --- | ---
restart | Restart the JVM | This is an extremely dangerous permission to grant. Malicious applications can restart the JVM as a denial of service attack.
stop | Stop the JVM | This is an extremely dangerous permission to grant. Malicious applications can stop the JVM as a denial of service attack.
stopImmediate | Stop the JVM immediately without running the shutdown hooks | This is an extremely dangerous permission to grant. Malicious applications can stop the JVM as a denial of service attack.
signalStarting | Control the starting timeouts. | Malicious code could set this to unrealistically small values as the application is starting, thus causing startup failures.
signalStopping | Control the stopping timeouts. | Malicious code could set this to unrealistically small values as the application is stopping, thus causing the application to fail to shutdown cleanly.
signalStopped | Control when the Wrapper is told that the Application has stopped. | Malicious code could call this before the application is actually stopped, thus causing the application to fail to shutdown cleanly.
log | Sends log output to the Wrapper over the back end socket at a specific log level. | Malicious code could send very large quanities of log output which could affect the performance of the Wrapper.
listServices | Requests the status of all services currently installed on the system. | Malicious code could use this information to find other weaknesses in the system.

TODO: Complete javadocs. addWrapperEventListener service,core removeWrapperEventListener setConsoleTitle getUser getInteractiveUser getProperties getWrapperPID getJavaPID requestThreadDump test.appearHung test.accessViolation test.accessViolationNative

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`WrapperPermission(String name)`
Creates a new WrapperPermission with the specified name.
`WrapperPermission(String name, String actions)`
Creates a new WrapperPermission with the specified name.

## Method Summary

### Methods inherited from class java.security.BasicPermission

`equals, getActions, hashCode, implies, newPermissionCollection`

### Methods inherited from class java.security.Permission

`checkGuard, getName, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### WrapperPermission

public WrapperPermission(String name)
Creates a new WrapperPermission with the specified name. The name is the symbolic name of the WrapperPermission, such as "stop", "restart", etc. An asterisk may appear at the end of the name, following a ".", or by itself, to signify a wildcard match.

Parameters:
  `name` - the name of the WrapperPermission.

### WrapperPermission

public WrapperPermission(String name, String actions)
Creates a new WrapperPermission with the specified name. The name is the symbolic name of the WrapperPermission, such as "stop", "restart", etc. An asterisk may appear at the end of the name, following a ".", or by itself, to signify a wildcard match.

Parameters:
  `name` - the name of the WrapperPermission.
  `actions` - The event type or event types to be registered.