[java-shib-attribute] branch main updated: JSATTR-20 failFastInitialize default is inconsistent for LDAP

Rod Widdowson rdw at steadingsoftware.com
Sat Jan 6 14:11:52 UTC 2024


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch main
in repository java-shib-attribute.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=97b3758c5e4d174553b537ac77364ffb96c1bbc5

The following commit(s) were added to refs/heads/main by this push:
     new 97b3758c5 JSATTR-20 failFastInitialize default is inconsistent for LDAP
97b3758c5 is described below

commit 97b3758c5e4d174553b537ac77364ffb96c1bbc5
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Jan 6 13:29:45 2024 +0000

    JSATTR-20 failFastInitialize default is inconsistent for LDAP
    
    https://shibboleth.atlassian.net/browse/JSATTR-20
    
    Explictly wire up default for failFastInitialize across all relevant parsers.
    Moves the default value into a single constant in AbstractDataConnectorParser
---
 .../idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java | 4 +++-
 .../resolver/spring/dc/http/impl/HTTPDataConnectorParser.java         | 4 +++-
 .../resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java         | 4 ++++
 .../resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java       | 4 +++-
 .../resolver/spring/dc/ldap/impl/LDAPDataConnectorParserTest.java     | 3 ++-
 5 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index 45abe10b5..84908b083 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -59,6 +59,8 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
      */
     @Nonnull @NotEmpty public static final String ATTR_FAIL_FAST = "failFastInitialize";
 
+    public static final Boolean FAIL_FAST_DEFAULT = false;
+
     /** Failover data connector attribute name. */
     @Nonnull public static final QName FAILOVER_DATA_CONNECTOR_ELEMENT_NAME = new QName(
             AttributeResolverNamespaceHandler.NAMESPACE, "FailoverDataConnector");
@@ -107,4 +109,4 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
         assert result != null;
         return result;
     }
-}
\ No newline at end of file
+}
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
index ef54916b2..42d7b3322 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
@@ -76,6 +76,8 @@ public class HTTPDataConnectorParser extends AbstractDataConnectorParser {
             // LDAP, Relational & HTTP only, limited in the schema
             builder.addPropertyValue("failFastInitialize",
                     StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
+        } else {
+            builder.addPropertyValue("failFastInitialize", FAIL_FAST_DEFAULT);
         }
 
         final V2Parser v2Parser = new V2Parser(config, getLogPrefix());
@@ -483,4 +485,4 @@ public class HTTPDataConnectorParser extends AbstractDataConnectorParser {
         }
     }
     
-}
\ No newline at end of file
+}
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index 98c0db833..b644371a1 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -128,6 +128,8 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
             // LDAP, Relational & HTTP only, limited in the schema
             builder.addPropertyValue("failFastInitialize", 
                     StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
+        } else {
+            builder.addPropertyValue("failFastInitialize", FAIL_FAST_DEFAULT);
         }
         
         final V2Parser v2Parser = new V2Parser(config, getLogPrefix());
@@ -651,6 +653,8 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
             if (configElement.hasAttributeNS(null, ATTR_FAIL_FAST)) {
                 connectionFactory.addPropertyValue("failFastInitialize",
                         StringSupport.trimOrNull(configElement.getAttributeNS(null, ATTR_FAIL_FAST)));
+            } else {
+                connectionFactory.addPropertyValue("failFastInitialize", FAIL_FAST_DEFAULT);
             }
             connectionFactory.setInitMethodName("initialize");
             connectionFactory.setDestroyMethodName("close");
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
index d8f7589b9..629095d3f 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
@@ -71,6 +71,8 @@ public class RDBMSDataConnectorParser extends AbstractDataConnectorParser {
             // LDAP, Relational & HTTP only, limited in the schema
             builder.addPropertyValue("failFastInitialize",
                     StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
+        } else {
+            builder.addPropertyValue("failFastInitialize", FAIL_FAST_DEFAULT);
         }
 
         final String dataSourceID = ManagedConnectionParser.getBeanDataSourceID(config);
@@ -297,4 +299,4 @@ public class RDBMSDataConnectorParser extends AbstractDataConnectorParser {
         }
     }
     
-}
\ No newline at end of file
+}
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParserTest.java
index 82875a4de..37c39852a 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParserTest.java
@@ -265,7 +265,8 @@ public class LDAPDataConnectorParserTest {
         // note that pooled connection factories have a validator by default
         assertNotNull(connFactory.getValidator());
         assertEquals(connFactory.getValidator().getValidatePeriod(), Duration.ofMinutes(30));
-        assertTrue(connFactory.getFailFastInitialize());
+	// .... but that we align the failfast with our default
+        assertFalse(connFactory.getFailFastInitialize());
 
         final IdlePruneStrategy pruneStrategy = (IdlePruneStrategy) connFactory.getPruneStrategy();
         assertNotNull(pruneStrategy);

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


More information about the commits mailing list