[java-shib-attribute] branch main updated: IDP-2159 - Expose LDAP reconnect properties
Daniel Fisher
dfisher at vt.edu
Mon Aug 21 12:54:53 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=52495247b0a9b807b38f7bc2dfff9faa5eff2184
The following commit(s) were added to refs/heads/main by this push:
new 52495247b IDP-2159 - Expose LDAP reconnect properties
52495247b is described below
commit 52495247b0a9b807b38f7bc2dfff9faa5eff2184
Author: Daniel Fisher <dfisher at vt.edu>
AuthorDate: Mon Aug 21 08:26:12 2023 -0400
IDP-2159 - Expose LDAP reconnect properties
https://shibboleth.atlassian.net/browse/IDP-2159
Update schema and parser to consume autoReconnect and reconnectTimeout.
---
.../spring/dc/ldap/impl/LDAPDataConnectorParser.java | 11 +++++++++++
.../schema/shibboleth-attribute-resolver.xsd | 19 ++++++++++++++++++-
.../resolver/spring/dc/ldap/ldap-v2.properties | 2 ++
.../resolver/ldap-attribute-resolver-v2-props.xml | 2 ++
4 files changed, 33 insertions(+), 1 deletion(-)
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 ddefdaa58..feb8b2aaa 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
@@ -242,6 +242,9 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
AttributeSupport.getAttributeValue(configElement, new QName("connectTimeout"));
final String responseTimeout =
AttributeSupport.getAttributeValue(configElement, new QName("responseTimeout"));
+ final String autoReconnect = AttributeSupport.getAttributeValue(configElement, new QName("autoReconnect"));
+ final String reconnectTimeout =
+ AttributeSupport.getAttributeValue(configElement, new QName("reconnectTimeout"));
final BeanDefinitionBuilder connectionConfig =
BeanDefinitionBuilder.genericBeanDefinition(ConnectionConfig.class);
@@ -264,6 +267,14 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
} else {
connectionConfig.addPropertyValue("responseTimeout", Duration.ofSeconds(3));
}
+ if (autoReconnect != null) {
+ connectionConfig.addPropertyValue("autoReconnect", autoReconnect);
+ }
+ if (reconnectTimeout != null) {
+ connectionConfig.addPropertyValue("reconnectTimeout", reconnectTimeout);
+ } else {
+ connectionConfig.addPropertyValue("reconnectTimeout", Duration.ofSeconds(10));
+ }
final BeanDefinitionBuilder sslConfig = BeanDefinitionBuilder.genericBeanDefinition(SslConfig.class);
final String disableHostnameVerification =
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 f3d786277..b297984f1 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
@@ -961,6 +961,23 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="autoReconnect" type="resolver:string">
+ <annotation>
+ <documentation>
+ A boolean flag indicating whether unexpectedly closed connections should automatically attempt to reconnect.
+ Default value is true.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="reconnectTimeout" type="resolver:string">
+ <annotation>
+ <documentation>
+ The maximum amount of time to wait for a reconnect to occur. If this limit is
+ reached a timeout error is raised. Default value is 10 seconds.
+ Time is expressed in ISO8601 duration format.
+ </documentation>
+ </annotation>
+ </attribute>
<attribute name="maxResultSize" type="resolver:string">
<annotation>
<documentation>
@@ -1800,7 +1817,7 @@
<attribute name="mechanism" type="resolver:string">
<annotation>
<documentation>
- The SASL mechanism. Common values values are EXTERNAL, DIGEST_MD5, CRAM_MD5, GSSAPI
+ The SASL mechanism. Common values are EXTERNAL, DIGEST_MD5, CRAM_MD5, GSSAPI
</documentation>
</annotation>
</attribute>
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 c5acd983d..93df51067 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
@@ -6,6 +6,8 @@ connectionConfig.responseTimeout=PT4S
connectionConfig.bindDn=cn=Directory Manager
connectionConfig.bindCredential=password
connectionConfig.connectStrategy=RANDOM
+connectionConfig.autoReconnect=true
+connectionConfig.reconnectTimeout=PT8S
connectionConfig.failFastInitialize=false
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-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 a3b84bf14..671e9ea2e 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
@@ -17,6 +17,8 @@
connectTimeout="%{connectionConfig.connectTimeout}"
connectionStrategy="%{connectionConfig.connectStrategy}"
responseTimeout="%{connectionConfig.responseTimeout}"
+ autoReconnect="%{connectionConfig.autoReconnect}"
+ reconnectTimeout="%{connectionConfig.reconnectTimeout}"
failFastInitialize="%{connectionConfig.failFastInitialize}">
<FilterTemplate>
<![CDATA[
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list