[java-shib-attribute] branch main updated: JSATTR-9 Deprecations in LDAP Data Connector
Rod Widdowson
rdw at steadingsoftware.com
Thu Dec 1 15:02:51 UTC 2022
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=57bbdbf5fc72d1a83cfd7ea2f4ef76618377b3eb
The following commit(s) were added to refs/heads/main by this push:
new 57bbdbf5f JSATTR-9 Deprecations in LDAP Data Connector
57bbdbf5f is described below
commit 57bbdbf5fc72d1a83cfd7ea2f4ef76618377b3eb
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Dec 1 15:00:43 2022 +0000
JSATTR-9 Deprecations in LDAP Data Connector
https://shibboleth.atlassian.net/browse/JSATTR-9
<LDAPProperty/>
blockWhenEmpty="bool" (in <ConnectionPool/>)
connectionStrategy="DEFAULT”
authenticationType="..."
Have all been removed
---
.../dc/ldap/impl/LDAPDataConnectorParser.java | 61 ++--------------------
.../schema/shibboleth-attribute-resolver.xsd | 27 ----------
.../dc/ldap/impl/LDAPDataConnectorParserTest.java | 24 ---------
...ap-attribute-resolver-v2-authenticationType.xml | 19 -------
4 files changed, 4 insertions(+), 127 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 facd9b633..dc75fc2c5 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
@@ -70,8 +70,8 @@ import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamesp
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.DeprecationSupport;
-import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.util.SpringSupport;
import net.shibboleth.shared.xml.AttributeSupport;
import net.shibboleth.shared.xml.ElementSupport;
@@ -128,23 +128,6 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
super.doParse(config, parserContext, builder);
log.debug("{} Parsing XML configuration {}", getLogPrefix(), config);
- // V4 Deprecation
- final List<Element> oldProperties = ElementSupport.getChildElementsByTagNameNS(config,
- AttributeResolverNamespaceHandler.NAMESPACE, "LDAPProperty");
- for (final Element oldProperty : oldProperties) {
- final String oldPropName = oldProperty.getAttributeNS(null, "name");
- if ("com.sun.jndi.ldap.connect.timeout".equals(oldPropName)) {
- DeprecationSupport.warn(ObjectType.ELEMENT, "LDAPProperty " + oldPropName, "LDAPConnector",
- "LDAPConnector/@connectTimeout");
- } else if ("com.sun.jndi.ldap.read.timeout".equals(oldPropName)) {
- DeprecationSupport.warn(ObjectType.ELEMENT, "LDAPProperty " + oldPropName, "LDAPConnector",
- "LDAPConnector/@responseTimeout");
- } else {
- DeprecationSupport.warn(ObjectType.ELEMENT, "LDAPProperty " + oldPropName, "LDAPConnector",
- "(replacement depends on property)");
- }
- }
-
if (config.hasAttributeNS(null, ATTR_FAIL_FAST)) {
// LDAP, Relational & HTTP only, limited in the schema
builder.addPropertyValue("failFastInitialize",
@@ -264,8 +247,6 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
final String principal = AttributeSupport.getAttributeValue(configElement, new QName("principal"));
final String principalCredential =
AttributeSupport.getAttributeValue(configElement, new QName("principalCredential"));
- final String authenticationType =
- AttributeSupport.getAttributeValue(configElement, new QName("authenticationType"));
final String connectTimeout =
AttributeSupport.getAttributeValue(configElement, new QName("connectTimeout"));
final String responseTimeout =
@@ -311,31 +292,9 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
credential.addConstructorArgValue(principalCredential);
connectionInitializer.addPropertyValue("bindCredential", credential.getBeanDefinition());
}
- BeanDefinition saslConfig = null;
- if (authenticationType != null) {
- // V4 Deprecation
- DeprecationSupport.warn(ObjectType.ATTRIBUTE, "authenticationType", "<LDAPDirectory>",
- "<SASLConfig>");
- final Mechanism mechanism = Mechanism.valueOf(authenticationType);
- if ("ANONYMOUS".equals(authenticationType)) {
- LOG.warn("{} Ignoring unsupported authenticationType {}. " +
- "Do not set bind credentials for anonymous authentication", getLogPrefix(), mechanism);
- } else if ("STRONG".equals(authenticationType)) {
- LOG.warn("{} Ignoring unsupported authenticationType {}.", getLogPrefix(), mechanism);
- } else if ("SIMPLE".equals(authenticationType)) {
- LOG.warn("{} Ignoring unsupported authenticationType {}. " +
- "Set bind credentials for simple authentication", getLogPrefix(), mechanism);
- } else {
- final BeanDefinitionBuilder saslConfigBuilder =
- BeanDefinitionBuilder.rootBeanDefinition(V2Parser.class, "buildSaslConfig");
- saslConfigBuilder.addConstructorArgValue(authenticationType);
- saslConfig = saslConfigBuilder.getBeanDefinition();
- connectionInitializer.addPropertyValue("bindSaslConfig", saslConfig);
- }
- } else {
- saslConfig = createSaslConfig();
- connectionInitializer.addPropertyValue("bindSaslConfig", saslConfig);
- }
+ final BeanDefinition saslConfig = createSaslConfig();
+ connectionInitializer.addPropertyValue("bindSaslConfig", saslConfig);
+
if (principal != null || principalCredential != null || saslConfig != null) {
connectionConfig.addPropertyValue("connectionInitializers", connectionInitializer.getBeanDefinition());
}
@@ -620,12 +579,6 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
return null;
}
- if (poolConfigElement.hasAttributeNS(null, "blockWhenEmpty")) {
- // V4 Deprecation
- DeprecationSupport.warn(ObjectType.ATTRIBUTE, "blockWhenEmpty", "<ConnectionPool>",
- "(none), will be ignored");
- }
-
final String blockWaitTime =
AttributeSupport.getAttributeValue(poolConfigElement, new QName("blockWaitTime"));
final String expirationTime =
@@ -991,12 +944,6 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
case "ACTIVE_PASSIVE":
return new ActivePassiveConnectionStrategy();
- case "DEFAULT":
- // V4 Deprecation
- DeprecationSupport.warn(ObjectType.CONFIGURATION, "connectionStrategy=DEFAULT", "LDAP Connector",
- "ACTIVE_PASSIVE");
- return new ActivePassiveConnectionStrategy();
-
default:
LOG.warn("Unexpected connectionStrategy {}", connectionStrategy);
return new ActivePassiveConnectionStrategy();
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 8a840fd9c..b90a99fb7 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
@@ -826,13 +826,6 @@
</documentation>
</annotation>
</element>
- <element name="LDAPProperty" type="resolver:PropertyType"> <!-- Deprecated - Remove in V5. -->
- <annotation>
- <documentation>
- DEPRECATED: LDAP connection properties relevant to the underlying provider being used.
- </documentation>
- </annotation>
- </element>
<element name="StartTLSTrustCredential" type="sec:X509Credential">
<annotation>
<documentation>
@@ -892,15 +885,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="authenticationType" type="resolver:string">
- <annotation>
- <documentation>
- DEPRECATED
- The LDAP authentication type. Acceptable values are ANONYMOUS, SIMPLE, STRONG, EXTERNAL, DIGEST_MD5, CRAM_MD5, GSSAPI.
- Default value is SIMPLE.
- </documentation>
- </annotation>
- </attribute>
<attribute name="searchScope" type="resolver:string">
<annotation>
<documentation>
@@ -1817,17 +1801,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="blockWhenEmpty" type="resolver:string"> <!-- Deprecated - Remove in V5 -->
- <annotation>
- <documentation>
- DEPRECATED
- Whether the pool should block when maxPoolSize objects are in use.
- If false, pool will grow beyond the maxPoolSize value.
- Note that a properly configured blocking pool will yield better performance.
- Default value is true.
- </documentation>
- </annotation>
- </attribute>
<attribute name="blockWaitTime" type="resolver:string">
<annotation>
<documentation>
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 7e8ac5ab0..d1ab8e980 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
@@ -365,30 +365,6 @@ public class LDAPDataConnectorParserTest {
assertEquals(saslConfig.getRealm(), "shibboleth.net");
}
- @Test public void v2AuthenticationTypeConfig() throws Exception {
- final LDAPDataConnector dataConnector =
- getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-authenticationType.xml"});
- assertNotNull(dataConnector);
- assertTrue(dataConnector.isFailFastInitialize());
- assertEquals(dataConnector.getNoRetryDelay(), Duration.ZERO);
-
- final DefaultConnectionFactory connFactory = (DefaultConnectionFactory) dataConnector.getConnectionFactory();
- assertNotNull(connFactory);
- final ConnectionConfig connConfig = connFactory.getConnectionConfig();
- assertNotNull(connConfig);
- final BindConnectionInitializer connInitializer = (BindConnectionInitializer) connConfig.getConnectionInitializers()[0];
- assertNotNull(connInitializer);
- assertEquals(connInitializer.getBindDn(), "manager at shibboleth.net");
- assertEquals(connInitializer.getBindCredential().getString(), "password");
- final SaslConfig saslConfig = connInitializer.getBindSaslConfig();
- assertNotNull(saslConfig);
- assertEquals(saslConfig.getMechanism(), Mechanism.DIGEST_MD5);
- assertNull(saslConfig.getAuthorizationId());
- assertNull(saslConfig.getMutualAuthentication());
- assertNull(saslConfig.getQualityOfProtection());
- assertNull(saslConfig.getSecurityStrength());
- }
-
@Test public void v2ReferralConfig() throws Exception {
final LDAPDataConnector dataConnector =
getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-referral.xml"});
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-authenticationType.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-authenticationType.xml
deleted file mode 100644
index 01ba1c5b1..000000000
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-authenticationType.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<AttributeResolver
- xmlns="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
-
- <DataConnector id="myLDAP" xsi:type="LDAPDirectory"
- ldapURL="ldap://localhost:10389"
- principal="manager at shibboleth.net"
- failFastInitialize="true"
- principalCredential="password"
- authenticationType="DIGEST_MD5">
- <FilterTemplate>
- <![CDATA[
- (uid=${resolutionContext.principal})
- ]]>
- </FilterTemplate>
- </DataConnector>
-
-</AttributeResolver>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list