jdk sdk add
This commit is contained in:
63
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/NOTICE
Normal file
63
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/NOTICE
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# Notices for Eclipse Temurin
|
||||||
|
|
||||||
|
This content is produced and maintained by the Eclipse Temurin project.
|
||||||
|
|
||||||
|
* Project home: https://projects.eclipse.org/projects/adoptium.temurin
|
||||||
|
|
||||||
|
## Trademarks
|
||||||
|
|
||||||
|
Eclipse Temurin is a trademark of the Eclipse Foundation. Eclipse, and the
|
||||||
|
Eclipse Logo are registered trademarks of the Eclipse Foundation.
|
||||||
|
|
||||||
|
Java and all Java-based trademarks are trademarks of Oracle Corporation in
|
||||||
|
the United States, other countries, or both.
|
||||||
|
|
||||||
|
## Copyright
|
||||||
|
|
||||||
|
All content is the property of the respective authors or their employers.
|
||||||
|
For more information regarding authorship of content, please consult the
|
||||||
|
listed source code repository logs.
|
||||||
|
|
||||||
|
## Declared Project Licenses
|
||||||
|
|
||||||
|
This program and the accompanying materials are made available under the terms
|
||||||
|
of the GNU General Public License, version 2, with the Classpath Exception.
|
||||||
|
|
||||||
|
Additional information relating to the program and accompanying materials
|
||||||
|
license and usage is available as follows.
|
||||||
|
* For Eclipse Temurin version 8 see the LICENSE and ASSEMBLY_EXCEPTION files
|
||||||
|
in the top level directory of the installation.
|
||||||
|
* For Eclipse Temurin version 9 or later see the files under the legal/
|
||||||
|
directory in the top level directory of the installation.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-2.0 WITH Classpath-exception-2.0
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
The project maintains the following source code repositories which may be
|
||||||
|
relevant to this content:
|
||||||
|
|
||||||
|
* https://github.com/adoptium/temurin-build
|
||||||
|
* https://github.com/adoptium/jdk
|
||||||
|
* https://github.com/adoptium/jdk8u
|
||||||
|
* https://github.com/adoptium/jdk11u
|
||||||
|
* https://github.com/adoptium/jdk17u
|
||||||
|
* https://github.com/adoptium/jdk20
|
||||||
|
* and so on
|
||||||
|
|
||||||
|
## Third-party Content
|
||||||
|
|
||||||
|
This program and accompanying materials contains third-party content.
|
||||||
|
* For Eclipse Temurin version 8 see the THIRD_PARTY_LICENSE file in the
|
||||||
|
top level directory of the installation.
|
||||||
|
* For Eclipse Temurin version 9 or later see the files under the legal/
|
||||||
|
directory in the top level directory of the installation.
|
||||||
|
|
||||||
|
## Cryptography
|
||||||
|
|
||||||
|
Content may contain encryption software. The country in which you are currently
|
||||||
|
may have restrictions on the import, possession, and use, and/or re-export to
|
||||||
|
another country, of encryption software. BEFORE using any encryption software,
|
||||||
|
please check the country's laws, regulations and policies concerning the import,
|
||||||
|
possession, or use, and re-export of encryption software, to see if this is
|
||||||
|
permitted.
|
||||||
@@ -0,0 +1,180 @@
|
|||||||
|
################################################################################
|
||||||
|
# JAXP Configuration File
|
||||||
|
#
|
||||||
|
# jaxp.properties (this file) is the default configuration file for JAXP, the API
|
||||||
|
# defined in the java.xml module. It is in java.util.Properties format and typically
|
||||||
|
# located in the {java.home}/conf directory. It may contain key/value pairs for
|
||||||
|
# specifying the implementation classes of JAXP factories and/or properties
|
||||||
|
# that have corresponding system properties.
|
||||||
|
#
|
||||||
|
# A user-specified configuration file can be set up using the system property
|
||||||
|
# java.xml.config.file to override any or all of the entries in jaxp.properties.
|
||||||
|
# The following statement provides myConfigurationFile as a custom configuration
|
||||||
|
# file:
|
||||||
|
# java -Djava.xml.config.file=myConfigurationFile
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# ---- JAXP Default Configuration ----
|
||||||
|
#
|
||||||
|
# The JAXP default configuration (jaxp.properties) contains entries for the
|
||||||
|
# Factory Lookup Mechanism and properties with corresponding system properties.
|
||||||
|
# The values are generally set to the default values of the properties.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# JAXP Lookup Mechanism:
|
||||||
|
#
|
||||||
|
# The JAXP configuration file ranks 2nd to the System Property in the precedent
|
||||||
|
# order of the JAXP Lookup Mechanism. When the System Property is not specified,
|
||||||
|
# a JAXP factory reads the configuration file in order to locate an implementation
|
||||||
|
# class. If found, the class specified will be used as the factory implementation
|
||||||
|
# class.
|
||||||
|
#
|
||||||
|
# The format of an entry is key=value where the key is the fully qualified name
|
||||||
|
# of the factory and value that of the implementation class. The following entry
|
||||||
|
# set a DocumentBuilderFactory implementation class:
|
||||||
|
#
|
||||||
|
# javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Java SE and JDK Implementation Specific Properties:
|
||||||
|
#
|
||||||
|
# The JAXP configuration file ranks above the default settings in the Property
|
||||||
|
# Precedence in that its entries will override the default values of the corresponding
|
||||||
|
# properties.
|
||||||
|
#
|
||||||
|
# All properties that have System Properties defined in Java SE or supported
|
||||||
|
# by the JDK Implementation can be placed in the configuration file to override
|
||||||
|
# the default property values. The format is:
|
||||||
|
# system-property-name=value
|
||||||
|
#
|
||||||
|
# For example, the FILES property in CatalogFeatures has an associated system
|
||||||
|
# property called javax.xml.catalog.files. An entry for the FILES property in the
|
||||||
|
# configuration file would therefore use javax.xml.catalog.files as the key, that
|
||||||
|
# is:
|
||||||
|
# javax.xml.catalog.files=strict
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Extension Functions:
|
||||||
|
#
|
||||||
|
# This property determines whether XSLT and XPath extension functions are allowed.
|
||||||
|
# The value type is boolean and the default value is true (allowing
|
||||||
|
# extension functions). The following entry would override the default value and
|
||||||
|
# disallow extension functions:
|
||||||
|
#
|
||||||
|
# jdk.xml.enableExtensionFunctions=false
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Overriding the default parser:
|
||||||
|
#
|
||||||
|
# This property allows using a third party implementation to override the default
|
||||||
|
# parser provided by the JDK. The value type is boolean and the default value is
|
||||||
|
# false, disallowing overriding the default parser. The setting below reflects
|
||||||
|
# the default property setting:
|
||||||
|
#
|
||||||
|
jdk.xml.overrideDefaultParser=false
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# External Access Properties:
|
||||||
|
#
|
||||||
|
# The External Access Properties are defined in javax.xml.XMLConstants. Their
|
||||||
|
# system properties are javax.xml.accessExternalDTD, javax.xml.accessExternalSchema,
|
||||||
|
# and javax.xml.accessExternalStylesheet. The values are a list of protocols separated
|
||||||
|
# by comma, plus empty string ("") to represent no protocol allowed and the key
|
||||||
|
# word "all" for all access. The default is "all", allowing all external resources
|
||||||
|
# to be fetched. The followings are example of external access settings:
|
||||||
|
#
|
||||||
|
# allow local (file) DTDs to be retrieved
|
||||||
|
# javax.xml.accessExternalDTD=file
|
||||||
|
#
|
||||||
|
# allow local (file) and remote (http) external schemas
|
||||||
|
# javax.xml.accessExternalSchema=file, http
|
||||||
|
#
|
||||||
|
# reject any external stylesheets
|
||||||
|
# javax.xml.accessExternalStylesheet=""
|
||||||
|
#
|
||||||
|
# allow all external stylesheets
|
||||||
|
# javax.xml.accessExternalStylesheet="all"
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Catalog Properties:
|
||||||
|
#
|
||||||
|
# The Catalog API defines four features: FILES, PREFER, DEFER and RESOLVE.
|
||||||
|
# Except PREFER, all other properties can be placed in the configuration file
|
||||||
|
# using the system properties defined for them.
|
||||||
|
#
|
||||||
|
# FILES: A semicolon-delimited list of URIs to locate the catalog files. The URIs
|
||||||
|
# must be absolute and have a URL protocol handler for the URI scheme. The following
|
||||||
|
# is an example of setting up a catalog file:
|
||||||
|
#
|
||||||
|
# javax.xml.catalog.files = file:///users/auser/catalog/catalog.xml
|
||||||
|
#
|
||||||
|
# DEFER: Indicates that the alternative catalogs including those specified in
|
||||||
|
# delegate entries or nextCatalog are not read until they are needed. The value
|
||||||
|
# is a boolean and the default value is true.
|
||||||
|
#
|
||||||
|
# javax.xml.catalog.defer=true
|
||||||
|
#
|
||||||
|
# RESOLVE: Determines the action if there is no matching entry found after all of
|
||||||
|
# the specified catalogs are exhausted. The values are key words: strict, continue,
|
||||||
|
# and ignore. The default is strict. The following setting reflects the default
|
||||||
|
# setting.
|
||||||
|
#
|
||||||
|
# javax.xml.catalog.resolve=strict
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# useCatalog:
|
||||||
|
# This property instructs XML processors to use XML Catalogs to resolve entity
|
||||||
|
# references. The value is a boolean and the default value is true.
|
||||||
|
#
|
||||||
|
# javax.xml.useCatalog=true
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Implementation Specific Properties - Limits
|
||||||
|
#
|
||||||
|
# Limits have a value type Integer. The values must be positive integers. Zero
|
||||||
|
# means no limit.
|
||||||
|
#
|
||||||
|
# Limits the number of entity expansions. The default value is 64000
|
||||||
|
# jdk.xml.entityExpansionLimit=64000
|
||||||
|
#
|
||||||
|
# Limits the total size of all entities that include general and parameter entities.
|
||||||
|
# The size is calculated as an aggregation of all entities. The default value is 5x10^7.
|
||||||
|
# jdk.xml.totalEntitySizeLimit=5E7
|
||||||
|
#
|
||||||
|
# Limits the maximum size of any general entities. The default value is 0.
|
||||||
|
# jdk.xml.maxGeneralEntitySizeLimit=0
|
||||||
|
#
|
||||||
|
# Limits the maximum size of any parameter entities, including the result of
|
||||||
|
# nesting multiple parameter entities. The default value is 10^6.
|
||||||
|
# jdk.xml.maxParameterEntitySizeLimit=1E6
|
||||||
|
#
|
||||||
|
# Limits the total number of nodes in all entity references. The default value is 3x10^6.
|
||||||
|
# jdk.xml.entityReplacementLimit=3E6
|
||||||
|
#
|
||||||
|
# Limits the number of attributes an element can have. The default value is 10000.
|
||||||
|
# jdk.xml.elementAttributeLimit=10000
|
||||||
|
#
|
||||||
|
# Limits the number of content model nodes that may be created when building a
|
||||||
|
# grammar for a W3C XML Schema that contains maxOccurs attributes with values
|
||||||
|
# other than "unbounded". The default value is 5000.
|
||||||
|
# jdk.xml.maxOccurLimit=5000
|
||||||
|
#
|
||||||
|
# Limits the maximum element depth. The default value is 0.
|
||||||
|
# jdk.xml.maxElementDepth=0
|
||||||
|
#
|
||||||
|
# Limits the maximum size of XML names, including element name, attribute name
|
||||||
|
# and namespace prefix and URI. The default value is 1000.
|
||||||
|
jdk.xml.maxXMLNameLimit=1000
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# XPath Limits
|
||||||
|
#
|
||||||
|
# Limits the number of groups an XPath expression can contain. The default value is 10.
|
||||||
|
jdk.xml.xpathExprGrpLimit=10
|
||||||
|
#
|
||||||
|
# Limits the number of operators an XPath expression can contain. The default value is 100.
|
||||||
|
jdk.xml.xpathExprOpLimit=100
|
||||||
|
#
|
||||||
|
# Limits the total number of XPath operators in an XSL Stylesheet. The default value is 10000.
|
||||||
|
jdk.xml.xpathTotalOpLimit=10000
|
||||||
|
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
############################################################
|
||||||
|
# Default Logging Configuration File
|
||||||
|
#
|
||||||
|
# You can use a different file by specifying a filename
|
||||||
|
# with the java.util.logging.config.file system property.
|
||||||
|
# For example, java -Djava.util.logging.config.file=myfile
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Global properties
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# "handlers" specifies a comma-separated list of log Handler
|
||||||
|
# classes. These handlers will be installed during VM startup.
|
||||||
|
# Note that these classes must be on the system classpath.
|
||||||
|
# By default we only configure a ConsoleHandler, which will only
|
||||||
|
# show messages at the INFO and above levels.
|
||||||
|
handlers= java.util.logging.ConsoleHandler
|
||||||
|
|
||||||
|
# To also add the FileHandler, use the following line instead.
|
||||||
|
#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
|
||||||
|
|
||||||
|
# Default global logging level.
|
||||||
|
# This specifies which kinds of events are logged across
|
||||||
|
# all loggers. For any given facility this global level
|
||||||
|
# can be overridden by a facility-specific level
|
||||||
|
# Note that the ConsoleHandler also has a separate level
|
||||||
|
# setting to limit messages printed to the console.
|
||||||
|
.level= INFO
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Handler specific properties.
|
||||||
|
# Describes specific configuration info for Handlers.
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# default file output is in user's home directory.
|
||||||
|
java.util.logging.FileHandler.pattern = %h/java%u.log
|
||||||
|
java.util.logging.FileHandler.limit = 50000
|
||||||
|
java.util.logging.FileHandler.count = 1
|
||||||
|
# Default number of locks FileHandler can obtain synchronously.
|
||||||
|
# This specifies maximum number of attempts to obtain lock file by FileHandler
|
||||||
|
# implemented by incrementing the unique field %u as per FileHandler API documentation.
|
||||||
|
java.util.logging.FileHandler.maxLocks = 100
|
||||||
|
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
|
||||||
|
|
||||||
|
# Limit the messages that are printed on the console to INFO and above.
|
||||||
|
java.util.logging.ConsoleHandler.level = INFO
|
||||||
|
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
|
||||||
|
|
||||||
|
# Example to customize the SimpleFormatter output format
|
||||||
|
# to print one-line log message like this:
|
||||||
|
# <level>: <log message> [<date/time>]
|
||||||
|
#
|
||||||
|
# java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Facility-specific properties.
|
||||||
|
# Provides extra control for each logger.
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# For example, set the com.xyz.foo logger to only log SEVERE
|
||||||
|
# messages:
|
||||||
|
# com.xyz.foo.level = SEVERE
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
######################################################################
|
||||||
|
# Default Access Control File for Remote JMX(TM) Monitoring
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# Access control file for Remote JMX API access to monitoring.
|
||||||
|
# This file defines the allowed access for different roles. The
|
||||||
|
# password file (jmxremote.password by default) defines the roles and their
|
||||||
|
# passwords. To be functional, a role must have an entry in
|
||||||
|
# both the password and the access files.
|
||||||
|
#
|
||||||
|
# The default location of this file is $JRE/conf/management/jmxremote.access
|
||||||
|
# You can specify an alternate location by specifying a property in
|
||||||
|
# the management config file $JRE/conf/management/management.properties
|
||||||
|
# (See that file for details)
|
||||||
|
#
|
||||||
|
# The file format for password and access files is syntactically the same
|
||||||
|
# as the Properties file format. The syntax is described in the Javadoc
|
||||||
|
# for java.util.Properties.load.
|
||||||
|
# A typical access file has multiple lines, where each line is blank,
|
||||||
|
# a comment (like this one), or an access control entry.
|
||||||
|
#
|
||||||
|
# An access control entry consists of a role name, and an
|
||||||
|
# associated access level. The role name is any string that does not
|
||||||
|
# itself contain spaces or tabs. It corresponds to an entry in the
|
||||||
|
# password file (jmxremote.password). The access level is one of the
|
||||||
|
# following:
|
||||||
|
# "readonly" grants access to read attributes of MBeans.
|
||||||
|
# For monitoring, this means that a remote client in this
|
||||||
|
# role can read measurements but cannot perform any action
|
||||||
|
# that changes the environment of the running program.
|
||||||
|
# "readwrite" grants access to read and write attributes of MBeans,
|
||||||
|
# to invoke operations on them, and optionally
|
||||||
|
# to create or remove them. This access should be granted
|
||||||
|
# only to trusted clients, since they can potentially
|
||||||
|
# interfere with the smooth operation of a running program.
|
||||||
|
#
|
||||||
|
# The "readwrite" access level can optionally be followed by the "create" and/or
|
||||||
|
# "unregister" keywords. The "unregister" keyword grants access to unregister
|
||||||
|
# (delete) MBeans. The "create" keyword grants access to create MBeans of a
|
||||||
|
# particular class or of any class matching a particular pattern. Access
|
||||||
|
# should only be granted to create MBeans of known and trusted classes.
|
||||||
|
#
|
||||||
|
# For example, the following entry would grant readwrite access
|
||||||
|
# to "controlRole", as well as access to create MBeans of the class
|
||||||
|
# javax.management.monitor.CounterMonitor and to unregister any MBean:
|
||||||
|
# controlRole readwrite \
|
||||||
|
# create javax.management.monitor.CounterMonitorMBean \
|
||||||
|
# unregister
|
||||||
|
# or equivalently:
|
||||||
|
# controlRole readwrite unregister create javax.management.monitor.CounterMBean
|
||||||
|
#
|
||||||
|
# The following entry would grant readwrite access as well as access to create
|
||||||
|
# MBeans of any class in the packages javax.management.monitor and
|
||||||
|
# javax.management.timer:
|
||||||
|
# controlRole readwrite \
|
||||||
|
# create javax.management.monitor.*,javax.management.timer.* \
|
||||||
|
# unregister
|
||||||
|
#
|
||||||
|
# The \ character is defined in the Properties file syntax to allow continuation
|
||||||
|
# lines as shown here. A * in a class pattern matches a sequence of characters
|
||||||
|
# other than dot (.), so javax.management.monitor.* matches
|
||||||
|
# javax.management.monitor.CounterMonitor but not
|
||||||
|
# javax.management.monitor.foo.Bar.
|
||||||
|
#
|
||||||
|
# A given role should have at most one entry in this file. If a role
|
||||||
|
# has no entry, it has no access.
|
||||||
|
# If multiple entries are found for the same role name, then the last
|
||||||
|
# access entry is used.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Default access control entries:
|
||||||
|
# o The "monitorRole" role has readonly access.
|
||||||
|
# o The "controlRole" role has readwrite access and can create the standard
|
||||||
|
# Timer and Monitor MBeans defined by the JMX API.
|
||||||
|
|
||||||
|
monitorRole readonly
|
||||||
|
controlRole readwrite \
|
||||||
|
create javax.management.monitor.*,javax.management.timer.* \
|
||||||
|
unregister
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# Template for jmxremote.password
|
||||||
|
#
|
||||||
|
# o Copy this template to jmxremote.password
|
||||||
|
# o Set the user/password entries in jmxremote.password
|
||||||
|
# o Change the permission of jmxremote.password to be accessible
|
||||||
|
# only by the owner.
|
||||||
|
# o The jmxremote.passwords file will be re-written by the server
|
||||||
|
# to replace all plain text passwords with hashed passwords when
|
||||||
|
# the file is read by the server.
|
||||||
|
#
|
||||||
|
|
||||||
|
##############################################################
|
||||||
|
# Password File for Remote JMX Monitoring
|
||||||
|
##############################################################
|
||||||
|
#
|
||||||
|
# Password file for Remote JMX API access to monitoring. This
|
||||||
|
# file defines the different roles and their passwords. The access
|
||||||
|
# control file (jmxremote.access by default) defines the allowed
|
||||||
|
# access for each role. To be functional, a role must have an entry
|
||||||
|
# in both the password and the access files.
|
||||||
|
#
|
||||||
|
# Default location of this file is $JRE/conf/management/jmxremote.password
|
||||||
|
# You can specify an alternate location by specifying a property in
|
||||||
|
# the management config file $JRE/conf/management/management.properties
|
||||||
|
# or by specifying a system property (See that file for details).
|
||||||
|
|
||||||
|
##############################################################
|
||||||
|
# File format of the jmxremote.password file
|
||||||
|
##############################################################
|
||||||
|
#
|
||||||
|
# The file contains multiple lines where each line is blank,
|
||||||
|
# a comment (like this one), or a password entry.
|
||||||
|
#
|
||||||
|
# password entry follows the below syntax
|
||||||
|
# role_name W [clearPassword|hashedPassword]
|
||||||
|
#
|
||||||
|
# role_name is any string that does not itself contain spaces or tabs.
|
||||||
|
# W = spaces or tabs
|
||||||
|
#
|
||||||
|
# Passwords can be specified via clear text or via a hash. Clear text password
|
||||||
|
# is any string that does not contain spaces or tabs. Hashed passwords must
|
||||||
|
# follow the below format.
|
||||||
|
# hashedPassword = base64_encoded_64_byte_salt W base64_encoded_hash W hash_algorithm
|
||||||
|
# where,
|
||||||
|
# base64_encoded_64_byte_salt = 64 byte random salt
|
||||||
|
# base64_encoded_hash = Hash_algorithm(password + salt)
|
||||||
|
# W = spaces or tabs
|
||||||
|
# hash_algorithm = Algorithm string specified using the format below
|
||||||
|
# https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html#messagedigest-algorithms
|
||||||
|
# This is an optional field. If not specified, SHA3-512 will be assumed.
|
||||||
|
#
|
||||||
|
# If passwords are in clear, they will be overwritten by their hash if all of
|
||||||
|
# the below criteria are met.
|
||||||
|
# * com.sun.management.jmxremote.password.toHashes property is set to true in
|
||||||
|
# management.properties file
|
||||||
|
# * the password file is writable
|
||||||
|
# * the system security policy allows writing into the password file, if a
|
||||||
|
# security manager is configured
|
||||||
|
#
|
||||||
|
# In order to change the password for a role, replace the hashed password entry
|
||||||
|
# with a new clear text password or a new hashed password. If the new password
|
||||||
|
# is in clear, it will be replaced with its hash when a new login attempt is made.
|
||||||
|
#
|
||||||
|
# A given role should have at most one entry in this file. If a role
|
||||||
|
# has no entry, it has no access.
|
||||||
|
# If multiple entries are found for the same role name, then the last one
|
||||||
|
# is used.
|
||||||
|
#
|
||||||
|
# A user generated hashed password file can also be used instead of clear-text
|
||||||
|
# password file. If generated by the user, hashed passwords must follow the
|
||||||
|
# format specified above.
|
||||||
|
#
|
||||||
|
# Caution: It is recommended not to edit the password file while the
|
||||||
|
# agent is running, as edits could be lost if a client connection triggers the
|
||||||
|
# hashing of the password file at the same time that the file is externally modified.
|
||||||
|
# The integrity of the file is guaranteed, but any external edits made to the
|
||||||
|
# file during the short period between the time that the agent reads the file
|
||||||
|
# and the time that it writes it back might get lost
|
||||||
|
|
||||||
|
##############################################################
|
||||||
|
# File permissions of the jmxremote.password file
|
||||||
|
##############################################################
|
||||||
|
# This file must be made accessible by ONLY the owner,
|
||||||
|
# otherwise the program will exit with an error.
|
||||||
|
#
|
||||||
|
# In a typical installation, this file can be accessed by anybody on the
|
||||||
|
# local machine, and possibly by people on other machines.
|
||||||
|
# For security, you should either restrict the access to this file except for owner,
|
||||||
|
# or specify another, less accessible file in the management config file
|
||||||
|
# as described above.
|
||||||
|
#
|
||||||
|
# In order to prevent inadverent edits to the password file in the
|
||||||
|
# production environment, it is recommended to deploy a read-only
|
||||||
|
# hashed password file. The hashed entries for clear passwords can be generated
|
||||||
|
# in advance by running the JMX agent.
|
||||||
|
#
|
||||||
|
|
||||||
|
##############################################################
|
||||||
|
# Sample of the jmxremote.password file
|
||||||
|
##############################################################
|
||||||
|
# Following are two commented-out entries. The "monitorRole" role has
|
||||||
|
# password "QED". The "controlRole" role has password "R&D". This is an example
|
||||||
|
# of specifying passwords in the clear
|
||||||
|
#
|
||||||
|
# monitorRole QED
|
||||||
|
# controlRole R&D
|
||||||
|
#
|
||||||
|
# Once a login attempt is made, passwords will be hashed and the file will have
|
||||||
|
# below entries with clear passwords overwritten by their respective
|
||||||
|
# SHA3-512 hash
|
||||||
|
#
|
||||||
|
# monitorRole trilby APzBTt34rV2l+OMbuvbnOQ4si8UZmfRCVbIY1+fAofV5CkQzXS/FDMGteQQk/R3q1wtt104qImzJEA7gCwl6dw== 4EeTdSJ7X6Imu0Mb+dWqIns7a7QPIBoM3NB/XlpMQSPSicE7PnlALVWn2pBY3Q3pGDHyAb32Hd8GUToQbUhAjA== SHA3-512
|
||||||
|
# controlRole roHEJSbRqSSTII4Z4+NOCV2OJaZVQ/dw153Fy2u4ILDP9XiZ426GwzCzc3RtpoqNMwqYIcfdd74xWXSMrWtGaA== w9qDsekgKn0WOVJycDyU0kLBa081zbStcCjUAVEqlfon5Sgx7XHtaodbmzpLegA1jT7Ag36T0zHaEWRHJe2fdA== SHA3-512
|
||||||
|
#
|
||||||
@@ -0,0 +1,327 @@
|
|||||||
|
#####################################################################
|
||||||
|
# Default Configuration File for Java Platform Management
|
||||||
|
#####################################################################
|
||||||
|
#
|
||||||
|
# The Management Configuration file (in java.util.Properties format)
|
||||||
|
# will be read if one of the following system properties is set:
|
||||||
|
# -Dcom.sun.management.jmxremote.port=<port-number>
|
||||||
|
# or -Dcom.sun.management.config.file=<this-file>
|
||||||
|
#
|
||||||
|
# The default Management Configuration file is:
|
||||||
|
#
|
||||||
|
# $JRE/conf/management/management.properties
|
||||||
|
#
|
||||||
|
# Another location for the Management Configuration File can be specified
|
||||||
|
# by the following property on the Java command line:
|
||||||
|
#
|
||||||
|
# -Dcom.sun.management.config.file=<this-file>
|
||||||
|
#
|
||||||
|
# If -Dcom.sun.management.config.file=<this-file> is set, the port
|
||||||
|
# number for the management agent can be specified in the config file
|
||||||
|
# using the following lines:
|
||||||
|
#
|
||||||
|
# ################ Management Agent Port #########################
|
||||||
|
#
|
||||||
|
# For setting the JMX RMI agent port use the following line
|
||||||
|
# com.sun.management.jmxremote.port=<port-number>
|
||||||
|
#
|
||||||
|
# For setting the JMX local server port use the following line
|
||||||
|
# com.sun.management.jmxremote.local.port=<port-number>
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# Optional Instrumentation
|
||||||
|
#####################################################################
|
||||||
|
#
|
||||||
|
# By default only the basic instrumentation with low overhead is on.
|
||||||
|
# The following properties allow to selectively turn on optional
|
||||||
|
# instrumentation which are off by default and may have some
|
||||||
|
# additional overhead.
|
||||||
|
#
|
||||||
|
# com.sun.management.enableThreadContentionMonitoring
|
||||||
|
#
|
||||||
|
# This option enables thread contention monitoring if the
|
||||||
|
# Java virtual machine supports such instrumentation.
|
||||||
|
# Refer to the specification for the java.lang.management.ThreadMXBean
|
||||||
|
# interface - see isThreadContentionMonitoringSupported() method.
|
||||||
|
#
|
||||||
|
|
||||||
|
# To enable thread contention monitoring, uncomment the following line
|
||||||
|
# com.sun.management.enableThreadContentionMonitoring
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# RMI Management Properties
|
||||||
|
#####################################################################
|
||||||
|
#
|
||||||
|
# If system property -Dcom.sun.management.jmxremote.port=<port-number>
|
||||||
|
# is set then
|
||||||
|
# - A MBean server is started
|
||||||
|
# - JRE Platform MBeans are registered in the MBean server
|
||||||
|
# - RMI connector is published in a private readonly registry at
|
||||||
|
# specified port using a well known name, "jmxrmi"
|
||||||
|
# - the following properties are read for JMX remote management.
|
||||||
|
#
|
||||||
|
# The configuration can be specified only at startup time.
|
||||||
|
# Later changes to above system property (e.g. via setProperty method),
|
||||||
|
# this config file, the password file, or the access file have no effect to the
|
||||||
|
# running MBean server, the connector, or the registry.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# ########## RMI connector settings for local management ##########
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.local.only=true|false
|
||||||
|
# Default for this property is true. (Case for true/false ignored)
|
||||||
|
# If this property is specified as true then the local JMX RMI connector
|
||||||
|
# server will only accept connection requests from clients running on
|
||||||
|
# the host where the out-of-the-box JMX management agent is running.
|
||||||
|
# In order to ensure backwards compatibility this property could be
|
||||||
|
# set to false. However, deploying the local management agent in this
|
||||||
|
# way is discouraged because the local JMX RMI connector server will
|
||||||
|
# accept connection requests from any client either local or remote.
|
||||||
|
# For remote management the remote JMX RMI connector server should
|
||||||
|
# be used instead with authentication and SSL/TLS encryption enabled.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For allowing the local management agent accept local
|
||||||
|
# and remote connection requests use the following line
|
||||||
|
# com.sun.management.jmxremote.local.only=false
|
||||||
|
|
||||||
|
#
|
||||||
|
# ###################### RMI SSL #############################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.ssl=true|false
|
||||||
|
# Default for this property is true. (Case for true/false ignored)
|
||||||
|
# If this property is specified as false then SSL is not used.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For RMI monitoring without SSL use the following line
|
||||||
|
# com.sun.management.jmxremote.ssl=false
|
||||||
|
|
||||||
|
# com.sun.management.jmxremote.ssl.config.file=filepath
|
||||||
|
# Specifies the location of the SSL configuration file. A properties
|
||||||
|
# file can be used to supply the keystore and truststore location and
|
||||||
|
# password settings thus avoiding to pass them as cleartext in the
|
||||||
|
# command-line.
|
||||||
|
#
|
||||||
|
# The current implementation of the out-of-the-box management agent will
|
||||||
|
# look up and use the properties specified below to configure the SSL
|
||||||
|
# keystore and truststore, if present:
|
||||||
|
# javax.net.ssl.keyStore=<keystore-location>
|
||||||
|
# javax.net.ssl.keyStorePassword=<keystore-password>
|
||||||
|
# javax.net.ssl.trustStore=<truststore-location>
|
||||||
|
# javax.net.ssl.trustStorePassword=<truststore-password>
|
||||||
|
# Any other properties in the file will be ignored. This will allow us
|
||||||
|
# to extend the property set in the future if required by the default
|
||||||
|
# SSL implementation.
|
||||||
|
#
|
||||||
|
# If the property "com.sun.management.jmxremote.ssl" is set to false,
|
||||||
|
# then this property is ignored.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For supplying the keystore settings in a file use the following line
|
||||||
|
# com.sun.management.jmxremote.ssl.config.file=filepath
|
||||||
|
|
||||||
|
# com.sun.management.jmxremote.ssl.enabled.cipher.suites=<cipher-suites>
|
||||||
|
# The value of this property is a string that is a comma-separated list
|
||||||
|
# of SSL/TLS cipher suites to enable. This property can be specified in
|
||||||
|
# conjunction with the previous property "com.sun.management.jmxremote.ssl"
|
||||||
|
# in order to control which particular SSL/TLS cipher suites are enabled
|
||||||
|
# for use by accepted connections. If this property is not specified then
|
||||||
|
# the SSL/TLS RMI Server Socket Factory uses the SSL/TLS cipher suites that
|
||||||
|
# are enabled by default.
|
||||||
|
#
|
||||||
|
|
||||||
|
# com.sun.management.jmxremote.ssl.enabled.protocols=<protocol-versions>
|
||||||
|
# The value of this property is a string that is a comma-separated list
|
||||||
|
# of SSL/TLS protocol versions to enable. This property can be specified in
|
||||||
|
# conjunction with the previous property "com.sun.management.jmxremote.ssl"
|
||||||
|
# in order to control which particular SSL/TLS protocol versions are
|
||||||
|
# enabled for use by accepted connections. If this property is not
|
||||||
|
# specified then the SSL/TLS RMI Server Socket Factory uses the SSL/TLS
|
||||||
|
# protocol versions that are enabled by default.
|
||||||
|
#
|
||||||
|
|
||||||
|
# com.sun.management.jmxremote.ssl.need.client.auth=true|false
|
||||||
|
# Default for this property is false. (Case for true/false ignored)
|
||||||
|
# If this property is specified as true in conjunction with the previous
|
||||||
|
# property "com.sun.management.jmxremote.ssl" then the SSL/TLS RMI Server
|
||||||
|
# Socket Factory will require client authentication.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For RMI monitoring with SSL client authentication use the following line
|
||||||
|
# com.sun.management.jmxremote.ssl.need.client.auth=true
|
||||||
|
|
||||||
|
# com.sun.management.jmxremote.registry.ssl=true|false
|
||||||
|
# Default for this property is false. (Case for true/false ignored)
|
||||||
|
# If this property is specified as true then the RMI registry used
|
||||||
|
# to bind the RMIServer remote object is protected with SSL/TLS
|
||||||
|
# RMI Socket Factories that can be configured with the properties:
|
||||||
|
# com.sun.management.jmxremote.ssl.config.file
|
||||||
|
# com.sun.management.jmxremote.ssl.enabled.cipher.suites
|
||||||
|
# com.sun.management.jmxremote.ssl.enabled.protocols
|
||||||
|
# com.sun.management.jmxremote.ssl.need.client.auth
|
||||||
|
# If the two properties below are true at the same time, i.e.
|
||||||
|
# com.sun.management.jmxremote.ssl=true
|
||||||
|
# com.sun.management.jmxremote.registry.ssl=true
|
||||||
|
# then the RMIServer remote object and the RMI registry are
|
||||||
|
# both exported with the same SSL/TLS RMI Socket Factories.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For using an SSL/TLS protected RMI registry use the following line
|
||||||
|
# com.sun.management.jmxremote.registry.ssl=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# ################ RMI User authentication ################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.authenticate=true|false
|
||||||
|
# Default for this property is true. (Case for true/false ignored)
|
||||||
|
# If this property is specified as false then no authentication is
|
||||||
|
# performed and all users are allowed all access.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For RMI monitoring without any checking use the following line
|
||||||
|
# com.sun.management.jmxremote.authenticate=false
|
||||||
|
|
||||||
|
#
|
||||||
|
# ################ RMI Login configuration ###################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.login.config=<config-name>
|
||||||
|
# Specifies the name of a JAAS login configuration entry to use when
|
||||||
|
# authenticating users of RMI monitoring.
|
||||||
|
#
|
||||||
|
# Setting this property is optional - the default login configuration
|
||||||
|
# specifies a file-based authentication that uses the password file.
|
||||||
|
#
|
||||||
|
# When using this property to override the default login configuration
|
||||||
|
# then the named configuration entry must be in a file that gets loaded
|
||||||
|
# by JAAS. In addition, the login module(s) specified in the configuration
|
||||||
|
# should use the name and/or password callbacks to acquire the user's
|
||||||
|
# credentials. See the NameCallback and PasswordCallback classes in the
|
||||||
|
# javax.security.auth.callback package for more details.
|
||||||
|
#
|
||||||
|
# If the property "com.sun.management.jmxremote.authenticate" is set to
|
||||||
|
# false, then this property and the password & access files are ignored.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For a non-default login configuration use the following line
|
||||||
|
# com.sun.management.jmxremote.login.config=<config-name>
|
||||||
|
|
||||||
|
#
|
||||||
|
# ################ RMI Password file location ##################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.password.file=filepath
|
||||||
|
# Specifies location for password file
|
||||||
|
# This is optional - default location is
|
||||||
|
# $JRE/conf/management/jmxremote.password
|
||||||
|
#
|
||||||
|
# If the property "com.sun.management.jmxremote.authenticate" is set to
|
||||||
|
# false, then this property and the password & access files are ignored.
|
||||||
|
# Otherwise the password file must exist and be in the valid format.
|
||||||
|
# If the password file is empty or non-existent then no access is allowed.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For a non-default password file location use the following line
|
||||||
|
# com.sun.management.jmxremote.password.file=filepath
|
||||||
|
|
||||||
|
#
|
||||||
|
# ################# Hash passwords in password file ##############
|
||||||
|
# com.sun.management.jmxremote.password.toHashes = true|false
|
||||||
|
# Default for this property is true.
|
||||||
|
# Specifies if passwords in the password file should be hashed or not.
|
||||||
|
# If this property is true, and if the password file is writable, and if the
|
||||||
|
# system security policy allows writing into the password file,
|
||||||
|
# all the clear passwords in the password file will be replaced by
|
||||||
|
# their SHA3-512 hash when the file is read by the server
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# ################ RMI Access file location #####################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.access.file=filepath
|
||||||
|
# Specifies location for access file
|
||||||
|
# This is optional - default location is
|
||||||
|
# $JRE/conf/management/jmxremote.access
|
||||||
|
#
|
||||||
|
# If the property "com.sun.management.jmxremote.authenticate" is set to
|
||||||
|
# false, then this property and the password & access files are ignored.
|
||||||
|
# Otherwise, the access file must exist and be in the valid format.
|
||||||
|
# If the access file is empty or non-existent then no access is allowed.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For a non-default password file location use the following line
|
||||||
|
# com.sun.management.jmxremote.access.file=filepath
|
||||||
|
#
|
||||||
|
|
||||||
|
# ################ Management agent listen interface #########################
|
||||||
|
#
|
||||||
|
# com.sun.management.jmxremote.host=<host-or-interface-name>
|
||||||
|
# Specifies the local interface on which the JMX RMI agent will bind.
|
||||||
|
# This is useful when running on machines which have several
|
||||||
|
# interfaces defined. It makes it possible to listen to a specific
|
||||||
|
# subnet accessible through that interface.
|
||||||
|
#
|
||||||
|
# The format of the value for that property is any string accepted
|
||||||
|
# by java.net.InetAddress.getByName(String).
|
||||||
|
#
|
||||||
|
|
||||||
|
# ################ Filter for ObjectInputStream #############################
|
||||||
|
# com.sun.management.jmxremote.serial.filter.pattern=<filter-string>
|
||||||
|
# A filter, if configured, is used by java.io.ObjectInputStream during
|
||||||
|
# deserialization of parameters sent to the JMX default agent to validate the
|
||||||
|
# contents of the stream.
|
||||||
|
# A filter is configured as a sequence of patterns, each pattern is either
|
||||||
|
# matched against the name of a class in the stream or defines a limit.
|
||||||
|
# Patterns are separated by ";" (semicolon).
|
||||||
|
# Whitespace is significant and is considered part of the pattern.
|
||||||
|
#
|
||||||
|
# If a pattern includes a "=", it sets a limit.
|
||||||
|
# If a limit appears more than once the last value is used.
|
||||||
|
# Limits are checked before classes regardless of the order in the sequence of patterns.
|
||||||
|
# If any of the limits are exceeded, the filter status is REJECTED.
|
||||||
|
#
|
||||||
|
# maxdepth=value - the maximum depth of a graph
|
||||||
|
# maxrefs=value - the maximum number of internal references
|
||||||
|
# maxbytes=value - the maximum number of bytes in the input stream
|
||||||
|
# maxarray=value - the maximum array length allowed
|
||||||
|
#
|
||||||
|
# Other patterns, from left to right, match the class or package name as
|
||||||
|
# returned from Class.getName.
|
||||||
|
# If the class is an array type, the class or package to be matched is the element type.
|
||||||
|
# Arrays of any number of dimensions are treated the same as the element type.
|
||||||
|
# For example, a pattern of "!example.Foo", rejects creation of any instance or
|
||||||
|
# array of example.Foo.
|
||||||
|
#
|
||||||
|
# If the pattern starts with "!", the status is REJECTED if the remaining pattern
|
||||||
|
# is matched; otherwise the status is ALLOWED if the pattern matches.
|
||||||
|
# If the pattern contains "/", the non-empty prefix up to the "/" is the module name;
|
||||||
|
# if the module name matches the module name of the class then
|
||||||
|
# the remaining pattern is matched with the class name.
|
||||||
|
# If there is no "/", the module name is not compared.
|
||||||
|
# If the pattern ends with ".**" it matches any class in the package and all subpackages.
|
||||||
|
# If the pattern ends with ".*" it matches any class in the package.
|
||||||
|
# If the pattern ends with "*", it matches any class with the pattern as a prefix.
|
||||||
|
# If the pattern is equal to the class name, it matches.
|
||||||
|
# Otherwise, the status is UNDECIDED.
|
||||||
|
#
|
||||||
|
# Ending with !* ensures we reject classes which are otherwise unmatched.
|
||||||
|
com.sun.management.jmxremote.serial.filter.pattern=\
|
||||||
|
java.lang.*;\
|
||||||
|
java.lang.reflect.Proxy;\
|
||||||
|
java.math.BigInteger;\
|
||||||
|
java.math.BigDecimal;\
|
||||||
|
java.util.*;\
|
||||||
|
javax.management.*;\
|
||||||
|
javax.management.modelmbean.*;\
|
||||||
|
javax.management.monitor.*;\
|
||||||
|
javax.management.openmbean.*;\
|
||||||
|
javax.management.relation.*;\
|
||||||
|
javax.management.remote.*;\
|
||||||
|
javax.management.remote.rmi.*;\
|
||||||
|
javax.management.timer.*;\
|
||||||
|
javax.rmi.ssl.*;\
|
||||||
|
java.rmi.MarshalledObject;\
|
||||||
|
java.rmi.dgc.*;\
|
||||||
|
java.rmi.server.*;\
|
||||||
|
javax.security.auth.Subject;\
|
||||||
|
!*
|
||||||
|
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
############################################################
|
||||||
|
# Default Networking Configuration File
|
||||||
|
#
|
||||||
|
# This file may contain default values for the networking system properties.
|
||||||
|
# These values are only used when the system properties are not specified
|
||||||
|
# on the command line or set programmatically.
|
||||||
|
# For now, only the various proxy settings can be configured here.
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# Whether or not the DefaultProxySelector will default to System Proxy
|
||||||
|
# settings when they do exist.
|
||||||
|
# Set it to 'true' to enable this feature and check for platform
|
||||||
|
# specific proxy settings
|
||||||
|
# Note that the system properties that do explicitly set proxies
|
||||||
|
# (like http.proxyHost) do take precedence over the system settings
|
||||||
|
# even if java.net.useSystemProxies is set to true.
|
||||||
|
|
||||||
|
java.net.useSystemProxies=false
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
# Proxy configuration for the various protocol handlers.
|
||||||
|
# DO NOT uncomment these lines if you have set java.net.useSystemProxies
|
||||||
|
# to true as the protocol specific properties will take precedence over
|
||||||
|
# system settings.
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# HTTP Proxy settings. proxyHost is the name of the proxy server
|
||||||
|
# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
|
||||||
|
# value is 80) and nonProxyHosts is a '|' separated list of hostnames which
|
||||||
|
# should be accessed directly, ignoring the proxy server (default value is
|
||||||
|
# localhost & 127.0.0.1).
|
||||||
|
#
|
||||||
|
# http.proxyHost=
|
||||||
|
# http.proxyPort=80
|
||||||
|
http.nonProxyHosts=localhost|127.*|[::1]
|
||||||
|
#
|
||||||
|
# HTTPS Proxy Settings. proxyHost is the name of the proxy server
|
||||||
|
# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
|
||||||
|
# value is 443). The HTTPS protocol handlers uses the http nonProxyHosts list.
|
||||||
|
#
|
||||||
|
# https.proxyHost=
|
||||||
|
# https.proxyPort=443
|
||||||
|
#
|
||||||
|
# FTP Proxy settings. proxyHost is the name of the proxy server
|
||||||
|
# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
|
||||||
|
# value is 80) and nonProxyHosts is a '|' separated list of hostnames which
|
||||||
|
# should be accessed directly, ignoring the proxy server (default value is
|
||||||
|
# localhost & 127.0.0.1).
|
||||||
|
#
|
||||||
|
# ftp.proxyHost=
|
||||||
|
# ftp.proxyPort=80
|
||||||
|
ftp.nonProxyHosts=localhost|127.*|[::1]
|
||||||
|
#
|
||||||
|
# Socks proxy settings. socksProxyHost is the name of the proxy server
|
||||||
|
# (e.g. socks.domain.com), socksProxyPort is the port number to use
|
||||||
|
# (default value is 1080)
|
||||||
|
#
|
||||||
|
# socksProxyHost=
|
||||||
|
# socksProxyPort=1080
|
||||||
|
#
|
||||||
|
# HTTP Keep Alive settings. remainingData is the maximum amount of data
|
||||||
|
# in kilobytes that will be cleaned off the underlying socket so that it
|
||||||
|
# can be reused (default value is 512K), queuedConnections is the maximum
|
||||||
|
# number of Keep Alive connections to be on the queue for clean up (default
|
||||||
|
# value is 10).
|
||||||
|
# http.KeepAlive.remainingData=512
|
||||||
|
# http.KeepAlive.queuedConnections=10
|
||||||
|
|
||||||
|
# Authentication Scheme restrictions for HTTP and HTTPS.
|
||||||
|
#
|
||||||
|
# In some environments certain authentication schemes may be undesirable
|
||||||
|
# when proxying HTTP or HTTPS. For example, "Basic" results in effectively the
|
||||||
|
# cleartext transmission of the user's password over the physical network.
|
||||||
|
# This section describes the mechanism for disabling authentication schemes
|
||||||
|
# based on the scheme name. Disabled schemes will be treated as if they are not
|
||||||
|
# supported by the implementation.
|
||||||
|
#
|
||||||
|
# The 'jdk.http.auth.tunneling.disabledSchemes' property lists the authentication
|
||||||
|
# schemes that will be disabled when tunneling HTTPS over a proxy, HTTP CONNECT.
|
||||||
|
# The 'jdk.http.auth.proxying.disabledSchemes' property lists the authentication
|
||||||
|
# schemes that will be disabled when proxying HTTP.
|
||||||
|
#
|
||||||
|
# In both cases the property is a comma-separated list of, case-insensitive,
|
||||||
|
# authentication scheme names, as defined by their relevant RFCs. An
|
||||||
|
# implementation may, but is not required to, support common schemes whose names
|
||||||
|
# include: 'Basic', 'Digest', 'NTLM', 'Kerberos', 'Negotiate'. A scheme that
|
||||||
|
# is not known, or not supported, by the implementation is ignored.
|
||||||
|
#
|
||||||
|
# Note: This property is currently used by the JDK Reference implementation. It
|
||||||
|
# is not guaranteed to be examined and used by other implementations.
|
||||||
|
#
|
||||||
|
#jdk.http.auth.proxying.disabledSchemes=
|
||||||
|
jdk.http.auth.tunneling.disabledSchemes=Basic
|
||||||
|
|
||||||
|
#
|
||||||
|
# Allow restricted HTTP request headers
|
||||||
|
#
|
||||||
|
# By default, the following request headers are not allowed to be set by user code
|
||||||
|
# in HttpRequests: "connection", "content-length", "expect", "host" and "upgrade".
|
||||||
|
# The 'jdk.httpclient.allowRestrictedHeaders' property allows one or more of these
|
||||||
|
# headers to be specified as a comma separated list to override the default restriction.
|
||||||
|
# The names are case-insensitive and white-space is ignored (removed before processing
|
||||||
|
# the list). Note, this capability is mostly intended for testing and isn't expected
|
||||||
|
# to be used in real deployments. Protocol errors or other undefined behavior is likely
|
||||||
|
# to occur when using them. The property is not set by default.
|
||||||
|
# Note also, that there may be other headers that are restricted from being set
|
||||||
|
# depending on the context. This includes the "Authorization" header when the
|
||||||
|
# relevant HttpClient has an authenticator set. These restrictions cannot be
|
||||||
|
# overridden by this property.
|
||||||
|
#
|
||||||
|
# jdk.httpclient.allowRestrictedHeaders=host
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Transparent NTLM HTTP authentication mode on Windows. Transparent authentication
|
||||||
|
# can be used for the NTLM scheme, where the security credentials based on the
|
||||||
|
# currently logged in user's name and password can be obtained directly from the
|
||||||
|
# operating system, without prompting the user. This property has three possible
|
||||||
|
# values which regulate the behavior as shown below. Other unrecognized values
|
||||||
|
# are handled the same as 'disabled'. Note, that NTLM is not considered to be a
|
||||||
|
# strongly secure authentication scheme and care should be taken before enabling
|
||||||
|
# this mechanism.
|
||||||
|
#
|
||||||
|
# Transparent authentication never used.
|
||||||
|
#jdk.http.ntlm.transparentAuth=disabled
|
||||||
|
#
|
||||||
|
# Enabled for all hosts.
|
||||||
|
#jdk.http.ntlm.transparentAuth=allHosts
|
||||||
|
#
|
||||||
|
# Enabled for hosts that are trusted in Windows Internet settings
|
||||||
|
#jdk.http.ntlm.transparentAuth=trustedHosts
|
||||||
|
#
|
||||||
|
jdk.http.ntlm.transparentAuth=disabled
|
||||||
|
#
|
||||||
|
# Default directory where automatically bound Unix domain server
|
||||||
|
# sockets are stored. Sockets are automatically bound when bound
|
||||||
|
# with a null address.
|
||||||
|
#
|
||||||
|
# On Unix the search order to determine this directory is:
|
||||||
|
#
|
||||||
|
# 1. System property jdk.net.unixdomain.tmpdir
|
||||||
|
#
|
||||||
|
# 2. Networking property jdk.net.unixdomain.tmpdir specified
|
||||||
|
# in this file (effective default)
|
||||||
|
#
|
||||||
|
# 3. System property java.io.tmpdir
|
||||||
|
#
|
||||||
|
jdk.net.unixdomain.tmpdir=/tmp
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#
|
||||||
|
# Configuration file to enable InfiniBand Sockets Direct Protocol.
|
||||||
|
#
|
||||||
|
# Each line that does not start with a comment (#) is a rule to indicate when
|
||||||
|
# the SDP transport protocol should be used. The format of a rule is as follows:
|
||||||
|
# ("bind"|"connect") 1*LWSP-char (hostname|ipaddress["/"prefix]) 1*LWSP-char ("*"|port)["-"("*"|port)]
|
||||||
|
#
|
||||||
|
# A "bind" rule indicates that the SDP protocol transport should be used when
|
||||||
|
# a TCP socket binds to an address/port that matches the rule. A "connect" rule
|
||||||
|
# indicates that the SDP protocol transport should be used when an unbound
|
||||||
|
# TCP socket attempts to connect to an address/port that matches the rule.
|
||||||
|
# Addresses may be specified as hostnames or literal Internet Protocol (IP)
|
||||||
|
# addresses. When a literal IP address is used then a prefix length may be used
|
||||||
|
# to indicate the number of bits for matching (useful when a block of addresses
|
||||||
|
# or subnet is allocated to the InfiniBand fabric).
|
||||||
|
|
||||||
|
# Use SDP for all sockets that bind to specific local addresses
|
||||||
|
#bind 192.168.1.1 *
|
||||||
|
#bind fe80::21b:24ff:fe3d:7896 *
|
||||||
|
|
||||||
|
# Use SDP for all sockets that bind to the wildcard address in a port range
|
||||||
|
#bind 0.0.0.0 5000-5999
|
||||||
|
#bind ::0 5000-5999
|
||||||
|
|
||||||
|
# Use SDP when connecting to all application services on 192.168.1.*
|
||||||
|
#connect 192.168.1.0/24 1024-*
|
||||||
|
|
||||||
|
# Use SDP when connecting to the http server or MySQL database on hpccluster.
|
||||||
|
#connect hpccluster.foo.com 80
|
||||||
|
#connect hpccluster.foo.com 3306
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
//
|
||||||
|
// This system policy file grants a set of default permissions to all domains
|
||||||
|
// and can be configured to grant additional permissions to modules and other
|
||||||
|
// code sources. The code source URL scheme for modules linked into a
|
||||||
|
// run-time image is "jrt".
|
||||||
|
//
|
||||||
|
// For example, to grant permission to read the "foo" property to the module
|
||||||
|
// "com.greetings", the grant entry is:
|
||||||
|
//
|
||||||
|
// grant codeBase "jrt:/com.greetings" {
|
||||||
|
// permission java.util.PropertyPermission "foo", "read";
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
|
||||||
|
// default permissions granted to all domains
|
||||||
|
grant {
|
||||||
|
// allows anyone to listen on dynamic ports
|
||||||
|
permission java.net.SocketPermission "localhost:0", "listen";
|
||||||
|
|
||||||
|
// "standard" properties that can be read by anyone
|
||||||
|
permission java.util.PropertyPermission "java.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor.url", "read";
|
||||||
|
permission java.util.PropertyPermission "java.class.version", "read";
|
||||||
|
permission java.util.PropertyPermission "os.name", "read";
|
||||||
|
permission java.util.PropertyPermission "os.version", "read";
|
||||||
|
permission java.util.PropertyPermission "os.arch", "read";
|
||||||
|
permission java.util.PropertyPermission "file.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "path.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "line.separator", "read";
|
||||||
|
permission java.util.PropertyPermission
|
||||||
|
"java.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission
|
||||||
|
"java.specification.maintenance.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.name", "read";
|
||||||
|
permission java.util.PropertyPermission
|
||||||
|
"java.vm.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission
|
||||||
|
"java.vm.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission
|
||||||
|
"java.vm.specification.name", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.name", "read";
|
||||||
|
};
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
Java(TM) Cryptography Extension Policy Files
|
||||||
|
for the Java(TM) Platform, Standard Edition Runtime Environment
|
||||||
|
|
||||||
|
README
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Import and export control rules on cryptographic software vary from
|
||||||
|
country to country. The Java Cryptography Extension (JCE) architecture
|
||||||
|
allows flexible cryptographic key strength to be configured via the
|
||||||
|
jurisdiction policy files which are referenced by the "crypto.policy"
|
||||||
|
security property in the <java-home>/conf/security/java.security file.
|
||||||
|
|
||||||
|
By default, Java provides two different sets of cryptographic policy
|
||||||
|
files:
|
||||||
|
|
||||||
|
unlimited: These policy files contain no restrictions on cryptographic
|
||||||
|
strengths or algorithms
|
||||||
|
|
||||||
|
limited: These policy files contain more restricted cryptographic
|
||||||
|
strengths
|
||||||
|
|
||||||
|
These files reside in <java-home>/conf/security/policy in the "unlimited"
|
||||||
|
or "limited" subdirectories respectively.
|
||||||
|
|
||||||
|
Each subdirectory contains a complete policy configuration,
|
||||||
|
and subdirectories can be added/edited/removed to reflect your
|
||||||
|
import or export control product requirements.
|
||||||
|
|
||||||
|
Within a subdirectory, the effective policy is the combined minimum
|
||||||
|
permissions of the grant statements in the file(s) matching the filename
|
||||||
|
pattern "default_*.policy". At least one grant is required. For example:
|
||||||
|
|
||||||
|
limited = Export (all) + Import (limited) = Limited
|
||||||
|
unlimited = Export (all) + Import (all) = Unlimited
|
||||||
|
|
||||||
|
The effective exemption policy is the combined minimum permissions
|
||||||
|
of the grant statements in the file(s) matching the filename pattern
|
||||||
|
"exempt_*.policy". Exemption grants are optional. For example:
|
||||||
|
|
||||||
|
limited = grants exemption permissions, by which the
|
||||||
|
effective policy can be circumvented.
|
||||||
|
e.g. KeyRecovery/KeyEscrow/KeyWeakening.
|
||||||
|
|
||||||
|
Please see the Java Cryptography Architecture (JCA) documentation for
|
||||||
|
additional information on these files and formats.
|
||||||
|
|
||||||
|
YOU ARE ADVISED TO CONSULT YOUR EXPORT/IMPORT CONTROL COUNSEL OR ATTORNEY
|
||||||
|
TO DETERMINE THE EXACT REQUIREMENTS.
|
||||||
|
|
||||||
|
Please note that the JCE for Java SE, including the JCE framework,
|
||||||
|
cryptographic policy files, and standard JCE providers provided with
|
||||||
|
the Java SE, have been reviewed and approved for export as mass market
|
||||||
|
encryption item by the US Bureau of Industry and Security.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Default US Export policy file.
|
||||||
|
|
||||||
|
grant {
|
||||||
|
// There is no restriction to any algorithms.
|
||||||
|
permission javax.crypto.CryptoAllPermission;
|
||||||
|
};
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Some countries have import limits on crypto strength. This policy file
|
||||||
|
// is worldwide importable.
|
||||||
|
|
||||||
|
grant {
|
||||||
|
permission javax.crypto.CryptoPermission "DES", 64;
|
||||||
|
permission javax.crypto.CryptoPermission "DESede", *;
|
||||||
|
permission javax.crypto.CryptoPermission "RC2", 128,
|
||||||
|
"javax.crypto.spec.RC2ParameterSpec", 128;
|
||||||
|
permission javax.crypto.CryptoPermission "RC4", 128;
|
||||||
|
permission javax.crypto.CryptoPermission "RC5", 128,
|
||||||
|
"javax.crypto.spec.RC5ParameterSpec", *, 12, *;
|
||||||
|
permission javax.crypto.CryptoPermission "RSA", *;
|
||||||
|
permission javax.crypto.CryptoPermission *, 128;
|
||||||
|
};
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// Some countries have import limits on crypto strength, but may allow for
|
||||||
|
// these exemptions if the exemption mechanism is used.
|
||||||
|
|
||||||
|
grant {
|
||||||
|
// There is no restriction to any algorithms if KeyRecovery is enforced.
|
||||||
|
permission javax.crypto.CryptoPermission *, "KeyRecovery";
|
||||||
|
|
||||||
|
// There is no restriction to any algorithms if KeyEscrow is enforced.
|
||||||
|
permission javax.crypto.CryptoPermission *, "KeyEscrow";
|
||||||
|
|
||||||
|
// There is no restriction to any algorithms if KeyWeakening is enforced.
|
||||||
|
permission javax.crypto.CryptoPermission *, "KeyWeakening";
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Default US Export policy file.
|
||||||
|
|
||||||
|
grant {
|
||||||
|
// There is no restriction to any algorithms.
|
||||||
|
permission javax.crypto.CryptoAllPermission;
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Country-specific policy file for countries with no limits on crypto strength.
|
||||||
|
|
||||||
|
grant {
|
||||||
|
// There is no restriction to any algorithms.
|
||||||
|
permission javax.crypto.CryptoAllPermission;
|
||||||
|
};
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
############################################################
|
||||||
|
# Sound Configuration File
|
||||||
|
############################################################
|
||||||
|
#
|
||||||
|
# This properties file is used to specify default service
|
||||||
|
# providers for javax.sound.midi.MidiSystem and
|
||||||
|
# javax.sound.sampled.AudioSystem.
|
||||||
|
#
|
||||||
|
# The following keys are recognized by MidiSystem methods:
|
||||||
|
#
|
||||||
|
# javax.sound.midi.Receiver
|
||||||
|
# javax.sound.midi.Sequencer
|
||||||
|
# javax.sound.midi.Synthesizer
|
||||||
|
# javax.sound.midi.Transmitter
|
||||||
|
#
|
||||||
|
# The following keys are recognized by AudioSystem methods:
|
||||||
|
#
|
||||||
|
# javax.sound.sampled.Clip
|
||||||
|
# javax.sound.sampled.Port
|
||||||
|
# javax.sound.sampled.SourceDataLine
|
||||||
|
# javax.sound.sampled.TargetDataLine
|
||||||
|
#
|
||||||
|
# The values specify the full class name of the service
|
||||||
|
# provider, or the device name.
|
||||||
|
#
|
||||||
|
# See the class descriptions for details.
|
||||||
|
#
|
||||||
|
# Example 1:
|
||||||
|
# Use MyDeviceProvider as default for SourceDataLines:
|
||||||
|
# javax.sound.sampled.SourceDataLine=com.xyz.MyDeviceProvider
|
||||||
|
#
|
||||||
|
# Example 2:
|
||||||
|
# Specify the default Synthesizer by its name "InternalSynth".
|
||||||
|
# javax.sound.midi.Synthesizer=#InternalSynth
|
||||||
|
#
|
||||||
|
# Example 3:
|
||||||
|
# Specify the default Receiver by provider and name:
|
||||||
|
# javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1
|
||||||
|
#
|
||||||
@@ -0,0 +1,588 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef CLASSFILE_CONSTANTS_H
|
||||||
|
#define CLASSFILE_CONSTANTS_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Classfile version number for this information */
|
||||||
|
#define JVM_CLASSFILE_MAJOR_VERSION 65
|
||||||
|
#define JVM_CLASSFILE_MINOR_VERSION 0
|
||||||
|
|
||||||
|
/* Flags */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_ACC_PUBLIC = 0x0001,
|
||||||
|
JVM_ACC_PRIVATE = 0x0002,
|
||||||
|
JVM_ACC_PROTECTED = 0x0004,
|
||||||
|
JVM_ACC_STATIC = 0x0008,
|
||||||
|
JVM_ACC_FINAL = 0x0010,
|
||||||
|
JVM_ACC_SYNCHRONIZED = 0x0020,
|
||||||
|
JVM_ACC_SUPER = 0x0020,
|
||||||
|
JVM_ACC_VOLATILE = 0x0040,
|
||||||
|
JVM_ACC_BRIDGE = 0x0040,
|
||||||
|
JVM_ACC_TRANSIENT = 0x0080,
|
||||||
|
JVM_ACC_VARARGS = 0x0080,
|
||||||
|
JVM_ACC_NATIVE = 0x0100,
|
||||||
|
JVM_ACC_INTERFACE = 0x0200,
|
||||||
|
JVM_ACC_ABSTRACT = 0x0400,
|
||||||
|
JVM_ACC_STRICT = 0x0800,
|
||||||
|
JVM_ACC_SYNTHETIC = 0x1000,
|
||||||
|
JVM_ACC_ANNOTATION = 0x2000,
|
||||||
|
JVM_ACC_ENUM = 0x4000,
|
||||||
|
JVM_ACC_MODULE = 0x8000
|
||||||
|
};
|
||||||
|
|
||||||
|
#define JVM_ACC_PUBLIC_BIT 0
|
||||||
|
#define JVM_ACC_PRIVATE_BIT 1
|
||||||
|
#define JVM_ACC_PROTECTED_BIT 2
|
||||||
|
#define JVM_ACC_STATIC_BIT 3
|
||||||
|
#define JVM_ACC_FINAL_BIT 4
|
||||||
|
#define JVM_ACC_SYNCHRONIZED_BIT 5
|
||||||
|
#define JVM_ACC_SUPER_BIT 5
|
||||||
|
#define JVM_ACC_VOLATILE_BIT 6
|
||||||
|
#define JVM_ACC_BRIDGE_BIT 6
|
||||||
|
#define JVM_ACC_TRANSIENT_BIT 7
|
||||||
|
#define JVM_ACC_VARARGS_BIT 7
|
||||||
|
#define JVM_ACC_NATIVE_BIT 8
|
||||||
|
#define JVM_ACC_INTERFACE_BIT 9
|
||||||
|
#define JVM_ACC_ABSTRACT_BIT 10
|
||||||
|
#define JVM_ACC_STRICT_BIT 11
|
||||||
|
#define JVM_ACC_SYNTHETIC_BIT 12
|
||||||
|
#define JVM_ACC_ANNOTATION_BIT 13
|
||||||
|
#define JVM_ACC_ENUM_BIT 14
|
||||||
|
|
||||||
|
/* Used in newarray instruction. */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_T_BOOLEAN = 4,
|
||||||
|
JVM_T_CHAR = 5,
|
||||||
|
JVM_T_FLOAT = 6,
|
||||||
|
JVM_T_DOUBLE = 7,
|
||||||
|
JVM_T_BYTE = 8,
|
||||||
|
JVM_T_SHORT = 9,
|
||||||
|
JVM_T_INT = 10,
|
||||||
|
JVM_T_LONG = 11
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Constant Pool Entries */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_CONSTANT_Utf8 = 1,
|
||||||
|
JVM_CONSTANT_Unicode = 2, /* unused */
|
||||||
|
JVM_CONSTANT_Integer = 3,
|
||||||
|
JVM_CONSTANT_Float = 4,
|
||||||
|
JVM_CONSTANT_Long = 5,
|
||||||
|
JVM_CONSTANT_Double = 6,
|
||||||
|
JVM_CONSTANT_Class = 7,
|
||||||
|
JVM_CONSTANT_String = 8,
|
||||||
|
JVM_CONSTANT_Fieldref = 9,
|
||||||
|
JVM_CONSTANT_Methodref = 10,
|
||||||
|
JVM_CONSTANT_InterfaceMethodref = 11,
|
||||||
|
JVM_CONSTANT_NameAndType = 12,
|
||||||
|
JVM_CONSTANT_MethodHandle = 15, // JSR 292
|
||||||
|
JVM_CONSTANT_MethodType = 16, // JSR 292
|
||||||
|
JVM_CONSTANT_Dynamic = 17,
|
||||||
|
JVM_CONSTANT_InvokeDynamic = 18,
|
||||||
|
JVM_CONSTANT_Module = 19,
|
||||||
|
JVM_CONSTANT_Package = 20,
|
||||||
|
JVM_CONSTANT_ExternalMax = 20
|
||||||
|
};
|
||||||
|
|
||||||
|
/* JVM_CONSTANT_MethodHandle subtypes */
|
||||||
|
enum {
|
||||||
|
JVM_REF_getField = 1,
|
||||||
|
JVM_REF_getStatic = 2,
|
||||||
|
JVM_REF_putField = 3,
|
||||||
|
JVM_REF_putStatic = 4,
|
||||||
|
JVM_REF_invokeVirtual = 5,
|
||||||
|
JVM_REF_invokeStatic = 6,
|
||||||
|
JVM_REF_invokeSpecial = 7,
|
||||||
|
JVM_REF_newInvokeSpecial = 8,
|
||||||
|
JVM_REF_invokeInterface = 9
|
||||||
|
};
|
||||||
|
|
||||||
|
/* StackMapTable type item numbers */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_ITEM_Top = 0,
|
||||||
|
JVM_ITEM_Integer = 1,
|
||||||
|
JVM_ITEM_Float = 2,
|
||||||
|
JVM_ITEM_Double = 3,
|
||||||
|
JVM_ITEM_Long = 4,
|
||||||
|
JVM_ITEM_Null = 5,
|
||||||
|
JVM_ITEM_UninitializedThis = 6,
|
||||||
|
JVM_ITEM_Object = 7,
|
||||||
|
JVM_ITEM_Uninitialized = 8
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Type signatures */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_SIGNATURE_SLASH = '/',
|
||||||
|
JVM_SIGNATURE_DOT = '.',
|
||||||
|
JVM_SIGNATURE_SPECIAL = '<',
|
||||||
|
JVM_SIGNATURE_ENDSPECIAL = '>',
|
||||||
|
JVM_SIGNATURE_ARRAY = '[',
|
||||||
|
JVM_SIGNATURE_BYTE = 'B',
|
||||||
|
JVM_SIGNATURE_CHAR = 'C',
|
||||||
|
JVM_SIGNATURE_CLASS = 'L',
|
||||||
|
JVM_SIGNATURE_ENDCLASS = ';',
|
||||||
|
JVM_SIGNATURE_ENUM = 'E',
|
||||||
|
JVM_SIGNATURE_FLOAT = 'F',
|
||||||
|
JVM_SIGNATURE_DOUBLE = 'D',
|
||||||
|
JVM_SIGNATURE_FUNC = '(',
|
||||||
|
JVM_SIGNATURE_ENDFUNC = ')',
|
||||||
|
JVM_SIGNATURE_INT = 'I',
|
||||||
|
JVM_SIGNATURE_LONG = 'J',
|
||||||
|
JVM_SIGNATURE_SHORT = 'S',
|
||||||
|
JVM_SIGNATURE_VOID = 'V',
|
||||||
|
JVM_SIGNATURE_BOOLEAN = 'Z'
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Opcodes */
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVM_OPC_nop = 0,
|
||||||
|
JVM_OPC_aconst_null = 1,
|
||||||
|
JVM_OPC_iconst_m1 = 2,
|
||||||
|
JVM_OPC_iconst_0 = 3,
|
||||||
|
JVM_OPC_iconst_1 = 4,
|
||||||
|
JVM_OPC_iconst_2 = 5,
|
||||||
|
JVM_OPC_iconst_3 = 6,
|
||||||
|
JVM_OPC_iconst_4 = 7,
|
||||||
|
JVM_OPC_iconst_5 = 8,
|
||||||
|
JVM_OPC_lconst_0 = 9,
|
||||||
|
JVM_OPC_lconst_1 = 10,
|
||||||
|
JVM_OPC_fconst_0 = 11,
|
||||||
|
JVM_OPC_fconst_1 = 12,
|
||||||
|
JVM_OPC_fconst_2 = 13,
|
||||||
|
JVM_OPC_dconst_0 = 14,
|
||||||
|
JVM_OPC_dconst_1 = 15,
|
||||||
|
JVM_OPC_bipush = 16,
|
||||||
|
JVM_OPC_sipush = 17,
|
||||||
|
JVM_OPC_ldc = 18,
|
||||||
|
JVM_OPC_ldc_w = 19,
|
||||||
|
JVM_OPC_ldc2_w = 20,
|
||||||
|
JVM_OPC_iload = 21,
|
||||||
|
JVM_OPC_lload = 22,
|
||||||
|
JVM_OPC_fload = 23,
|
||||||
|
JVM_OPC_dload = 24,
|
||||||
|
JVM_OPC_aload = 25,
|
||||||
|
JVM_OPC_iload_0 = 26,
|
||||||
|
JVM_OPC_iload_1 = 27,
|
||||||
|
JVM_OPC_iload_2 = 28,
|
||||||
|
JVM_OPC_iload_3 = 29,
|
||||||
|
JVM_OPC_lload_0 = 30,
|
||||||
|
JVM_OPC_lload_1 = 31,
|
||||||
|
JVM_OPC_lload_2 = 32,
|
||||||
|
JVM_OPC_lload_3 = 33,
|
||||||
|
JVM_OPC_fload_0 = 34,
|
||||||
|
JVM_OPC_fload_1 = 35,
|
||||||
|
JVM_OPC_fload_2 = 36,
|
||||||
|
JVM_OPC_fload_3 = 37,
|
||||||
|
JVM_OPC_dload_0 = 38,
|
||||||
|
JVM_OPC_dload_1 = 39,
|
||||||
|
JVM_OPC_dload_2 = 40,
|
||||||
|
JVM_OPC_dload_3 = 41,
|
||||||
|
JVM_OPC_aload_0 = 42,
|
||||||
|
JVM_OPC_aload_1 = 43,
|
||||||
|
JVM_OPC_aload_2 = 44,
|
||||||
|
JVM_OPC_aload_3 = 45,
|
||||||
|
JVM_OPC_iaload = 46,
|
||||||
|
JVM_OPC_laload = 47,
|
||||||
|
JVM_OPC_faload = 48,
|
||||||
|
JVM_OPC_daload = 49,
|
||||||
|
JVM_OPC_aaload = 50,
|
||||||
|
JVM_OPC_baload = 51,
|
||||||
|
JVM_OPC_caload = 52,
|
||||||
|
JVM_OPC_saload = 53,
|
||||||
|
JVM_OPC_istore = 54,
|
||||||
|
JVM_OPC_lstore = 55,
|
||||||
|
JVM_OPC_fstore = 56,
|
||||||
|
JVM_OPC_dstore = 57,
|
||||||
|
JVM_OPC_astore = 58,
|
||||||
|
JVM_OPC_istore_0 = 59,
|
||||||
|
JVM_OPC_istore_1 = 60,
|
||||||
|
JVM_OPC_istore_2 = 61,
|
||||||
|
JVM_OPC_istore_3 = 62,
|
||||||
|
JVM_OPC_lstore_0 = 63,
|
||||||
|
JVM_OPC_lstore_1 = 64,
|
||||||
|
JVM_OPC_lstore_2 = 65,
|
||||||
|
JVM_OPC_lstore_3 = 66,
|
||||||
|
JVM_OPC_fstore_0 = 67,
|
||||||
|
JVM_OPC_fstore_1 = 68,
|
||||||
|
JVM_OPC_fstore_2 = 69,
|
||||||
|
JVM_OPC_fstore_3 = 70,
|
||||||
|
JVM_OPC_dstore_0 = 71,
|
||||||
|
JVM_OPC_dstore_1 = 72,
|
||||||
|
JVM_OPC_dstore_2 = 73,
|
||||||
|
JVM_OPC_dstore_3 = 74,
|
||||||
|
JVM_OPC_astore_0 = 75,
|
||||||
|
JVM_OPC_astore_1 = 76,
|
||||||
|
JVM_OPC_astore_2 = 77,
|
||||||
|
JVM_OPC_astore_3 = 78,
|
||||||
|
JVM_OPC_iastore = 79,
|
||||||
|
JVM_OPC_lastore = 80,
|
||||||
|
JVM_OPC_fastore = 81,
|
||||||
|
JVM_OPC_dastore = 82,
|
||||||
|
JVM_OPC_aastore = 83,
|
||||||
|
JVM_OPC_bastore = 84,
|
||||||
|
JVM_OPC_castore = 85,
|
||||||
|
JVM_OPC_sastore = 86,
|
||||||
|
JVM_OPC_pop = 87,
|
||||||
|
JVM_OPC_pop2 = 88,
|
||||||
|
JVM_OPC_dup = 89,
|
||||||
|
JVM_OPC_dup_x1 = 90,
|
||||||
|
JVM_OPC_dup_x2 = 91,
|
||||||
|
JVM_OPC_dup2 = 92,
|
||||||
|
JVM_OPC_dup2_x1 = 93,
|
||||||
|
JVM_OPC_dup2_x2 = 94,
|
||||||
|
JVM_OPC_swap = 95,
|
||||||
|
JVM_OPC_iadd = 96,
|
||||||
|
JVM_OPC_ladd = 97,
|
||||||
|
JVM_OPC_fadd = 98,
|
||||||
|
JVM_OPC_dadd = 99,
|
||||||
|
JVM_OPC_isub = 100,
|
||||||
|
JVM_OPC_lsub = 101,
|
||||||
|
JVM_OPC_fsub = 102,
|
||||||
|
JVM_OPC_dsub = 103,
|
||||||
|
JVM_OPC_imul = 104,
|
||||||
|
JVM_OPC_lmul = 105,
|
||||||
|
JVM_OPC_fmul = 106,
|
||||||
|
JVM_OPC_dmul = 107,
|
||||||
|
JVM_OPC_idiv = 108,
|
||||||
|
JVM_OPC_ldiv = 109,
|
||||||
|
JVM_OPC_fdiv = 110,
|
||||||
|
JVM_OPC_ddiv = 111,
|
||||||
|
JVM_OPC_irem = 112,
|
||||||
|
JVM_OPC_lrem = 113,
|
||||||
|
JVM_OPC_frem = 114,
|
||||||
|
JVM_OPC_drem = 115,
|
||||||
|
JVM_OPC_ineg = 116,
|
||||||
|
JVM_OPC_lneg = 117,
|
||||||
|
JVM_OPC_fneg = 118,
|
||||||
|
JVM_OPC_dneg = 119,
|
||||||
|
JVM_OPC_ishl = 120,
|
||||||
|
JVM_OPC_lshl = 121,
|
||||||
|
JVM_OPC_ishr = 122,
|
||||||
|
JVM_OPC_lshr = 123,
|
||||||
|
JVM_OPC_iushr = 124,
|
||||||
|
JVM_OPC_lushr = 125,
|
||||||
|
JVM_OPC_iand = 126,
|
||||||
|
JVM_OPC_land = 127,
|
||||||
|
JVM_OPC_ior = 128,
|
||||||
|
JVM_OPC_lor = 129,
|
||||||
|
JVM_OPC_ixor = 130,
|
||||||
|
JVM_OPC_lxor = 131,
|
||||||
|
JVM_OPC_iinc = 132,
|
||||||
|
JVM_OPC_i2l = 133,
|
||||||
|
JVM_OPC_i2f = 134,
|
||||||
|
JVM_OPC_i2d = 135,
|
||||||
|
JVM_OPC_l2i = 136,
|
||||||
|
JVM_OPC_l2f = 137,
|
||||||
|
JVM_OPC_l2d = 138,
|
||||||
|
JVM_OPC_f2i = 139,
|
||||||
|
JVM_OPC_f2l = 140,
|
||||||
|
JVM_OPC_f2d = 141,
|
||||||
|
JVM_OPC_d2i = 142,
|
||||||
|
JVM_OPC_d2l = 143,
|
||||||
|
JVM_OPC_d2f = 144,
|
||||||
|
JVM_OPC_i2b = 145,
|
||||||
|
JVM_OPC_i2c = 146,
|
||||||
|
JVM_OPC_i2s = 147,
|
||||||
|
JVM_OPC_lcmp = 148,
|
||||||
|
JVM_OPC_fcmpl = 149,
|
||||||
|
JVM_OPC_fcmpg = 150,
|
||||||
|
JVM_OPC_dcmpl = 151,
|
||||||
|
JVM_OPC_dcmpg = 152,
|
||||||
|
JVM_OPC_ifeq = 153,
|
||||||
|
JVM_OPC_ifne = 154,
|
||||||
|
JVM_OPC_iflt = 155,
|
||||||
|
JVM_OPC_ifge = 156,
|
||||||
|
JVM_OPC_ifgt = 157,
|
||||||
|
JVM_OPC_ifle = 158,
|
||||||
|
JVM_OPC_if_icmpeq = 159,
|
||||||
|
JVM_OPC_if_icmpne = 160,
|
||||||
|
JVM_OPC_if_icmplt = 161,
|
||||||
|
JVM_OPC_if_icmpge = 162,
|
||||||
|
JVM_OPC_if_icmpgt = 163,
|
||||||
|
JVM_OPC_if_icmple = 164,
|
||||||
|
JVM_OPC_if_acmpeq = 165,
|
||||||
|
JVM_OPC_if_acmpne = 166,
|
||||||
|
JVM_OPC_goto = 167,
|
||||||
|
JVM_OPC_jsr = 168,
|
||||||
|
JVM_OPC_ret = 169,
|
||||||
|
JVM_OPC_tableswitch = 170,
|
||||||
|
JVM_OPC_lookupswitch = 171,
|
||||||
|
JVM_OPC_ireturn = 172,
|
||||||
|
JVM_OPC_lreturn = 173,
|
||||||
|
JVM_OPC_freturn = 174,
|
||||||
|
JVM_OPC_dreturn = 175,
|
||||||
|
JVM_OPC_areturn = 176,
|
||||||
|
JVM_OPC_return = 177,
|
||||||
|
JVM_OPC_getstatic = 178,
|
||||||
|
JVM_OPC_putstatic = 179,
|
||||||
|
JVM_OPC_getfield = 180,
|
||||||
|
JVM_OPC_putfield = 181,
|
||||||
|
JVM_OPC_invokevirtual = 182,
|
||||||
|
JVM_OPC_invokespecial = 183,
|
||||||
|
JVM_OPC_invokestatic = 184,
|
||||||
|
JVM_OPC_invokeinterface = 185,
|
||||||
|
JVM_OPC_invokedynamic = 186,
|
||||||
|
JVM_OPC_new = 187,
|
||||||
|
JVM_OPC_newarray = 188,
|
||||||
|
JVM_OPC_anewarray = 189,
|
||||||
|
JVM_OPC_arraylength = 190,
|
||||||
|
JVM_OPC_athrow = 191,
|
||||||
|
JVM_OPC_checkcast = 192,
|
||||||
|
JVM_OPC_instanceof = 193,
|
||||||
|
JVM_OPC_monitorenter = 194,
|
||||||
|
JVM_OPC_monitorexit = 195,
|
||||||
|
JVM_OPC_wide = 196,
|
||||||
|
JVM_OPC_multianewarray = 197,
|
||||||
|
JVM_OPC_ifnull = 198,
|
||||||
|
JVM_OPC_ifnonnull = 199,
|
||||||
|
JVM_OPC_goto_w = 200,
|
||||||
|
JVM_OPC_jsr_w = 201,
|
||||||
|
JVM_OPC_MAX = 201
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Opcode length initializer, use with something like:
|
||||||
|
* unsigned char opcode_length[JVM_OPC_MAX+1] = JVM_OPCODE_LENGTH_INITIALIZER;
|
||||||
|
*/
|
||||||
|
#define JVM_OPCODE_LENGTH_INITIALIZER { \
|
||||||
|
1, /* nop */ \
|
||||||
|
1, /* aconst_null */ \
|
||||||
|
1, /* iconst_m1 */ \
|
||||||
|
1, /* iconst_0 */ \
|
||||||
|
1, /* iconst_1 */ \
|
||||||
|
1, /* iconst_2 */ \
|
||||||
|
1, /* iconst_3 */ \
|
||||||
|
1, /* iconst_4 */ \
|
||||||
|
1, /* iconst_5 */ \
|
||||||
|
1, /* lconst_0 */ \
|
||||||
|
1, /* lconst_1 */ \
|
||||||
|
1, /* fconst_0 */ \
|
||||||
|
1, /* fconst_1 */ \
|
||||||
|
1, /* fconst_2 */ \
|
||||||
|
1, /* dconst_0 */ \
|
||||||
|
1, /* dconst_1 */ \
|
||||||
|
2, /* bipush */ \
|
||||||
|
3, /* sipush */ \
|
||||||
|
2, /* ldc */ \
|
||||||
|
3, /* ldc_w */ \
|
||||||
|
3, /* ldc2_w */ \
|
||||||
|
2, /* iload */ \
|
||||||
|
2, /* lload */ \
|
||||||
|
2, /* fload */ \
|
||||||
|
2, /* dload */ \
|
||||||
|
2, /* aload */ \
|
||||||
|
1, /* iload_0 */ \
|
||||||
|
1, /* iload_1 */ \
|
||||||
|
1, /* iload_2 */ \
|
||||||
|
1, /* iload_3 */ \
|
||||||
|
1, /* lload_0 */ \
|
||||||
|
1, /* lload_1 */ \
|
||||||
|
1, /* lload_2 */ \
|
||||||
|
1, /* lload_3 */ \
|
||||||
|
1, /* fload_0 */ \
|
||||||
|
1, /* fload_1 */ \
|
||||||
|
1, /* fload_2 */ \
|
||||||
|
1, /* fload_3 */ \
|
||||||
|
1, /* dload_0 */ \
|
||||||
|
1, /* dload_1 */ \
|
||||||
|
1, /* dload_2 */ \
|
||||||
|
1, /* dload_3 */ \
|
||||||
|
1, /* aload_0 */ \
|
||||||
|
1, /* aload_1 */ \
|
||||||
|
1, /* aload_2 */ \
|
||||||
|
1, /* aload_3 */ \
|
||||||
|
1, /* iaload */ \
|
||||||
|
1, /* laload */ \
|
||||||
|
1, /* faload */ \
|
||||||
|
1, /* daload */ \
|
||||||
|
1, /* aaload */ \
|
||||||
|
1, /* baload */ \
|
||||||
|
1, /* caload */ \
|
||||||
|
1, /* saload */ \
|
||||||
|
2, /* istore */ \
|
||||||
|
2, /* lstore */ \
|
||||||
|
2, /* fstore */ \
|
||||||
|
2, /* dstore */ \
|
||||||
|
2, /* astore */ \
|
||||||
|
1, /* istore_0 */ \
|
||||||
|
1, /* istore_1 */ \
|
||||||
|
1, /* istore_2 */ \
|
||||||
|
1, /* istore_3 */ \
|
||||||
|
1, /* lstore_0 */ \
|
||||||
|
1, /* lstore_1 */ \
|
||||||
|
1, /* lstore_2 */ \
|
||||||
|
1, /* lstore_3 */ \
|
||||||
|
1, /* fstore_0 */ \
|
||||||
|
1, /* fstore_1 */ \
|
||||||
|
1, /* fstore_2 */ \
|
||||||
|
1, /* fstore_3 */ \
|
||||||
|
1, /* dstore_0 */ \
|
||||||
|
1, /* dstore_1 */ \
|
||||||
|
1, /* dstore_2 */ \
|
||||||
|
1, /* dstore_3 */ \
|
||||||
|
1, /* astore_0 */ \
|
||||||
|
1, /* astore_1 */ \
|
||||||
|
1, /* astore_2 */ \
|
||||||
|
1, /* astore_3 */ \
|
||||||
|
1, /* iastore */ \
|
||||||
|
1, /* lastore */ \
|
||||||
|
1, /* fastore */ \
|
||||||
|
1, /* dastore */ \
|
||||||
|
1, /* aastore */ \
|
||||||
|
1, /* bastore */ \
|
||||||
|
1, /* castore */ \
|
||||||
|
1, /* sastore */ \
|
||||||
|
1, /* pop */ \
|
||||||
|
1, /* pop2 */ \
|
||||||
|
1, /* dup */ \
|
||||||
|
1, /* dup_x1 */ \
|
||||||
|
1, /* dup_x2 */ \
|
||||||
|
1, /* dup2 */ \
|
||||||
|
1, /* dup2_x1 */ \
|
||||||
|
1, /* dup2_x2 */ \
|
||||||
|
1, /* swap */ \
|
||||||
|
1, /* iadd */ \
|
||||||
|
1, /* ladd */ \
|
||||||
|
1, /* fadd */ \
|
||||||
|
1, /* dadd */ \
|
||||||
|
1, /* isub */ \
|
||||||
|
1, /* lsub */ \
|
||||||
|
1, /* fsub */ \
|
||||||
|
1, /* dsub */ \
|
||||||
|
1, /* imul */ \
|
||||||
|
1, /* lmul */ \
|
||||||
|
1, /* fmul */ \
|
||||||
|
1, /* dmul */ \
|
||||||
|
1, /* idiv */ \
|
||||||
|
1, /* ldiv */ \
|
||||||
|
1, /* fdiv */ \
|
||||||
|
1, /* ddiv */ \
|
||||||
|
1, /* irem */ \
|
||||||
|
1, /* lrem */ \
|
||||||
|
1, /* frem */ \
|
||||||
|
1, /* drem */ \
|
||||||
|
1, /* ineg */ \
|
||||||
|
1, /* lneg */ \
|
||||||
|
1, /* fneg */ \
|
||||||
|
1, /* dneg */ \
|
||||||
|
1, /* ishl */ \
|
||||||
|
1, /* lshl */ \
|
||||||
|
1, /* ishr */ \
|
||||||
|
1, /* lshr */ \
|
||||||
|
1, /* iushr */ \
|
||||||
|
1, /* lushr */ \
|
||||||
|
1, /* iand */ \
|
||||||
|
1, /* land */ \
|
||||||
|
1, /* ior */ \
|
||||||
|
1, /* lor */ \
|
||||||
|
1, /* ixor */ \
|
||||||
|
1, /* lxor */ \
|
||||||
|
3, /* iinc */ \
|
||||||
|
1, /* i2l */ \
|
||||||
|
1, /* i2f */ \
|
||||||
|
1, /* i2d */ \
|
||||||
|
1, /* l2i */ \
|
||||||
|
1, /* l2f */ \
|
||||||
|
1, /* l2d */ \
|
||||||
|
1, /* f2i */ \
|
||||||
|
1, /* f2l */ \
|
||||||
|
1, /* f2d */ \
|
||||||
|
1, /* d2i */ \
|
||||||
|
1, /* d2l */ \
|
||||||
|
1, /* d2f */ \
|
||||||
|
1, /* i2b */ \
|
||||||
|
1, /* i2c */ \
|
||||||
|
1, /* i2s */ \
|
||||||
|
1, /* lcmp */ \
|
||||||
|
1, /* fcmpl */ \
|
||||||
|
1, /* fcmpg */ \
|
||||||
|
1, /* dcmpl */ \
|
||||||
|
1, /* dcmpg */ \
|
||||||
|
3, /* ifeq */ \
|
||||||
|
3, /* ifne */ \
|
||||||
|
3, /* iflt */ \
|
||||||
|
3, /* ifge */ \
|
||||||
|
3, /* ifgt */ \
|
||||||
|
3, /* ifle */ \
|
||||||
|
3, /* if_icmpeq */ \
|
||||||
|
3, /* if_icmpne */ \
|
||||||
|
3, /* if_icmplt */ \
|
||||||
|
3, /* if_icmpge */ \
|
||||||
|
3, /* if_icmpgt */ \
|
||||||
|
3, /* if_icmple */ \
|
||||||
|
3, /* if_acmpeq */ \
|
||||||
|
3, /* if_acmpne */ \
|
||||||
|
3, /* goto */ \
|
||||||
|
3, /* jsr */ \
|
||||||
|
2, /* ret */ \
|
||||||
|
99, /* tableswitch */ \
|
||||||
|
99, /* lookupswitch */ \
|
||||||
|
1, /* ireturn */ \
|
||||||
|
1, /* lreturn */ \
|
||||||
|
1, /* freturn */ \
|
||||||
|
1, /* dreturn */ \
|
||||||
|
1, /* areturn */ \
|
||||||
|
1, /* return */ \
|
||||||
|
3, /* getstatic */ \
|
||||||
|
3, /* putstatic */ \
|
||||||
|
3, /* getfield */ \
|
||||||
|
3, /* putfield */ \
|
||||||
|
3, /* invokevirtual */ \
|
||||||
|
3, /* invokespecial */ \
|
||||||
|
3, /* invokestatic */ \
|
||||||
|
5, /* invokeinterface */ \
|
||||||
|
5, /* invokedynamic */ \
|
||||||
|
3, /* new */ \
|
||||||
|
2, /* newarray */ \
|
||||||
|
3, /* anewarray */ \
|
||||||
|
1, /* arraylength */ \
|
||||||
|
1, /* athrow */ \
|
||||||
|
3, /* checkcast */ \
|
||||||
|
3, /* instanceof */ \
|
||||||
|
1, /* monitorenter */ \
|
||||||
|
1, /* monitorexit */ \
|
||||||
|
0, /* wide */ \
|
||||||
|
4, /* multianewarray */ \
|
||||||
|
3, /* ifnull */ \
|
||||||
|
3, /* ifnonnull */ \
|
||||||
|
5, /* goto_w */ \
|
||||||
|
5 /* jsr_w */ \
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* CLASSFILE_CONSTANTS */
|
||||||
@@ -0,0 +1,356 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JAWT_H_
|
||||||
|
#define _JAVASOFT_JAWT_H_
|
||||||
|
|
||||||
|
#include "jni.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AWT native interface.
|
||||||
|
*
|
||||||
|
* The AWT native interface allows a native C or C++ application a means
|
||||||
|
* by which to access native structures in AWT. This is to facilitate moving
|
||||||
|
* legacy C and C++ applications to Java and to target the needs of the
|
||||||
|
* developers who need to do their own native rendering to canvases
|
||||||
|
* for performance or other reasons.
|
||||||
|
*
|
||||||
|
* Conversely it also provides mechanisms for an application which already
|
||||||
|
* has a native window to provide that to AWT for AWT rendering.
|
||||||
|
*
|
||||||
|
* Since every platform may be different in its native data structures
|
||||||
|
* and APIs for windowing systems the application must necessarily
|
||||||
|
* provided per-platform source and compile and deliver per-platform
|
||||||
|
* native code to use this API.
|
||||||
|
*
|
||||||
|
* These interfaces are not part of the Java SE specification and
|
||||||
|
* a VM is not required to implement this API. However it is strongly
|
||||||
|
* recommended that all implementations which support headful AWT
|
||||||
|
* also support these interfaces.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AWT Native Drawing Surface (JAWT_DrawingSurface).
|
||||||
|
*
|
||||||
|
* For each platform, there is a native drawing surface structure. This
|
||||||
|
* platform-specific structure can be found in jawt_md.h. It is recommended
|
||||||
|
* that additional platforms follow the same model. It is also recommended
|
||||||
|
* that VMs on all platforms support the existing structures in jawt_md.h.
|
||||||
|
*
|
||||||
|
*******************
|
||||||
|
* EXAMPLE OF USAGE:
|
||||||
|
*******************
|
||||||
|
*
|
||||||
|
* In Win32, a programmer wishes to access the HWND of a canvas to perform
|
||||||
|
* native rendering into it. The programmer has declared the paint() method
|
||||||
|
* for their canvas subclass to be native:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* MyCanvas.java:
|
||||||
|
*
|
||||||
|
* import java.awt.*;
|
||||||
|
*
|
||||||
|
* public class MyCanvas extends Canvas {
|
||||||
|
*
|
||||||
|
* static {
|
||||||
|
* System.loadLibrary("mylib");
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* public native void paint(Graphics g);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* myfile.c:
|
||||||
|
*
|
||||||
|
* #include "jawt_md.h"
|
||||||
|
* #include <assert.h>
|
||||||
|
*
|
||||||
|
* JNIEXPORT void JNICALL
|
||||||
|
* Java_MyCanvas_paint(JNIEnv* env, jobject canvas, jobject graphics)
|
||||||
|
* {
|
||||||
|
* JAWT awt;
|
||||||
|
* JAWT_DrawingSurface* ds;
|
||||||
|
* JAWT_DrawingSurfaceInfo* dsi;
|
||||||
|
* JAWT_Win32DrawingSurfaceInfo* dsi_win;
|
||||||
|
* jboolean result;
|
||||||
|
* jint lock;
|
||||||
|
*
|
||||||
|
* // Get the AWT. Request version 9 to access features in that release.
|
||||||
|
* awt.version = JAWT_VERSION_9;
|
||||||
|
* result = JAWT_GetAWT(env, &awt);
|
||||||
|
* assert(result != JNI_FALSE);
|
||||||
|
*
|
||||||
|
* // Get the drawing surface
|
||||||
|
* ds = awt.GetDrawingSurface(env, canvas);
|
||||||
|
* assert(ds != NULL);
|
||||||
|
*
|
||||||
|
* // Lock the drawing surface
|
||||||
|
* lock = ds->Lock(ds);
|
||||||
|
* assert((lock & JAWT_LOCK_ERROR) == 0);
|
||||||
|
*
|
||||||
|
* // Get the drawing surface info
|
||||||
|
* dsi = ds->GetDrawingSurfaceInfo(ds);
|
||||||
|
*
|
||||||
|
* // Get the platform-specific drawing info
|
||||||
|
* dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
|
||||||
|
*
|
||||||
|
* //////////////////////////////
|
||||||
|
* // !!! DO PAINTING HERE !!! //
|
||||||
|
* //////////////////////////////
|
||||||
|
*
|
||||||
|
* // Free the drawing surface info
|
||||||
|
* ds->FreeDrawingSurfaceInfo(dsi);
|
||||||
|
*
|
||||||
|
* // Unlock the drawing surface
|
||||||
|
* ds->Unlock(ds);
|
||||||
|
*
|
||||||
|
* // Free the drawing surface
|
||||||
|
* awt.FreeDrawingSurface(ds);
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_Rectangle
|
||||||
|
* Structure for a native rectangle.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_Rectangle {
|
||||||
|
jint x;
|
||||||
|
jint y;
|
||||||
|
jint width;
|
||||||
|
jint height;
|
||||||
|
} JAWT_Rectangle;
|
||||||
|
|
||||||
|
struct jawt_DrawingSurface;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_DrawingSurfaceInfo
|
||||||
|
* Structure for containing the underlying drawing information of a component.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_DrawingSurfaceInfo {
|
||||||
|
/*
|
||||||
|
* Pointer to the platform-specific information. This can be safely
|
||||||
|
* cast to a JAWT_Win32DrawingSurfaceInfo on Windows or a
|
||||||
|
* JAWT_X11DrawingSurfaceInfo on Linux and Solaris. On Mac OS X this is a
|
||||||
|
* pointer to a NSObject that conforms to the JAWT_SurfaceLayers
|
||||||
|
* protocol. See jawt_md.h for details.
|
||||||
|
*/
|
||||||
|
void* platformInfo;
|
||||||
|
/* Cached pointer to the underlying drawing surface */
|
||||||
|
struct jawt_DrawingSurface* ds;
|
||||||
|
/* Bounding rectangle of the drawing surface */
|
||||||
|
JAWT_Rectangle bounds;
|
||||||
|
/* Number of rectangles in the clip */
|
||||||
|
jint clipSize;
|
||||||
|
/* Clip rectangle array */
|
||||||
|
JAWT_Rectangle* clip;
|
||||||
|
} JAWT_DrawingSurfaceInfo;
|
||||||
|
|
||||||
|
#define JAWT_LOCK_ERROR 0x00000001
|
||||||
|
#define JAWT_LOCK_CLIP_CHANGED 0x00000002
|
||||||
|
#define JAWT_LOCK_BOUNDS_CHANGED 0x00000004
|
||||||
|
#define JAWT_LOCK_SURFACE_CHANGED 0x00000008
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT_DrawingSurface
|
||||||
|
* Structure for containing the underlying drawing information of a component.
|
||||||
|
* All operations on a JAWT_DrawingSurface MUST be performed from the same
|
||||||
|
* thread as the call to GetDrawingSurface.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_DrawingSurface {
|
||||||
|
/*
|
||||||
|
* Cached reference to the Java environment of the calling thread.
|
||||||
|
* If Lock(), Unlock(), GetDrawingSurfaceInfo() or
|
||||||
|
* FreeDrawingSurfaceInfo() are called from a different thread,
|
||||||
|
* this data member should be set before calling those functions.
|
||||||
|
*/
|
||||||
|
JNIEnv* env;
|
||||||
|
/* Cached reference to the target object */
|
||||||
|
jobject target;
|
||||||
|
/*
|
||||||
|
* Lock the surface of the target component for native rendering.
|
||||||
|
* When finished drawing, the surface must be unlocked with
|
||||||
|
* Unlock(). This function returns a bitmask with one or more of the
|
||||||
|
* following values:
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_ERROR - When an error has occurred and the surface could not
|
||||||
|
* be locked.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_CLIP_CHANGED - When the clip region has changed.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_BOUNDS_CHANGED - When the bounds of the surface have changed.
|
||||||
|
*
|
||||||
|
* JAWT_LOCK_SURFACE_CHANGED - When the surface itself has changed
|
||||||
|
*/
|
||||||
|
jint (JNICALL *Lock)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Get the drawing surface info.
|
||||||
|
* The value returned may be cached, but the values may change if
|
||||||
|
* additional calls to Lock() or Unlock() are made.
|
||||||
|
* Lock() must be called before this can return a valid value.
|
||||||
|
* Returns NULL if an error has occurred.
|
||||||
|
* When finished with the returned value, FreeDrawingSurfaceInfo must be
|
||||||
|
* called.
|
||||||
|
*/
|
||||||
|
JAWT_DrawingSurfaceInfo* (JNICALL *GetDrawingSurfaceInfo)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Free the drawing surface info.
|
||||||
|
*/
|
||||||
|
void (JNICALL *FreeDrawingSurfaceInfo)
|
||||||
|
(JAWT_DrawingSurfaceInfo* dsi);
|
||||||
|
/*
|
||||||
|
* Unlock the drawing surface of the target component for native rendering.
|
||||||
|
*/
|
||||||
|
void (JNICALL *Unlock)
|
||||||
|
(struct jawt_DrawingSurface* ds);
|
||||||
|
} JAWT_DrawingSurface;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JAWT
|
||||||
|
* Structure for containing native AWT functions.
|
||||||
|
*/
|
||||||
|
typedef struct jawt {
|
||||||
|
/*
|
||||||
|
* Version of this structure. This must always be set before
|
||||||
|
* calling JAWT_GetAWT(). It affects the functions returned.
|
||||||
|
* Must be one of the known pre-defined versions.
|
||||||
|
*/
|
||||||
|
jint version;
|
||||||
|
/*
|
||||||
|
* Return a drawing surface from a target jobject. This value
|
||||||
|
* may be cached.
|
||||||
|
* Returns NULL if an error has occurred.
|
||||||
|
* Target must be a java.awt.Component (should be a Canvas
|
||||||
|
* or Window for native rendering).
|
||||||
|
* FreeDrawingSurface() must be called when finished with the
|
||||||
|
* returned JAWT_DrawingSurface.
|
||||||
|
*/
|
||||||
|
JAWT_DrawingSurface* (JNICALL *GetDrawingSurface)
|
||||||
|
(JNIEnv* env, jobject target);
|
||||||
|
/*
|
||||||
|
* Free the drawing surface allocated in GetDrawingSurface.
|
||||||
|
*/
|
||||||
|
void (JNICALL *FreeDrawingSurface)
|
||||||
|
(JAWT_DrawingSurface* ds);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Locks the entire AWT for synchronization purposes
|
||||||
|
*/
|
||||||
|
void (JNICALL *Lock)(JNIEnv* env);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Unlocks the entire AWT for synchronization purposes
|
||||||
|
*/
|
||||||
|
void (JNICALL *Unlock)(JNIEnv* env);
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Returns a reference to a java.awt.Component from a native
|
||||||
|
* platform handle. On Windows, this corresponds to an HWND;
|
||||||
|
* on Solaris and Linux, this is a Drawable. For other platforms,
|
||||||
|
* see the appropriate machine-dependent header file for a description.
|
||||||
|
* The reference returned by this function is a local
|
||||||
|
* reference that is only valid in this environment.
|
||||||
|
* This function returns a NULL reference if no component could be
|
||||||
|
* found with matching platform information.
|
||||||
|
*/
|
||||||
|
jobject (JNICALL *GetComponent)(JNIEnv* env, void* platformInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Since 9
|
||||||
|
* Creates a java.awt.Frame placed in a native container. Container is
|
||||||
|
* referenced by the native platform handle. For example on Windows this
|
||||||
|
* corresponds to an HWND. For other platforms, see the appropriate
|
||||||
|
* machine-dependent header file for a description. The reference returned
|
||||||
|
* by this function is a local reference that is only valid in this
|
||||||
|
* environment. This function returns a NULL reference if no frame could be
|
||||||
|
* created with matching platform information.
|
||||||
|
*/
|
||||||
|
jobject (JNICALL *CreateEmbeddedFrame) (JNIEnv *env, void* platformInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Since 9
|
||||||
|
* Moves and resizes the embedded frame. The new location of the top-left
|
||||||
|
* corner is specified by x and y parameters relative to the native parent
|
||||||
|
* component. The new size is specified by width and height.
|
||||||
|
*
|
||||||
|
* The embedded frame should be created by CreateEmbeddedFrame() method, or
|
||||||
|
* this function will not have any effect.
|
||||||
|
*
|
||||||
|
* java.awt.Component.setLocation() and java.awt.Component.setBounds() for
|
||||||
|
* EmbeddedFrame really don't move it within the native parent. These
|
||||||
|
* methods always locate the embedded frame at (0, 0) for backward
|
||||||
|
* compatibility. To allow moving embedded frames this method was
|
||||||
|
* introduced, and it works just the same way as setLocation() and
|
||||||
|
* setBounds() for usual, non-embedded components.
|
||||||
|
*
|
||||||
|
* Using usual get/setLocation() and get/setBounds() together with this new
|
||||||
|
* method is not recommended.
|
||||||
|
*/
|
||||||
|
void (JNICALL *SetBounds) (JNIEnv *env, jobject embeddedFrame,
|
||||||
|
jint x, jint y, jint w, jint h);
|
||||||
|
/**
|
||||||
|
* Since 9
|
||||||
|
* Synthesize a native message to activate or deactivate an EmbeddedFrame
|
||||||
|
* window depending on the value of parameter doActivate, if "true"
|
||||||
|
* activates the window; otherwise, deactivates the window.
|
||||||
|
*
|
||||||
|
* The embedded frame should be created by CreateEmbeddedFrame() method, or
|
||||||
|
* this function will not have any effect.
|
||||||
|
*/
|
||||||
|
void (JNICALL *SynthesizeWindowActivation) (JNIEnv *env,
|
||||||
|
jobject embeddedFrame, jboolean doActivate);
|
||||||
|
} JAWT;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the AWT native structure. This function returns JNI_FALSE if
|
||||||
|
* an error occurs.
|
||||||
|
*/
|
||||||
|
_JNI_IMPORT_OR_EXPORT_
|
||||||
|
jboolean JNICALL JAWT_GetAWT(JNIEnv* env, JAWT* awt);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Specify one of these constants as the JAWT.version
|
||||||
|
* Specifying an earlier version will limit the available functions to
|
||||||
|
* those provided in that earlier version of JAWT.
|
||||||
|
* See the "Since" note on each API. Methods with no "Since"
|
||||||
|
* may be presumed to be present in JAWT_VERSION_1_3.
|
||||||
|
*/
|
||||||
|
#define JAWT_VERSION_1_3 0x00010003
|
||||||
|
#define JAWT_VERSION_1_4 0x00010004
|
||||||
|
#define JAWT_VERSION_1_7 0x00010007
|
||||||
|
#define JAWT_VERSION_9 0x00090000
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JAWT_H_ */
|
||||||
@@ -0,0 +1,276 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Java Debug Wire Protocol Transport Service Provider Interface.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef JDWPTRANSPORT_H
|
||||||
|
#define JDWPTRANSPORT_H
|
||||||
|
|
||||||
|
#include "jni.h"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JDWPTRANSPORT_VERSION_1_0 = 0x00010000,
|
||||||
|
JDWPTRANSPORT_VERSION_1_1 = 0x00010001
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct jdwpTransportNativeInterface_;
|
||||||
|
|
||||||
|
struct _jdwpTransportEnv;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
typedef _jdwpTransportEnv jdwpTransportEnv;
|
||||||
|
#else
|
||||||
|
typedef const struct jdwpTransportNativeInterface_ *jdwpTransportEnv;
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Errors. Universal errors with JVMTI/JVMDI equivalents keep the
|
||||||
|
* values the same.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
JDWPTRANSPORT_ERROR_NONE = 0,
|
||||||
|
JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT = 103,
|
||||||
|
JDWPTRANSPORT_ERROR_OUT_OF_MEMORY = 110,
|
||||||
|
JDWPTRANSPORT_ERROR_INTERNAL = 113,
|
||||||
|
JDWPTRANSPORT_ERROR_ILLEGAL_STATE = 201,
|
||||||
|
JDWPTRANSPORT_ERROR_IO_ERROR = 202,
|
||||||
|
JDWPTRANSPORT_ERROR_TIMEOUT = 203,
|
||||||
|
JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE = 204
|
||||||
|
} jdwpTransportError;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structure to define capabilities
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned int can_timeout_attach :1;
|
||||||
|
unsigned int can_timeout_accept :1;
|
||||||
|
unsigned int can_timeout_handshake :1;
|
||||||
|
unsigned int reserved3 :1;
|
||||||
|
unsigned int reserved4 :1;
|
||||||
|
unsigned int reserved5 :1;
|
||||||
|
unsigned int reserved6 :1;
|
||||||
|
unsigned int reserved7 :1;
|
||||||
|
unsigned int reserved8 :1;
|
||||||
|
unsigned int reserved9 :1;
|
||||||
|
unsigned int reserved10 :1;
|
||||||
|
unsigned int reserved11 :1;
|
||||||
|
unsigned int reserved12 :1;
|
||||||
|
unsigned int reserved13 :1;
|
||||||
|
unsigned int reserved14 :1;
|
||||||
|
unsigned int reserved15 :1;
|
||||||
|
} JDWPTransportCapabilities;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structures to define packet layout.
|
||||||
|
*
|
||||||
|
* See: http://java.sun.com/j2se/1.5/docs/guide/jpda/jdwp-spec.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define JDWP_HEADER_SIZE 11
|
||||||
|
|
||||||
|
enum {
|
||||||
|
/*
|
||||||
|
* If additional flags are added that apply to jdwpCmdPacket,
|
||||||
|
* then debugLoop.c: reader() will need to be updated to
|
||||||
|
* accept more than JDWPTRANSPORT_FLAGS_NONE.
|
||||||
|
*/
|
||||||
|
JDWPTRANSPORT_FLAGS_NONE = 0x0,
|
||||||
|
JDWPTRANSPORT_FLAGS_REPLY = 0x80
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
jint len;
|
||||||
|
jint id;
|
||||||
|
jbyte flags;
|
||||||
|
jbyte cmdSet;
|
||||||
|
jbyte cmd;
|
||||||
|
jbyte *data;
|
||||||
|
} jdwpCmdPacket;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
jint len;
|
||||||
|
jint id;
|
||||||
|
jbyte flags;
|
||||||
|
jshort errorCode;
|
||||||
|
jbyte *data;
|
||||||
|
} jdwpReplyPacket;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
union {
|
||||||
|
jdwpCmdPacket cmd;
|
||||||
|
jdwpReplyPacket reply;
|
||||||
|
} type;
|
||||||
|
} jdwpPacket;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JDWP functions called by the transport.
|
||||||
|
*/
|
||||||
|
typedef struct jdwpTransportCallback {
|
||||||
|
void *(*alloc)(jint numBytes); /* Call this for all allocations */
|
||||||
|
void (*free)(void *buffer); /* Call this for all deallocations */
|
||||||
|
} jdwpTransportCallback;
|
||||||
|
|
||||||
|
typedef jint (JNICALL *jdwpTransport_OnLoad_t)(JavaVM *jvm,
|
||||||
|
jdwpTransportCallback *callback,
|
||||||
|
jint version,
|
||||||
|
jdwpTransportEnv** env);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JDWP transport configuration from the agent.
|
||||||
|
*/
|
||||||
|
typedef struct jdwpTransportConfiguration {
|
||||||
|
/* Field added in JDWPTRANSPORT_VERSION_1_1: */
|
||||||
|
const char* allowed_peers; /* Peers allowed for connection */
|
||||||
|
} jdwpTransportConfiguration;
|
||||||
|
|
||||||
|
|
||||||
|
/* Function Interface */
|
||||||
|
|
||||||
|
struct jdwpTransportNativeInterface_ {
|
||||||
|
/* 1 : RESERVED */
|
||||||
|
void *reserved1;
|
||||||
|
|
||||||
|
/* 2 : Get Capabilities */
|
||||||
|
jdwpTransportError (JNICALL *GetCapabilities)(jdwpTransportEnv* env,
|
||||||
|
JDWPTransportCapabilities *capabilities_ptr);
|
||||||
|
|
||||||
|
/* 3 : Attach */
|
||||||
|
jdwpTransportError (JNICALL *Attach)(jdwpTransportEnv* env,
|
||||||
|
const char* address,
|
||||||
|
jlong attach_timeout,
|
||||||
|
jlong handshake_timeout);
|
||||||
|
|
||||||
|
/* 4: StartListening */
|
||||||
|
jdwpTransportError (JNICALL *StartListening)(jdwpTransportEnv* env,
|
||||||
|
const char* address,
|
||||||
|
char** actual_address);
|
||||||
|
|
||||||
|
/* 5: StopListening */
|
||||||
|
jdwpTransportError (JNICALL *StopListening)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 6: Accept */
|
||||||
|
jdwpTransportError (JNICALL *Accept)(jdwpTransportEnv* env,
|
||||||
|
jlong accept_timeout,
|
||||||
|
jlong handshake_timeout);
|
||||||
|
|
||||||
|
/* 7: IsOpen */
|
||||||
|
jboolean (JNICALL *IsOpen)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 8: Close */
|
||||||
|
jdwpTransportError (JNICALL *Close)(jdwpTransportEnv* env);
|
||||||
|
|
||||||
|
/* 9: ReadPacket */
|
||||||
|
jdwpTransportError (JNICALL *ReadPacket)(jdwpTransportEnv* env,
|
||||||
|
jdwpPacket *pkt);
|
||||||
|
|
||||||
|
/* 10: Write Packet */
|
||||||
|
jdwpTransportError (JNICALL *WritePacket)(jdwpTransportEnv* env,
|
||||||
|
const jdwpPacket* pkt);
|
||||||
|
|
||||||
|
/* 11: GetLastError */
|
||||||
|
jdwpTransportError (JNICALL *GetLastError)(jdwpTransportEnv* env,
|
||||||
|
char** error);
|
||||||
|
|
||||||
|
/* 12: SetTransportConfiguration added in JDWPTRANSPORT_VERSION_1_1 */
|
||||||
|
jdwpTransportError (JNICALL *SetTransportConfiguration)(jdwpTransportEnv* env,
|
||||||
|
jdwpTransportConfiguration *config);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use inlined functions so that C++ code can use syntax such as
|
||||||
|
* env->Attach("mymachine:5000", 10*1000, 0);
|
||||||
|
*
|
||||||
|
* rather than using C's :-
|
||||||
|
*
|
||||||
|
* (*env)->Attach(env, "mymachine:5000", 10*1000, 0);
|
||||||
|
*/
|
||||||
|
struct _jdwpTransportEnv {
|
||||||
|
const struct jdwpTransportNativeInterface_ *functions;
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
jdwpTransportError GetCapabilities(JDWPTransportCapabilities *capabilities_ptr) {
|
||||||
|
return functions->GetCapabilities(this, capabilities_ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Attach(const char* address, jlong attach_timeout,
|
||||||
|
jlong handshake_timeout) {
|
||||||
|
return functions->Attach(this, address, attach_timeout, handshake_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError StartListening(const char* address,
|
||||||
|
char** actual_address) {
|
||||||
|
return functions->StartListening(this, address, actual_address);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError StopListening(void) {
|
||||||
|
return functions->StopListening(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Accept(jlong accept_timeout, jlong handshake_timeout) {
|
||||||
|
return functions->Accept(this, accept_timeout, handshake_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
jboolean IsOpen(void) {
|
||||||
|
return functions->IsOpen(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError Close(void) {
|
||||||
|
return functions->Close(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError ReadPacket(jdwpPacket *pkt) {
|
||||||
|
return functions->ReadPacket(this, pkt);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError WritePacket(const jdwpPacket* pkt) {
|
||||||
|
return functions->WritePacket(this, pkt);
|
||||||
|
}
|
||||||
|
|
||||||
|
jdwpTransportError GetLastError(char** error) {
|
||||||
|
return functions->GetLastError(this, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SetTransportConfiguration added in JDWPTRANSPORT_VERSION_1_1 */
|
||||||
|
jdwpTransportError SetTransportConfiguration(jdwpTransportConfiguration *config) {
|
||||||
|
return functions->SetTransportConfiguration(this, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* JDWPTRANSPORT_H */
|
||||||
2001
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/include/jni.h
Normal file
2001
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/include/jni.h
Normal file
File diff suppressed because it is too large
Load Diff
2659
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/include/jvmti.h
Normal file
2659
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12/include/jvmti.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This header file defines the data structures sent by the VM
|
||||||
|
* through the JVMTI CompiledMethodLoad callback function via the
|
||||||
|
* "void * compile_info" parameter. The memory pointed to by the
|
||||||
|
* compile_info parameter may not be referenced after returning from
|
||||||
|
* the CompiledMethodLoad callback. These are VM implementation
|
||||||
|
* specific data structures that may evolve in future releases. A
|
||||||
|
* JVMTI agent should interpret a non-NULL compile_info as a pointer
|
||||||
|
* to a region of memory containing a list of records. In a typical
|
||||||
|
* usage scenario, a JVMTI agent would cast each record to a
|
||||||
|
* jvmtiCompiledMethodLoadRecordHeader, a struct that represents
|
||||||
|
* arbitrary information. This struct contains a kind field to indicate
|
||||||
|
* the kind of information being passed, and a pointer to the next
|
||||||
|
* record. If the kind field indicates inlining information, then the
|
||||||
|
* agent would cast the record to a jvmtiCompiledMethodLoadInlineRecord.
|
||||||
|
* This record contains an array of PCStackInfo structs, which indicate
|
||||||
|
* for every pc address what are the methods on the invocation stack.
|
||||||
|
* The "methods" and "bcis" fields in each PCStackInfo struct specify a
|
||||||
|
* 1-1 mapping between these inlined methods and their bytecode indices.
|
||||||
|
* This can be used to derive the proper source lines of the inlined
|
||||||
|
* methods.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JVMTI_CMLR_H_
|
||||||
|
#define _JVMTI_CMLR_H_
|
||||||
|
|
||||||
|
enum {
|
||||||
|
JVMTI_CMLR_MAJOR_VERSION_1 = 0x00000001,
|
||||||
|
JVMTI_CMLR_MINOR_VERSION_0 = 0x00000000,
|
||||||
|
|
||||||
|
JVMTI_CMLR_MAJOR_VERSION = 0x00000001,
|
||||||
|
JVMTI_CMLR_MINOR_VERSION = 0x00000000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This comment is for the "JDK import from HotSpot" sanity check:
|
||||||
|
* version: 1.0.0
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
JVMTI_CMLR_DUMMY = 1,
|
||||||
|
JVMTI_CMLR_INLINE_INFO = 2
|
||||||
|
} jvmtiCMLRKind;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that represents arbitrary information passed through JVMTI
|
||||||
|
* CompiledMethodLoadEvent void pointer.
|
||||||
|
*/
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadRecordHeader {
|
||||||
|
jvmtiCMLRKind kind; /* id for the kind of info passed in the record */
|
||||||
|
jint majorinfoversion; /* major and minor info version values. Init'ed */
|
||||||
|
jint minorinfoversion; /* to current version value in jvmtiExport.cpp. */
|
||||||
|
|
||||||
|
struct _jvmtiCompiledMethodLoadRecordHeader* next;
|
||||||
|
} jvmtiCompiledMethodLoadRecordHeader;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that gives information about the methods on the compile-time
|
||||||
|
* stack at a specific pc address of a compiled method. Each element in
|
||||||
|
* the methods array maps to same element in the bcis array.
|
||||||
|
*/
|
||||||
|
typedef struct _PCStackInfo {
|
||||||
|
void* pc; /* the pc address for this compiled method */
|
||||||
|
jint numstackframes; /* number of methods on the stack */
|
||||||
|
jmethodID* methods; /* array of numstackframes method ids */
|
||||||
|
jint* bcis; /* array of numstackframes bytecode indices */
|
||||||
|
} PCStackInfo;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record that contains inlining information for each pc address of
|
||||||
|
* an nmethod.
|
||||||
|
*/
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadInlineRecord {
|
||||||
|
jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
|
||||||
|
jint numpcs; /* number of pc descriptors in this nmethod */
|
||||||
|
PCStackInfo* pcinfo; /* array of numpcs pc descriptors */
|
||||||
|
} jvmtiCompiledMethodLoadInlineRecord;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dummy record used to test that we can pass records with different
|
||||||
|
* information through the void pointer provided that they can be cast
|
||||||
|
* to a jvmtiCompiledMethodLoadRecordHeader.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct _jvmtiCompiledMethodLoadDummyRecord {
|
||||||
|
jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
|
||||||
|
char message[50];
|
||||||
|
} jvmtiCompiledMethodLoadDummyRecord;
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JAWT_MD_H_
|
||||||
|
#define _JAVASOFT_JAWT_MD_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
#include "jawt.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* X11-specific declarations for AWT native interface.
|
||||||
|
* See notes in jawt.h for an example of use.
|
||||||
|
*/
|
||||||
|
typedef struct jawt_X11DrawingSurfaceInfo {
|
||||||
|
Drawable drawable;
|
||||||
|
Display* display;
|
||||||
|
VisualID visualID;
|
||||||
|
Colormap colormapID;
|
||||||
|
int depth;
|
||||||
|
/*
|
||||||
|
* Since 1.4
|
||||||
|
* Returns a pixel value from a set of RGB values.
|
||||||
|
* This is useful for paletted color (256 color) modes.
|
||||||
|
*/
|
||||||
|
int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds,
|
||||||
|
int r, int g, int b);
|
||||||
|
} JAWT_X11DrawingSurfaceInfo;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JAWT_MD_H_ */
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _JAVASOFT_JNI_MD_H_
|
||||||
|
#define _JAVASOFT_JNI_MD_H_
|
||||||
|
|
||||||
|
#ifndef __has_attribute
|
||||||
|
#define __has_attribute(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef JNIEXPORT
|
||||||
|
#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
|
||||||
|
#ifdef ARM
|
||||||
|
#define JNIEXPORT __attribute__((externally_visible,visibility("default")))
|
||||||
|
#else
|
||||||
|
#define JNIEXPORT __attribute__((visibility("default")))
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define JNIEXPORT
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
|
||||||
|
#ifdef ARM
|
||||||
|
#define JNIIMPORT __attribute__((externally_visible,visibility("default")))
|
||||||
|
#else
|
||||||
|
#define JNIIMPORT __attribute__((visibility("default")))
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define JNIIMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define JNICALL
|
||||||
|
|
||||||
|
typedef int jint;
|
||||||
|
#ifdef _LP64
|
||||||
|
typedef long jlong;
|
||||||
|
#else
|
||||||
|
typedef long long jlong;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef signed char jbyte;
|
||||||
|
|
||||||
|
#endif /* !_JAVASOFT_JNI_MD_H_ */
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,37 @@
|
|||||||
|
ADDITIONAL INFORMATION ABOUT LICENSING
|
||||||
|
|
||||||
|
Certain files distributed by Oracle America, Inc. and/or its affiliates are
|
||||||
|
subject to the following clarification and special exception to the GPLv2,
|
||||||
|
based on the GNU Project exception for its Classpath libraries, known as the
|
||||||
|
GNU Classpath Exception.
|
||||||
|
|
||||||
|
Note that Oracle includes multiple, independent programs in this software
|
||||||
|
package. Some of those programs are provided under licenses deemed
|
||||||
|
incompatible with the GPLv2 by the Free Software Foundation and others.
|
||||||
|
For example, the package includes programs licensed under the Apache
|
||||||
|
License, Version 2.0 and may include FreeType. Such programs are licensed
|
||||||
|
to you under their original licenses.
|
||||||
|
|
||||||
|
Oracle facilitates your further distribution of this package by adding the
|
||||||
|
Classpath Exception to the necessary parts of its GPLv2 code, which permits
|
||||||
|
you to use that code in combination with other independent modules not
|
||||||
|
licensed under the GPLv2. However, note that this would not permit you to
|
||||||
|
commingle code under an incompatible license with Oracle's GPLv2 licensed
|
||||||
|
code by, for example, cutting and pasting such code into a file also
|
||||||
|
containing Oracle's GPLv2 licensed code and then distributing the result.
|
||||||
|
|
||||||
|
Additionally, if you were to remove the Classpath Exception from any of the
|
||||||
|
files to which it applies and distribute the result, you would likely be
|
||||||
|
required to license some or all of the other code in that distribution under
|
||||||
|
the GPLv2 as well, and since the GPLv2 is incompatible with the license terms
|
||||||
|
of some items included in the distribution by Oracle, removing the Classpath
|
||||||
|
Exception could therefore effectively compromise your ability to further
|
||||||
|
distribute the package.
|
||||||
|
|
||||||
|
Failing to distribute notices associated with some files may also create
|
||||||
|
unexpected legal consequences.
|
||||||
|
|
||||||
|
Proceed with caution and we recommend that you obtain the advice of a lawyer
|
||||||
|
skilled in open source matters before removing the Classpath Exception or
|
||||||
|
making modifications to this package which may subsequently be redistributed
|
||||||
|
and/or involve the use of third party software.
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
OPENJDK ASSEMBLY EXCEPTION
|
||||||
|
|
||||||
|
The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
|
||||||
|
openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU
|
||||||
|
General Public License <https://www.gnu.org/copyleft/gpl.html> version 2
|
||||||
|
only ("GPL2"), with the following clarification and special exception.
|
||||||
|
|
||||||
|
Linking this OpenJDK Code statically or dynamically with other code
|
||||||
|
is making a combined work based on this library. Thus, the terms
|
||||||
|
and conditions of GPL2 cover the whole combination.
|
||||||
|
|
||||||
|
As a special exception, Oracle gives you permission to link this
|
||||||
|
OpenJDK Code with certain code licensed by Oracle as indicated at
|
||||||
|
https://openjdk.org/legal/exception-modules-2007-05-08.html
|
||||||
|
("Designated Exception Modules") to produce an executable,
|
||||||
|
regardless of the license terms of the Designated Exception Modules,
|
||||||
|
and to copy and distribute the resulting executable under GPL2,
|
||||||
|
provided that the Designated Exception Modules continue to be
|
||||||
|
governed by the licenses under which they were offered by Oracle.
|
||||||
|
|
||||||
|
As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
|
||||||
|
to build an executable that includes those portions of necessary code that
|
||||||
|
Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
|
||||||
|
with the Classpath exception). If you modify or add to the OpenJDK code,
|
||||||
|
that new GPL2 code may still be combined with Designated Exception Modules
|
||||||
|
if the new code is made subject to this exception by its copyright holder.
|
||||||
@@ -0,0 +1,347 @@
|
|||||||
|
The GNU General Public License (GPL)
|
||||||
|
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your freedom to share
|
||||||
|
and change it. By contrast, the GNU General Public License is intended to
|
||||||
|
guarantee your freedom to share and change free software--to make sure the
|
||||||
|
software is free for all its users. This General Public License applies to
|
||||||
|
most of the Free Software Foundation's software and to any other program whose
|
||||||
|
authors commit to using it. (Some other Free Software Foundation software is
|
||||||
|
covered by the GNU Library General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom to
|
||||||
|
distribute copies of free software (and charge for this service if you wish),
|
||||||
|
that you receive source code or can get it if you want it, that you can change
|
||||||
|
the software or use pieces of it in new free programs; and that you know you
|
||||||
|
can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid anyone to deny
|
||||||
|
you these rights or to ask you to surrender the rights. These restrictions
|
||||||
|
translate to certain responsibilities for you if you distribute copies of the
|
||||||
|
software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or for
|
||||||
|
a fee, you must give the recipients all the rights that you have. You must
|
||||||
|
make sure that they, too, receive or can get the source code. And you must
|
||||||
|
show them these terms so they know their rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||||
|
offer you this license which gives you legal permission to copy, distribute
|
||||||
|
and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain that
|
||||||
|
everyone understands that there is no warranty for this free software. If the
|
||||||
|
software is modified by someone else and passed on, we want its recipients to
|
||||||
|
know that what they have is not the original, so that any problems introduced
|
||||||
|
by others will not reflect on the original authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software patents. We
|
||||||
|
wish to avoid the danger that redistributors of a free program will
|
||||||
|
individually obtain patent licenses, in effect making the program proprietary.
|
||||||
|
To prevent this, we have made it clear that any patent must be licensed for
|
||||||
|
everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains a notice
|
||||||
|
placed by the copyright holder saying it may be distributed under the terms of
|
||||||
|
this General Public License. The "Program", below, refers to any such program
|
||||||
|
or work, and a "work based on the Program" means either the Program or any
|
||||||
|
derivative work under copyright law: that is to say, a work containing the
|
||||||
|
Program or a portion of it, either verbatim or with modifications and/or
|
||||||
|
translated into another language. (Hereinafter, translation is included
|
||||||
|
without limitation in the term "modification".) Each licensee is addressed as
|
||||||
|
"you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not covered by
|
||||||
|
this License; they are outside its scope. The act of running the Program is
|
||||||
|
not restricted, and the output from the Program is covered only if its contents
|
||||||
|
constitute a work based on the Program (independent of having been made by
|
||||||
|
running the Program). Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's source code as
|
||||||
|
you receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice and
|
||||||
|
disclaimer of warranty; keep intact all the notices that refer to this License
|
||||||
|
and to the absence of any warranty; and give any other recipients of the
|
||||||
|
Program a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and you may
|
||||||
|
at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion of it, thus
|
||||||
|
forming a work based on the Program, and copy and distribute such modifications
|
||||||
|
or work under the terms of Section 1 above, provided that you also meet all of
|
||||||
|
these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices stating
|
||||||
|
that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in whole or
|
||||||
|
in part contains or is derived from the Program or any part thereof, to be
|
||||||
|
licensed as a whole at no charge to all third parties under the terms of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively when run,
|
||||||
|
you must cause it, when started running for such interactive use in the
|
||||||
|
most ordinary way, to print or display an announcement including an
|
||||||
|
appropriate copyright notice and a notice that there is no warranty (or
|
||||||
|
else, saying that you provide a warranty) and that users may redistribute
|
||||||
|
the program under these conditions, and telling the user how to view a copy
|
||||||
|
of this License. (Exception: if the Program itself is interactive but does
|
||||||
|
not normally print such an announcement, your work based on the Program is
|
||||||
|
not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If identifiable
|
||||||
|
sections of that work are not derived from the Program, and can be reasonably
|
||||||
|
considered independent and separate works in themselves, then this License, and
|
||||||
|
its terms, do not apply to those sections when you distribute them as separate
|
||||||
|
works. But when you distribute the same sections as part of a whole which is a
|
||||||
|
work based on the Program, the distribution of the whole must be on the terms
|
||||||
|
of this License, whose permissions for other licensees extend to the entire
|
||||||
|
whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest your
|
||||||
|
rights to work written entirely by you; rather, the intent is to exercise the
|
||||||
|
right to control the distribution of derivative or collective works based on
|
||||||
|
the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program with the
|
||||||
|
Program (or with a work based on the Program) on a volume of a storage or
|
||||||
|
distribution medium does not bring the other work under the scope of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it, under
|
||||||
|
Section 2) in object code or executable form under the terms of Sections 1 and
|
||||||
|
2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable source
|
||||||
|
code, which must be distributed under the terms of Sections 1 and 2 above
|
||||||
|
on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three years, to
|
||||||
|
give any third party, for a charge no more than your cost of physically
|
||||||
|
performing source distribution, a complete machine-readable copy of the
|
||||||
|
corresponding source code, to be distributed under the terms of Sections 1
|
||||||
|
and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer to
|
||||||
|
distribute corresponding source code. (This alternative is allowed only
|
||||||
|
for noncommercial distribution and only if you received the program in
|
||||||
|
object code or executable form with such an offer, in accord with
|
||||||
|
Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for making
|
||||||
|
modifications to it. For an executable work, complete source code means all
|
||||||
|
the source code for all modules it contains, plus any associated interface
|
||||||
|
definition files, plus the scripts used to control compilation and installation
|
||||||
|
of the executable. However, as a special exception, the source code
|
||||||
|
distributed need not include anything that is normally distributed (in either
|
||||||
|
source or binary form) with the major components (compiler, kernel, and so on)
|
||||||
|
of the operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering access to copy
|
||||||
|
from a designated place, then offering equivalent access to copy the source
|
||||||
|
code from the same place counts as distribution of the source code, even though
|
||||||
|
third parties are not compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program except as
|
||||||
|
expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||||
|
sublicense or distribute the Program is void, and will automatically terminate
|
||||||
|
your rights under this License. However, parties who have received copies, or
|
||||||
|
rights, from you under this License will not have their licenses terminated so
|
||||||
|
long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not signed it.
|
||||||
|
However, nothing else grants you permission to modify or distribute the Program
|
||||||
|
or its derivative works. These actions are prohibited by law if you do not
|
||||||
|
accept this License. Therefore, by modifying or distributing the Program (or
|
||||||
|
any work based on the Program), you indicate your acceptance of this License to
|
||||||
|
do so, and all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the Program),
|
||||||
|
the recipient automatically receives a license from the original licensor to
|
||||||
|
copy, distribute or modify the Program subject to these terms and conditions.
|
||||||
|
You may not impose any further restrictions on the recipients' exercise of the
|
||||||
|
rights granted herein. You are not responsible for enforcing compliance by
|
||||||
|
third parties to this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues), conditions
|
||||||
|
are imposed on you (whether by court order, agreement or otherwise) that
|
||||||
|
contradict the conditions of this License, they do not excuse you from the
|
||||||
|
conditions of this License. If you cannot distribute so as to satisfy
|
||||||
|
simultaneously your obligations under this License and any other pertinent
|
||||||
|
obligations, then as a consequence you may not distribute the Program at all.
|
||||||
|
For example, if a patent license would not permit royalty-free redistribution
|
||||||
|
of the Program by all those who receive copies directly or indirectly through
|
||||||
|
you, then the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
|
particular circumstance, the balance of the section is intended to apply and
|
||||||
|
the section as a whole is intended to apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any patents or
|
||||||
|
other property right claims or to contest validity of any such claims; this
|
||||||
|
section has the sole purpose of protecting the integrity of the free software
|
||||||
|
distribution system, which is implemented by public license practices. Many
|
||||||
|
people have made generous contributions to the wide range of software
|
||||||
|
distributed through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing to
|
||||||
|
distribute software through any other system and a licensee cannot impose that
|
||||||
|
choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to be a
|
||||||
|
consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in certain
|
||||||
|
countries either by patents or by copyrighted interfaces, the original
|
||||||
|
copyright holder who places the Program under this License may add an explicit
|
||||||
|
geographical distribution limitation excluding those countries, so that
|
||||||
|
distribution is permitted only in or among countries not thus excluded. In
|
||||||
|
such case, this License incorporates the limitation as if written in the body
|
||||||
|
of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
General Public License from time to time. Such new versions will be similar in
|
||||||
|
spirit to the present version, but may differ in detail to address new problems
|
||||||
|
or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any later
|
||||||
|
version", you have the option of following the terms and conditions either of
|
||||||
|
that version or of any later version published by the Free Software Foundation.
|
||||||
|
If the Program does not specify a version number of this License, you may
|
||||||
|
choose any version ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free programs
|
||||||
|
whose distribution conditions are different, write to the author to ask for
|
||||||
|
permission. For software which is copyrighted by the Free Software Foundation,
|
||||||
|
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||||
|
Our decision will be guided by the two goals of preserving the free status of
|
||||||
|
all derivatives of our free software and of promoting the sharing and reuse of
|
||||||
|
software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||||
|
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
|
||||||
|
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
|
||||||
|
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||||
|
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
|
||||||
|
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||||
|
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||||
|
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||||
|
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
|
||||||
|
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively convey the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
One line to give the program's name and a brief idea of what it does.
|
||||||
|
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the Free
|
||||||
|
Software Foundation; either version 2 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this when it
|
||||||
|
starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||||
|
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
|
||||||
|
software, and you are welcome to redistribute it under certain conditions;
|
||||||
|
type 'show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands 'show w' and 'show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may be
|
||||||
|
called something other than 'show w' and 'show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||||
|
is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
'Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
signature of Ty Coon, 1 April 1989
|
||||||
|
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Library General Public
|
||||||
|
License instead of this License.
|
||||||
|
|
||||||
|
|
||||||
|
"CLASSPATH" EXCEPTION TO THE GPL
|
||||||
|
|
||||||
|
Certain source files distributed by Oracle America and/or its affiliates are
|
||||||
|
subject to the following clarification and special exception to the GPL, but
|
||||||
|
only where Oracle has expressly included in the particular source file's header
|
||||||
|
the words "Oracle designates this particular file as subject to the "Classpath"
|
||||||
|
exception as provided by Oracle in the LICENSE file that accompanied this code."
|
||||||
|
|
||||||
|
Linking this library statically or dynamically with other modules is making
|
||||||
|
a combined work based on this library. Thus, the terms and conditions of
|
||||||
|
the GNU General Public License cover the whole combination.
|
||||||
|
|
||||||
|
As a special exception, the copyright holders of this library give you
|
||||||
|
permission to link this library with independent modules to produce an
|
||||||
|
executable, regardless of the license terms of these independent modules,
|
||||||
|
and to copy and distribute the resulting executable under terms of your
|
||||||
|
choice, provided that you also meet, for each linked independent module,
|
||||||
|
the terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library. If
|
||||||
|
you modify this library, you may extend this exception to your version of
|
||||||
|
the library, but you are not obligated to do so. If you do not wish to do
|
||||||
|
so, delete this exception statement from your version.
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
## Cryptix AES v3.2.0
|
||||||
|
|
||||||
|
### Cryptix General License
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
Cryptix General License
|
||||||
|
|
||||||
|
Copyright (c) 1995-2005 The Cryptix Foundation Limited.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the copyright notice,
|
||||||
|
this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND
|
||||||
|
CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
|
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
</pre>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
## ASM Bytecode Manipulation Framework v9.3
|
||||||
|
|
||||||
|
### ASM License
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
Copyright (c) 2000-2011 France Télécom
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holders nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
|
THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
</pre>
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
## c-libutl 20160225
|
||||||
|
|
||||||
|
### c-libutl License
|
||||||
|
```
|
||||||
|
|
||||||
|
This software is distributed under the terms of the BSD license.
|
||||||
|
|
||||||
|
== BSD LICENSE ===============================================================
|
||||||
|
|
||||||
|
(C) 2009 by Remo Dentato (rdentato@gmail.com)
|
||||||
|
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
```
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user