[java-shib-attribute] branch main updated: IDP-2102 update ldaptive to v2.1.2

Daniel Fisher dfisher at vt.edu
Mon May 15 13:44:42 UTC 2023


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

dfisher 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=9b21c4ef6d365268a8c0ba231f4d514e4e908d9c

The following commit(s) were added to refs/heads/main by this push:
     new 9b21c4ef6 IDP-2102 update ldaptive to v2.1.2
9b21c4ef6 is described below

commit 9b21c4ef6d365268a8c0ba231f4d514e4e908d9c
Author: Daniel Fisher <dfisher at vt.edu>
AuthorDate: Sun May 14 23:58:26 2023 -0400

    IDP-2102 update ldaptive to v2.1.2
    
    Add new configuration property for startTLSTimeout.
    https://shibboleth.atlassian.net/browse/IDP-2102
---
 .../resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java    | 7 +++++++
 .../main/resources/schema/shibboleth-attribute-resolver-dc.xsd   | 9 +++++++++
 .../src/main/resources/schema/shibboleth-attribute-resolver.xsd  | 9 +++++++++
 .../spring/dc/ldap/ldap-attribute-resolver-spring-context.xml    | 4 ++--
 .../idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties     | 1 +
 .../idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties     | 1 +
 .../dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml       | 2 +-
 .../spring/dc/ldap/resolver/ldap-attribute-resolver-v2-multi.xml | 1 +
 .../spring/dc/ldap/resolver/ldap-attribute-resolver-v2-nosec.xml | 1 +
 .../spring/dc/ldap/resolver/ldap-attribute-resolver-v2-props.xml | 1 +
 .../spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml       | 1 +
 11 files changed, 34 insertions(+), 3 deletions(-)

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 87bbbf956..6a9ef0816 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
@@ -236,6 +236,8 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
         @Nonnull public BeanDefinition createConnectionConfig(@Nonnull final ParserContext parserContext) {
             final String url = AttributeSupport.getAttributeValue(configElement, new QName("ldapURL"));
             final String useStartTLS = AttributeSupport.getAttributeValue(configElement, new QName("useStartTLS"));
+            final String startTLSTimeout =
+                    AttributeSupport.getAttributeValue(configElement, new QName("startTLSTimeout"));
             final String principal = AttributeSupport.getAttributeValue(configElement, new QName("principal"));
             final String principalCredential =
                     AttributeSupport.getAttributeValue(configElement, new QName("principalCredential"));
@@ -250,6 +252,11 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
             if (useStartTLS != null) {
                 connectionConfig.addPropertyValue("useStartTLS", useStartTLS);
             }
+            if (startTLSTimeout != null) {
+                connectionConfig.addPropertyValue("startTLSTimeout", startTLSTimeout);
+            } else {
+                connectionConfig.addPropertyValue("startTLSTimeout", Duration.ofSeconds(3));
+            }
             if (connectTimeout != null) {
                 connectionConfig.addPropertyValue("connectTimeout", connectTimeout);
             } else {
diff --git a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd
index ae73da9cc..9a23c495f 100644
--- a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd
+++ b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd
@@ -619,6 +619,15 @@
                         </documentation>
                     </annotation>
                 </attribute>
+                <attribute name="startTLSTimeout" type="string">
+                    <annotation>
+                        <documentation>
+                            The maximum amount of time to wait for startTLS responses. If this limit is
+                            reached a timeout error is raised. Default value is 3 seconds.
+                            Time is expressed in ISO8601 duration format.
+                        </documentation>
+                    </annotation>
+                </attribute>
                 <attribute name="poolInitialSize" type="string">
                     <annotation>
                         <documentation>
diff --git a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index 8a57d8433..d03c8f5d4 100644
--- a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -925,6 +925,15 @@
                         </documentation>
                     </annotation>
                 </attribute>
+                <attribute name="startTLSTimeout" type="resolver:string">
+                    <annotation>
+                        <documentation>
+                            The maximum amount of time to wait for startTLS responses. If this limit is
+                            reached a timeout error is raised. Default value is 3 seconds.
+                            Time is expressed in ISO8601 duration format.
+                        </documentation>
+                    </annotation>
+                </attribute>
                 <attribute name="searchTimeLimit" type="resolver:string">
                     <annotation>
                         <documentation>
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
index adf2409d4..23f77319a 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
@@ -12,7 +12,7 @@
         <property name="connectionConfig">
             <bean class="org.ldaptive.ConnectionConfig" p:ldapUrl="ldap://localhost:10389"
                   p:useStartTLS="true"
-                  p:connectTimeout="PT2S" p:responseTimeout="PT4S">
+                  p:startTLSTimeout="PT2S" p:connectTimeout="PT2S" p:responseTimeout="PT4S">
                 <property name="connectionInitializers">
                     <bean class="org.ldaptive.BindConnectionInitializer" p:bindDn="cn=Directory Manager"
                           p:bindCredential="password" />
@@ -63,4 +63,4 @@
     </bean>
     <bean id="validator" class="net.shibboleth.idp.attribute.resolver.dc.ldap.impl.ConnectionFactoryValidator"
         p:throwValidateError="false" />
-</beans>
\ No newline at end of file
+</beans>
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties
index 949294546..c5acd983d 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties
@@ -1,5 +1,6 @@
 connectionConfig.ldapURL=ldap://localhost:10389
 connectionConfig.useStartTLS=true
+connectionConfig.startTLSTimeout=PT2S
 connectionConfig.connectTimeout=PT2S
 connectionConfig.responseTimeout=PT4S
 connectionConfig.bindDn=cn=Directory Manager
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties
index 12291bfcc..a9eaddec7 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties
@@ -1,5 +1,6 @@
 connectionConfig.ldapURL=ldap://localhost:10389
 connectionConfig.useStartTLS=true
+connectionConfig.startTLSTimeout=PT2S
 connectionConfig.connectTimeout=PT2S
 connectionConfig.responseTimeout=PT4S
 connectionConfig.bindDn=cn=Directory Manager
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml
index 7f3020e92..c9281c9df 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml
@@ -6,7 +6,7 @@
         baseDN="ou=people,dc=shibboleth,dc=net" principal="cn=Directory Manager" principalCredential="password"
         useStartTLS="true" disableHostnameVerification="true" searchTimeLimit="PT7S"
         executableSearchBuilderRef="filter" mappingStrategyRef="mappings" validatorRef="validator" noRetryDelay="PT5M"
-        connectTimeout="PT2S" responseTimeout="PT4S" failFastInitialize="false">
+        startTLSTimeout="PT2S" connectTimeout="PT2S" responseTimeout="PT4S" failFastInitialize="false">
         <StartTLSTrustCredential xsi:type="security:X509Inline" xmlns:security="urn:mace:shibboleth:2.0:security"
             id="LDAPtoIdPCredential">
             <security:Certificate>
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-multi.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-multi.xml
index 41b1a5bd3..08036d19c 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-multi.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-multi.xml
@@ -9,6 +9,7 @@
         principal="cn=Directory Manager"
         principalCredential="password"
         useStartTLS="true"
+        startTLSTimeout="PT2S"
         executableSearchBuilderRef="filter" mappingStrategyRef="mappings" validatorRef="validator" noRetryDelay="PT5M"
         searchTimeLimit="PT7S"
         noResultIsError="true"
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-nosec.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-nosec.xml
index a0a8e61bc..a900b3669 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-nosec.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-nosec.xml
@@ -9,6 +9,7 @@
         principal="cn=Directory Manager"
         principalCredential="password"
         useStartTLS="true"
+        startTLSTimeout="PT2S"
         searchTimeLimit="PT7S"
         noResultIsError="true"
         multipleResultsIsError="true"
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-props.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-props.xml
index d50bb0f8f..a3b84bf14 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-props.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-props.xml
@@ -9,6 +9,7 @@
         principal="%{connectionConfig.bindDn}"
         principalCredential="%{connectionConfig.bindCredential}"
         useStartTLS="%{connectionConfig.useStartTLS}"
+        startTLSTimeout="%{connectionConfig.startTLSTimeout}"
         searchTimeLimit="%{search.timeLimit}"
         noResultIsError="%{noResultIsError}"
         multipleResultsIsError="%{multipleResultsIsError}"
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
index 80f284a1c..3e7456cf7 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
@@ -10,6 +10,7 @@
         principalCredential="password"
         failFastInitialize="false"
         useStartTLS="true"
+        startTLSTimeout="PT2S"
         searchTimeLimit="PT7S"
         noResultIsError="true"
         multipleResultsIsError="true"

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


More information about the commits mailing list