All notable changes to this project are documented in this file following the [Keep a CHANGELOG](http://keepachangelog.com) conventions.
## 3.8.0
### Changed
- PDP XML schema: maxVariableRefDepth and maxPolicyRefDepth attributes made optional (instead of required)
### Added
- PDP XML schema: 'requestFilter' attribute (RequestFilter extension):
- Added documentation about natively supported values, with '-lax' suffix meaning that duplicate <Attribute> with same meta-data in the same <Attributes> element of a Request is allowed (in compliance with XACML 3.0 core spec, §7.3.3), and '-strict' suffix meaning that it is not allowed (not strictly compliant with XACML 3.0 Core, section 7.3.3):
- 'urn:ow2:authzforce:xacml:request-filter:default-lax' and 'urn:ow2:authzforce:xacml:request-filter:default-strict': default requestFilter limited to what is specified in XACML 3.0 Core specification
- Added XSD-defined default value for this 'requestFilter' attribute: 'urn:ow2:authzforce:xacml:request-filter:default-lax'
- Support for Extended Indeterminate values (XACML 3.0 Core specification, section 7.10-7.14, appendix C: combining algorithms)
- PdpImpl#getStaticApplicablePolicies() method that provides all the PDP's applicable policies (root and referenced - directly or indirectly - from the root policy) if all are statically resolved. This allows PDP clients to know all the policies (if statically resolved) possibly used by the PDP during the evaluation.
## 3.7.0
### Added
- Root policy provider module based on any policy-by-reference provider (parameter is the root policy reference to be resolved by the policy-by-reference provider)
thrownewIndeterminateEvaluationException("Unsupported repetition of Attributes[@Category='"+categoryName
+"'] (feature 'urn:oasis:names:tc:xacml:3.0:profile:multiple:repeated-attribute-categories' is not supported)",
StatusHelper.STATUS_SYNTAX_ERROR);
thrownewIndeterminateEvaluationException("Unsupported repetition of Attributes[@Category='"+categoryName+"'] (feature 'urn:oasis:names:tc:xacml:3.0:profile:multiple:repeated-attribute-categories' is not supported)",StatusHelper.STATUS_SYNTAX_ERROR);
* This is the core XACML PDP engine implementation. To build an XACML policy engine, you start by instantiating this object directly or in a easier and
* preferred way, using {@link PdpConfigurationParser}.
...
...
@@ -97,8 +98,7 @@ public class PDPImpl implements CloseablePDP
_LOGGER.error("Invalid decision cache result: number of returned decision results ({}) != number of input (individual) decision requests ({})",cachedResultsByRequest.size(),individualDecisionRequests.size());
thrownewRuntimeException("One of the entry keys (individual decision request) returned by the decision cache implementation '"
+decisionCache+"' is invalid (null).");
thrownewRuntimeException("One of the entry keys (individual decision request) returned by the decision cache implementation '"+decisionCache+"' is invalid (null).");
@@ -172,22 +172,17 @@ public class PDPImpl implements CloseablePDP
* Indeterminate response iff CombinedDecision element not supported because the request parser does not support any scheme from MultipleDecisionProfile