[java-identity-provider] 03/05: IDP-1375 <sec:TrustEngine> is allowed to be a child of<metadata:TLSTrustEngine>

Rod Widdowson rdw at steadingsoftware.com
Mon Mar 4 08:33:17 EST 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=63c4d6e5d9798f5da4d640d8155807ad1551847c

commit 63c4d6e5d9798f5da4d640d8155807ad1551847c
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Mar 4 13:12:17 2019 +0000

    IDP-1375 <sec:TrustEngine> is allowed to be a child of<metadata:TLSTrustEngine>
    
    https://issues.shibboleth.net/jira/browse/IDP-1375
---
 .../security/impl/AbstractWarningSecurityParser.java  | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/impl/AbstractWarningSecurityParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/impl/AbstractWarningSecurityParser.java
index 5e4d51f..5573d6c 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/impl/AbstractWarningSecurityParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/security/impl/AbstractWarningSecurityParser.java
@@ -26,12 +26,13 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.HTTPMetadataProvidersParserSupport;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
 /**
  * Base class to issue a deprecation warning on activation.
- * @deprecated remove all super classes in V4. 
+ * @deprecated remove all super classes in V4.
  */
 @Deprecated
 public class AbstractWarningSecurityParser extends AbstractSingleBeanDefinitionParser {
@@ -40,24 +41,28 @@ public class AbstractWarningSecurityParser extends AbstractSingleBeanDefinitionP
      * @param element what to inspect
      * @return if it is.
      */
-    private boolean isDescendantOfSignatureFilter(final Element element) {
+    private boolean isAllowedDescendant(final Element element) {
         final Node parent = element.getParentNode();
         if ((null == parent)||!(parent instanceof Element)) {
             return false;
         }
         if (AbstractMetadataProviderParser.SECURITY_NAMESPACE.equals(parent.getNamespaceURI())) {
-            return isDescendantOfSignatureFilter((Element) parent);
+            return isAllowedDescendant((Element) parent);
         }
         final QName filterQname = AbstractMetadataProviderParser.METADATA_FILTER_ELEMENT_NAME;
-        return filterQname.getNamespaceURI().equals(parent.getNamespaceURI())&&
-                filterQname.getLocalPart().equals(parent.getLocalName());
+        final QName trustEngineQname = HTTPMetadataProvidersParserSupport.TLS_TRUST_ENGINE_ELEMENT_NAME;
+        
+        return (filterQname.getNamespaceURI().equals(parent.getNamespaceURI()) &&
+                filterQname.getLocalPart().equals(parent.getLocalName())) ||
+               (trustEngineQname.getNamespaceURI().equals(parent.getNamespaceURI())&&
+                trustEngineQname.getLocalPart().equals(parent.getLocalName()));
     }
     
     /** {@inheritDoc} */
     @Override
     protected void doParse(final Element element, final BeanDefinitionBuilder builder) {
         
-        if (!isDescendantOfSignatureFilter(element)){
+        if (!isAllowedDescendant(element)){
             DeprecationSupport.warnOnce(ObjectType.ELEMENT, 
                     element.getPrefix() +":" + element.getLocalName(), null, null);
         }
@@ -68,7 +73,7 @@ public class AbstractWarningSecurityParser extends AbstractSingleBeanDefinitionP
     @Override
     protected void doParse(final Element element, final ParserContext parserContext, 
             final BeanDefinitionBuilder builder) {
-        if (!isDescendantOfSignatureFilter(element)){
+        if (!isAllowedDescendant(element)){
             DeprecationSupport.warnOnce(ObjectType.ELEMENT, element.getPrefix() +":" + element.getLocalName(), 
                 parserContext.getReaderContext().getResource().getDescription(), null);
         }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list