├── .gitignore
├── CONTRIBUTING.md
├── LICENSE.md
├── NOTICE.md
├── README.md
├── api
├── .gitignore
├── pom.xml
└── src
│ └── main
│ ├── java
│ ├── jakarta
│ │ └── security
│ │ │ └── jacc
│ │ │ ├── EJBMethodPermission.java
│ │ │ ├── EJBRoleRefPermission.java
│ │ │ ├── HttpMethodSpec.java
│ │ │ ├── Policy.java
│ │ │ ├── PolicyConfiguration.java
│ │ │ ├── PolicyConfigurationFactory.java
│ │ │ ├── PolicyContext.java
│ │ │ ├── PolicyContextException.java
│ │ │ ├── PolicyContextHandler.java
│ │ │ ├── PolicyFactory.java
│ │ │ ├── PrincipalMapper.java
│ │ │ ├── URLPattern.java
│ │ │ ├── URLPatternSpec.java
│ │ │ ├── WebResourcePermission.java
│ │ │ ├── WebRoleRefPermission.java
│ │ │ ├── WebUserDataPermission.java
│ │ │ └── package.html
│ └── module-info.java
│ ├── javadoc
│ └── doc-files
│ │ └── speclicense.html
│ └── resources
│ └── exclude-common.xml
├── pom.xml
├── spec
├── README.md
├── assembly.xml
├── pom.xml
└── src
│ ├── main
│ ├── asciidoc
│ │ ├── authorization-spec.adoc
│ │ ├── chapters
│ │ │ ├── 1_overview.adoc
│ │ │ ├── 2_provider-configuration.adoc
│ │ │ ├── 3_policy-configuration.adoc
│ │ │ ├── 4_policy-decision.adoc
│ │ │ ├── 5_legacy_support.adoc
│ │ │ ├── a_related-documents.adoc
│ │ │ ├── b_issues.adoc
│ │ │ └── c_revision-history.adoc
│ │ ├── footnotes.txt
│ │ ├── images
│ │ │ ├── PolicyConfigurationStateTable.png
│ │ │ ├── authz-1.png
│ │ │ ├── authz-1.svg
│ │ │ ├── authz-3.png
│ │ │ ├── authz-4.png
│ │ │ ├── authz.png
│ │ │ └── jakarta_ee_logo_schooner_color_stacked_default.png
│ │ ├── license-efsl.adoc
│ │ ├── preface.adoc
│ │ └── scope.adoc
│ └── theme
│ │ └── jakartaee-theme.yml
│ └── theme
│ └── jakartaee-theme.yml
├── tck-dist
├── README.md
├── pom.xml
├── src
│ └── main
│ │ ├── EFTL.txt
│ │ └── assembly
│ │ └── assembly.xml
└── userguide
│ ├── README.md
│ ├── pom.xml
│ └── src
│ ├── main
│ └── jbake
│ │ ├── assets
│ │ ├── README.md
│ │ ├── _config.yml
│ │ ├── css
│ │ │ └── style.css
│ │ └── img
│ │ │ └── eclipse_foundation_logo_tiny.png
│ │ ├── content
│ │ ├── README
│ │ ├── attributes.conf
│ │ ├── config.adoc
│ │ ├── config.inc
│ │ ├── debug-tips.inc
│ │ ├── debug.adoc
│ │ ├── defns.inc
│ │ ├── faq.adoc
│ │ ├── install-server-vi.inc
│ │ ├── install-server.inc
│ │ ├── install.adoc
│ │ ├── intro.adoc
│ │ ├── intro.inc
│ │ ├── packages.inc
│ │ ├── platforms.inc
│ │ ├── preface.adoc
│ │ ├── rebuild.adoc
│ │ ├── rebuild.inc
│ │ ├── req-software.inc
│ │ ├── rules.adoc
│ │ ├── rules.inc
│ │ ├── tck-packages.inc
│ │ ├── title.adoc
│ │ ├── title.inc
│ │ ├── toc.adoc
│ │ ├── using-examples.inc
│ │ ├── using.adoc
│ │ └── using.inc
│ │ ├── jbake.properties
│ │ └── templates
│ │ ├── footer.ftl
│ │ ├── header.ftl
│ │ ├── menu.ftl
│ │ └── page.ftl
│ └── theme
│ └── jakartaee-theme.yml
└── tck
├── .mvn
└── keepme
├── app-custom-policy
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── PolicyRegistrationListener.java
│ │ │ ├── ProtectedServlet.java
│ │ │ └── TestPolicy.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomPolicyIT.java
├── app-custom-policy2
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── PolicyRegistrationListener.java
│ │ │ ├── ProtectedServlet.java
│ │ │ └── TestPolicy.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomPolicy2IT.java
├── app-custom-policyfactory
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── ProtectedServlet.java
│ │ │ ├── TestPolicy.java
│ │ │ └── TestPolicyFactory.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomPolicyFactoryIT.java
├── app-custom-trace-policy
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── PolicyRegistrationListener.java
│ │ │ └── TSPolicy.java
│ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── secured.jsp
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomTracePolicyIT.java
├── app-custom-trace-policyconfiguration
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── TSPolicyConfigurationFactoryImpl.java
│ │ │ └── TSPolicyConfigurationImpl.java
│ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ ├── accesstoall.jsp
│ │ ├── anyauthuser.jsp
│ │ ├── excluded.jsp
│ │ ├── secured.jsp
│ │ ├── sslprotected.jsp
│ │ └── unchecked.jsp
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomTracePolicyConfigurationIT.java
├── app-custom-trace-policyconfigurationfactory
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── PublicServlet.java
│ │ │ └── TSPolicyConfigurationFactoryImpl.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppCustomTracePolicyConfigurationFactoryIT.java
├── app-ejb-constraints
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ ├── InterMediate.java
│ │ │ ├── InterMediateBean.java
│ │ │ ├── ProtectedServlet.java
│ │ │ ├── Target.java
│ │ │ └── TargetBean.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppEJBConstraintsIT.java
├── app-permissions-equals-hashcode
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── ee
│ │ └── jakarta
│ │ └── tck
│ │ └── authorization
│ │ └── test
│ │ └── PublicServlet.java
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppPermissionsEqualsHashcodeIT.java
├── app-policy-within-servlet
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ee
│ │ │ └── jakarta
│ │ │ └── tck
│ │ │ └── authorization
│ │ │ └── test
│ │ │ └── ProtectedServlet.java
│ └── webapp
│ │ └── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppPolicyWithinServletIT.java
├── app-servlet-constraints
├── pom.xml
└── src
│ ├── main
│ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ ├── accesstoall.jsp
│ │ ├── anyauthuser.jsp
│ │ ├── excluded.jsp
│ │ ├── secured.jsp
│ │ ├── sslprotected.jsp
│ │ └── unchecked.jsp
│ └── test
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── test
│ └── AppServletConstraintsIT.java
├── authorization-signaturegen
└── pom.xml
├── authorization-signaturetest
├── pom.xml
└── src
│ └── test
│ ├── java
│ └── ee
│ │ └── jakarta
│ │ └── tck
│ │ └── authorization
│ │ └── signaturetest
│ │ ├── AuthorizationSigTestIT.java
│ │ ├── PackageList.java
│ │ ├── README
│ │ ├── SigTest.java
│ │ ├── SigTestData.java
│ │ ├── SigTestDriver.java
│ │ ├── SigTestEE.java
│ │ ├── SigTestResult.java
│ │ ├── SignatureTestDriver.java
│ │ ├── SignatureTestDriverFactory.java
│ │ └── TestUtil.java
│ └── resources
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── signaturetest
│ ├── jakarta.security.jacc.sig_3.0.0-SNAPSHOT
│ ├── sig-test-pkg-list.txt
│ └── sig-test.map
├── common
├── pom.xml
└── src
│ └── main
│ └── java
│ └── ee
│ └── jakarta
│ └── tck
│ └── authorization
│ └── util
│ ├── ArquillianBase.java
│ ├── Assert.java
│ ├── ShrinkWrap.java
│ ├── Utils.java
│ └── logging
│ ├── client
│ ├── LogFileProcessor.java
│ └── LogRecordEntry.java
│ └── server
│ ├── TSLogRecord.java
│ ├── TSLogger.java
│ └── TSXMLFormatter.java
├── j2ee.pass
├── javajoe.pass
├── pom.xml
└── reza.pass
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | .classpath
3 | .project
4 | .settings/
5 | *.iml
6 | *nbactions.xml
7 | .vscode/
8 | .idea
9 | nb-configuration.xml
10 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Jakarta Authorization
2 |
3 | Thanks for your interest in this project.
4 |
5 | ## Project description
6 |
7 | Jakarta Authorization defines a contract between
8 | a Jakarta EE application server and an authorization policy provider.
9 |
10 | * https://projects.eclipse.org/projects/ee4j.jacc
11 |
12 | ## Developer resources
13 |
14 | Information regarding source code management, builds, coding standards, and
15 | more.
16 |
17 | * https://projects.eclipse.org/projects/ee4j.jacc/developer
18 |
19 | The project maintains the following source code repositories
20 |
21 | * https://github.com/eclipse-ee4j/authorization
22 |
23 | ## Eclipse Contributor Agreement
24 |
25 | Before your contribution can be accepted by the project team contributors must
26 | electronically sign the Eclipse Contributor Agreement (ECA).
27 |
28 | * http://www.eclipse.org/legal/ECA.php
29 |
30 | Commits that are provided by non-committers must have a Signed-off-by field in
31 | the footer indicating that the author is aware of the terms by which the
32 | contribution has been provided to the project. The non-committer must
33 | additionally have an Eclipse Foundation account and must have a signed Eclipse
34 | Contributor Agreement (ECA) on file.
35 |
36 | For more information, please see the Eclipse Committer Handbook:
37 | https://www.eclipse.org/projects/handbook/#resources-commit
38 |
39 | ## Eclipse Development Process
40 |
41 | This Eclipse Foundation open project is governed by the Eclipse Foundation
42 | Development Process and operates under the terms of the Eclipse IP Policy.
43 |
44 | The Jakarta EE Specification Committee has adopted the Jakarta EE Specification
45 | Process (JESP) in accordance with the Eclipse Foundation Specification Process
46 | v1.2 (EFSP) to ensure that the specification process is complied with by all
47 | Jakarta EE specification projects.
48 |
49 | * https://eclipse.org/projects/dev_process
50 | * https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf
51 | * https://jakarta.ee/about/jesp/
52 | * https://www.eclipse.org/legal/efsp_non_assert.php
53 |
54 | ## Contact
55 |
56 | Contact the project developers via the project's "dev" list.
57 |
58 | *
59 |
--------------------------------------------------------------------------------
/NOTICE.md:
--------------------------------------------------------------------------------
1 | # Notices for Jakarta Authorization
2 |
3 | This content is produced and maintained by the Jakarta Authorization project.
4 |
5 | * Project home: https://projects.eclipse.org/projects/ee4j.jacc
6 |
7 | ## Trademarks
8 |
9 | Jakarta Authorization is a trademark of the Eclipse Foundation.
10 |
11 | ## Copyright
12 |
13 | All content is the property of the respective authors or their employers. For
14 | more information regarding authorship of content, please consult the listed
15 | source code repository logs.
16 |
17 | ## Declared Project Licenses
18 |
19 | This program and the accompanying materials are made available under the terms
20 | of the Eclipse Public License v. 2.0 which is available at
21 | http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
22 | available under the following Secondary Licenses when the conditions for such
23 | availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
24 | General Public License, version 2 with the GNU Classpath Exception which is
25 | available at https://www.gnu.org/software/classpath/license.html.
26 |
27 | SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
28 |
29 | ## Source Code
30 |
31 | The project maintains the following source code repositories:
32 |
33 | * https://github.com/eclipse-ee4j/authorization
34 |
35 | ## Third-party Content
36 |
37 | ## Cryptography
38 |
39 | Content may contain encryption software. The country in which you are currently
40 | may have restrictions on the import, possession, and use, and/or re-export to
41 | another country, of encryption software. BEFORE using any encryption software,
42 | please check the country's laws, regulations and policies concerning the import,
43 | possession, or use, and re-export of encryption software, to see if this is
44 | permitted.
45 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Jakarta Authorization
2 |
3 | This repository contains the code for Jakarta Authorization.
4 |
5 | [Online JavaDoc](https://javadoc.io/doc/jakarta.security.jacc/jakarta.security.jacc-api/)
6 |
7 | Building
8 | --------
9 |
10 | Jakarta Authorization can be built by executing the following from the project root:
11 |
12 | ``mvn clean package``
13 |
14 | The API jar can then be found in /app/target.
15 |
16 | Making Changes
17 | --------------
18 |
19 | To make changes, fork this repository, make your changes, and submit a pull request.
20 |
21 | About Jakarta Authorization
22 | -------------
23 |
24 | Jakarta Authorization defines a low-level SPI for authorization modules, which are repositories of permissions
25 | facilitating subject based security by determining whether a given subject has a given permission, and algorithms
26 | to transform security constraints for specific containers (such as Jakarta- Servlet or Enterprise Beans) into
27 | these permissions.
28 |
--------------------------------------------------------------------------------
/api/.gitignore:
--------------------------------------------------------------------------------
1 | /.flattened-pom.xml
2 |
--------------------------------------------------------------------------------
/api/src/main/java/jakarta/security/jacc/PolicyContextException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
3 | *
4 | * This program and the accompanying materials are made available under the
5 | * terms of the Eclipse Public License v. 2.0, which is available at
6 | * http://www.eclipse.org/legal/epl-2.0.
7 | *
8 | * This Source Code may also be made available under the following Secondary
9 | * Licenses when the conditions for such availability set forth in the
10 | * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11 | * version 2 with the GNU Classpath Exception, which is available at
12 | * https://www.gnu.org/software/classpath/license.html.
13 | *
14 | * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15 | */
16 |
17 | package jakarta.security.jacc;
18 |
19 | /**
20 | * This checked exception is thrown by implementations of the PolicyConfiguration
21 | * Interface, the PolicyConfigurationFactory abstract class, the
22 | * PolicyContext utility class, and implementations of the
23 | * PolicyContextException Interface.
24 | *
25 | *
26 | * This exception is used by jakarta.security.jacc implementation classes to rethrow checked exceptions occurring within
27 | * an implementation that are not declared by the interface or class being implemented.
28 | *
29 | * @see Exception
30 | * @see PolicyConfiguration
31 | * @see PolicyConfigurationFactory
32 | * @see PolicyContext
33 | * @see PolicyContextHandler
34 | *
35 | * @author Ron Monzillo
36 | * @author Gary Ellison
37 | */
38 | public class PolicyContextException extends Exception {
39 |
40 | private static final long serialVersionUID = 3925692572777572935L;
41 |
42 | /**
43 | * Constructs a new PolicyContextException with null as its detail message. describing the cause of the
44 | * exception.
45 | */
46 | public PolicyContextException() {
47 | super();
48 | }
49 |
50 | /**
51 | * Constructs a new PolicyContextException with the specified detail message
52 | *
53 | * @param message - a String containing a detail message describing the cause of the exception.
54 | */
55 | public PolicyContextException(String message) {
56 | super(message);
57 | }
58 |
59 | /**
60 | * Constructs a new PolicyContextException with the specified detail message and cause. The cause will be encapsulated
61 | * in the constructed exception.
62 | *
63 | * @param message - A String containing a detail message describing the cause of the exception.
64 | * @param cause - The Throwable that is "causing" this exception to be constructed. A null value is permitted, and the
65 | * value passed through this parameter may subsequently be retrieved by calling getCause() on the
66 | * constructed exception.
67 | */
68 | public PolicyContextException(String message, Throwable cause) {
69 | super(message, cause);
70 | }
71 |
72 | /**
73 | * Constructs a new PolicyContextException with the specified cause. The cause will be encapsulated in the constructed
74 | * exception.
75 | *
76 | * @param cause - the Throwable that is "causing" this exception to be constructed. A null value is permitted, and the
77 | * value passed through this parameter may subsequently be retrieved by calling getCause() on the
78 | * constructed exception.
79 | */
80 | public PolicyContextException(Throwable cause) {
81 | super(cause);
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/api/src/main/java/jakarta/security/jacc/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
21 |
22 |
23 | This package contains the Jakarta Authorization API
24 |
25 |
26 |
--------------------------------------------------------------------------------
/api/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021-2021 Contributors to the Eclipse Foundation
3 | *
4 | * This program and the accompanying materials are made available under the
5 | * terms of the Eclipse Public License v. 2.0, which is available at
6 | * http://www.eclipse.org/legal/epl-2.0.
7 | *
8 | * This Source Code may also be made available under the following Secondary
9 | * Licenses when the conditions for such availability set forth in the
10 | * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11 | * version 2 with the GNU Classpath Exception, which is available at
12 | * https://www.gnu.org/software/classpath/license.html.
13 | *
14 | * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15 | */
16 | module jakarta.security.jacc {
17 | exports jakarta.security.jacc;
18 | requires jakarta.servlet;
19 | }
20 |
--------------------------------------------------------------------------------
/api/src/main/javadoc/doc-files/speclicense.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Eclipse Foundation Specification License - v1.1
4 |
5 |
6 |
Eclipse Foundation Specification License - v1.1
7 |
By using and/or copying this document, or the Eclipse Foundation
8 | document from which this statement is linked or incorporated by reference, you (the licensee) agree
9 | that you have read, understood, and will comply with the following
10 | terms and conditions:
11 |
12 |
Permission to copy, and distribute the contents of this document, or
13 | the Eclipse Foundation document from which this statement is linked, in
14 | any medium for any purpose and without fee or royalty is hereby
15 | granted, provided that you include the following on ALL copies of the
16 | document, or portions thereof, that you use:
17 |
18 |
19 |
link or URL to the original Eclipse Foundation document.
Inclusion of the full text of this NOTICE must be provided. We
29 | request that authorship attribution be provided in any software,
30 | documents, or other items or products that you create pursuant to the
31 | implementation of the contents of this document, or any portion
32 | thereof.
33 |
34 |
No right to create modifications or derivatives of Eclipse Foundation
35 | documents is granted pursuant to this license, except anyone may
36 | prepare and distribute derivative works and portions of this document
37 | in software that implements the specification, in supporting materials
38 | accompanying such software, and in documentation of such software,
39 | PROVIDED that all such works include the notice below. HOWEVER, the
40 | publication of derivative works of this document for use as a technical
41 | specification is expressly prohibited.
THIS DOCUMENT IS PROVIDED "AS IS," AND TO THE EXTENT PERMITTED BY APPLICABLE LAW THE COPYRIGHT
52 | HOLDERS AND THE ECLIPSE FOUNDATION AISBL MAKE NO REPRESENTATIONS OR
53 | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
54 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
55 | NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE
56 | SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS
57 | WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR
58 | OTHER RIGHTS.
59 |
60 |
TO THE EXTENT PERMITTED BY APPLICABLE LAW THE COPYRIGHT HOLDERS AND THE ECLIPSE FOUNDATION AISBL WILL NOT BE LIABLE
61 | FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT
62 | OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE
63 | CONTENTS THEREOF.
64 |
65 |
The name and trademarks of the copyright holders or the Eclipse
66 | Foundation AISBL may NOT be used in advertising or publicity pertaining to
67 | this document or its contents without specific, written prior
68 | permission. Title to copyright in this document will at all times
69 | remain with copyright holders.