src.javax.xml.bind.JAXBPermission Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache is an open source, standards-based cache used to boost performance,
offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
this has made it the most widely-used Java-based cache.
package javax.xml.bind;
import java.awt.*;
import java.security.BasicPermission;
/**
* This class is for JAXB permissions. A {@code JAXBPermission}
* contains a name (also referred to as a "target name") but
* no actions list; you either have the named permission
* or you don't.
*
*
* The target name is the name of the JAXB permission (see below).
*
*
* The following table lists all the possible {@code JAXBPermission} target names,
* and for each provides a description of what the permission allows
* and a discussion of the risks of granting code the permission.
*
*
*
*
* Permission Target Name
* What the Permission Allows
* Risks of Allowing this Permission
*
*
*
* setDatatypeConverter
*
* Allows the code to set VM-wide {@link DatatypeConverterInterface}
* via {@link DatatypeConverter#setDatatypeConverter(DatatypeConverterInterface) the setDatatypeConverter method}
* that all the methods on {@link DatatypeConverter} uses.
*
*
* Malicious code can set {@link DatatypeConverterInterface}, which has
* VM-wide singleton semantics, before a genuine JAXB implementation sets one.
* This allows malicious code to gain access to objects that it may otherwise
* not have access to, such as {@link Frame#getFrames()} that belongs to
* another application running in the same JVM.
*
*
*
*
* @see java.security.BasicPermission
* @see java.security.Permission
* @see java.security.Permissions
* @see java.security.PermissionCollection
* @see java.lang.SecurityManager
*
* @author Joe Fialli
* @since JAXB 2.2
*/
/* code was borrowed originally from java.lang.RuntimePermission. */
public final class JAXBPermission extends BasicPermission {
/**
* Creates a new JAXBPermission with the specified name.
*
* @param name
* The name of the JAXBPermission. As of 2.2 only "setDatatypeConverter"
* is defined.
*/
public JAXBPermission(String name) {
super(name);
}
private static final long serialVersionUID = 1L;
}