[java-identity-provider] 03/03: IDP-1470 Fix mix-scope custom parsing: profile
Rod Widdowson
rdw at steadingsoftware.com
Tue Jun 25 04:46:14 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=5cde9723cb2a0a02a672311b3d2f69a5e65f3e03
commit 5cde9723cb2a0a02a672311b3d2f69a5e65f3e03
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Jun 25 08:51:23 2019 +0100
IDP-1470 Fix mix-scope custom parsing: profile
https://issues.shibboleth.net/jira/browse/IDP-1470
---
.../relyingparty/metadata/AbstractMetadataProviderParser.java | 6 ++++--
.../relyingparty/metadata/filter/impl/NodeProcessingParser.java | 3 ++-
.../metadata/filter/impl/SignatureValidationParser.java | 3 ++-
.../metadata/impl/ChainingMetadataProviderParser.java | 3 ++-
.../metadata/impl/HTTPMetadataProvidersParserSupport.java | 2 +-
.../security/trustengine/impl/AbstractChainingParser.java | 2 +-
.../security/trustengine/impl/AbstractStaticPKIXParser.java | 9 ++++++---
.../security/trustengine/impl/StaticExplicitKeyParser.java | 2 +-
.../trustengine/impl/StaticExplicitKeySignatureParser.java | 2 +-
9 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
index 33589d9..56b32f5 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
@@ -183,12 +183,14 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
if (null != filters) {
if (filters.size() == 1) {
// Install directly.
- builder.addPropertyValue("metadataFilter", SpringSupport.parseCustomElements(filters, parserContext));
+ builder.addPropertyValue("metadataFilter",
+ SpringSupport.parseCustomElement(filters.get(0), parserContext, builder, false));
} else if (filters.size() > 1) {
// Wrap in a chaining filter.
final BeanDefinitionBuilder chainBuilder =
BeanDefinitionBuilder.genericBeanDefinition(MetadataFilterChain.class);
- chainBuilder.addPropertyValue("filters", SpringSupport.parseCustomElements(filters, parserContext));
+ chainBuilder.addPropertyValue("filters", SpringSupport.parseCustomElements(filters, parserContext,
+ chainBuilder));
builder.addPropertyValue("metadataFilter", chainBuilder.getBeanDefinition());
}
}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/NodeProcessingParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/NodeProcessingParser.java
index ecf400f..e5bb967 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/NodeProcessingParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/NodeProcessingParser.java
@@ -58,7 +58,8 @@ public class NodeProcessingParser extends AbstractSingleBeanDefinitionParser {
ElementSupport.getChildElements(element, MetadataNamespaceHandler.METADATA_NODE_PROC_ELEMENT_NAME);
if (null != children && !children.isEmpty()) {
- builder.addPropertyValue("nodeProcessors", SpringSupport.parseCustomElements(children, parserContext));
+ builder.addPropertyValue("nodeProcessors",
+ SpringSupport.parseCustomElements(children, parserContext, builder));
}
}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
index c82a959..297d6e4 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/SignatureValidationParser.java
@@ -117,7 +117,8 @@ public class SignatureValidationParser extends AbstractSingleBeanDefinitionParse
.getDescription());
throw new BeanCreationException("Too many <TrustEngine>s");
}
- final ManagedList<BeanDefinition> engines = SpringSupport.parseCustomElements(trustEngines, parserContext);
+ final ManagedList<BeanDefinition> engines =
+ SpringSupport.parseCustomElements(trustEngines, parserContext, builder);
builder.addConstructorArgValue(engines.get(0));
} else {
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ChainingMetadataProviderParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ChainingMetadataProviderParser.java
index 82e0bab..4157535 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ChainingMetadataProviderParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ChainingMetadataProviderParser.java
@@ -46,6 +46,7 @@ public class ChainingMetadataProviderParser extends AbstractMetadataProviderPars
final List<Element> childProviders =
ElementSupport.getChildElements(element, MetadataNamespaceHandler.METADATA_ELEMENT_NAME);
- builder.addPropertyValue("resolvers", SpringSupport.parseCustomElements(childProviders, parserContext));
+ builder.addPropertyValue("resolvers",
+ SpringSupport.parseCustomElements(childProviders, parserContext, builder));
}
}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
index 255910c..00470ba 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
@@ -123,7 +123,7 @@ public final class HTTPMetadataProvidersParserSupport {
return null;
}
builder.addPropertyValue("tLSTrustEngine",
- SpringSupport.parseCustomElement(trustEngine, parserContext, builder));
+ SpringSupport.parseCustomElement(trustEngine, parserContext, builder, false));
}
return builder.getBeanDefinition();
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractChainingParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractChainingParser.java
index eb66caa..2519cc5 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractChainingParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractChainingParser.java
@@ -49,7 +49,7 @@ public abstract class AbstractChainingParser extends AbstractTrustEngineParser {
final List<BeanMetadataElement> allChildren = new ManagedList<>(childEngines.size()+ childEngineRefs.size());
- allChildren.addAll(SpringSupport.parseCustomElements(childEngines, parserContext));
+ allChildren.addAll(SpringSupport.parseCustomElements(childEngines, parserContext, builder));
for (final Element ref:childEngineRefs) {
final String reference = StringSupport.trimOrNull(ref.getAttributeNS(null, "ref"));
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractStaticPKIXParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractStaticPKIXParser.java
index a2b3191..544b5a2 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractStaticPKIXParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/AbstractStaticPKIXParser.java
@@ -66,8 +66,10 @@ public abstract class AbstractStaticPKIXParser extends AbstractTrustEngineParser
final BeanDefinitionBuilder builder =
BeanDefinitionBuilder.genericBeanDefinition(StaticPKIXValidationInformationResolver.class);
- builder.addConstructorArgValue(SpringSupport.parseCustomElements(validationInfoElements, parserContext));
- builder.addConstructorArgValue(SpringSupport.getElementTextContentAsManagedList(trustedNameElements));
+ builder.addConstructorArgValue(
+ SpringSupport.parseCustomElements(validationInfoElements, parserContext, builder));
+ builder.addConstructorArgValue(
+ SpringSupport.getElementTextContentAsManagedList(trustedNameElements));
return builder.getBeanDefinition();
}
@@ -90,7 +92,8 @@ public abstract class AbstractStaticPKIXParser extends AbstractTrustEngineParser
ElementSupport.getChildElements(element, PKIXValidationOptionsParser.ELEMENT_NAME);
if (null != validationOptionsElements && !validationOptionsElements.isEmpty()) {
- builder.addConstructorArgValue(SpringSupport.parseCustomElements(validationOptionsElements, parserContext));
+ builder.addConstructorArgValue(
+ SpringSupport.parseCustomElements(validationOptionsElements, parserContext, builder));
}
return builder.getBeanDefinition();
}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeyParser.java
index c79dd8b..b2334a5 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeyParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeyParser.java
@@ -56,7 +56,7 @@ public class StaticExplicitKeyParser extends AbstractTrustEngineParser {
final BeanDefinitionBuilder resolver =
BeanDefinitionBuilder.genericBeanDefinition(StaticCredentialResolver.class);
- resolver.addConstructorArgValue(SpringSupport.parseCustomElements(credentials, parserContext));
+ resolver.addConstructorArgValue(SpringSupport.parseCustomElements(credentials, parserContext, resolver));
builder.addConstructorArgValue(resolver.getBeanDefinition());
}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeySignatureParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeySignatureParser.java
index f6e6025..11cecd9 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeySignatureParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/trustengine/impl/StaticExplicitKeySignatureParser.java
@@ -57,7 +57,7 @@ public class StaticExplicitKeySignatureParser extends AbstractTrustEngineParser
final BeanDefinitionBuilder resolver =
BeanDefinitionBuilder.genericBeanDefinition(StaticCredentialResolver.class);
- resolver.addConstructorArgValue(SpringSupport.parseCustomElements(credentials, parserContext));
+ resolver.addConstructorArgValue(SpringSupport.parseCustomElements(credentials, parserContext, resolver));
builder.addConstructorArgValue(resolver.getBeanDefinition());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list