You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2021/05/10 13:06:34 UTC
[directory-server] branch master updated: DIRSERVER-2329 -
Replication trust manager improvements (#43)
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-server.git
The following commit(s) were added to refs/heads/master by this push:
new 99c8e24 DIRSERVER-2329 - Replication trust manager improvements (#43)
99c8e24 is described below
commit 99c8e24f4d945ea6733cfdb6fd90b7c286ed8b23
Author: Colm O hEigeartaigh <co...@users.noreply.github.com>
AuthorDate: Mon May 10 14:06:25 2021 +0100
DIRSERVER-2329 - Replication trust manager improvements (#43)
---
.../server/ldap/replication/ReplicationTrustManager.java | 6 +++---
.../directory/server/ldap/replication/SyncReplConfiguration.java | 6 +++---
.../org/apache/directory/server/annotations/CreateConsumer.java | 9 ---------
.../directory/server/factory/ServerAnnotationProcessor.java | 1 +
4 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationTrustManager.java b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationTrustManager.java
index 2b62e86..108e07c 100644
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationTrustManager.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationTrustManager.java
@@ -62,9 +62,6 @@ public final class ReplicationTrustManager implements X509TrustManager
/** the X509 certificate parser */
private static X509CertParser parser = new X509CertParser();
- /** the singleton instance of this trust manager */
- private static final ReplicationTrustManager INSTANCE = new ReplicationTrustManager();
-
static
{
try
@@ -78,6 +75,9 @@ public final class ReplicationTrustManager implements X509TrustManager
}
}
+ /** the singleton instance of this trust manager */
+ private static final ReplicationTrustManager INSTANCE = new ReplicationTrustManager();
+
/**
* Creates a instance of ReplicationTrustManager
*/
diff --git a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java
index 0fb0641..7634b62 100644
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/SyncReplConfiguration.java
@@ -57,7 +57,7 @@ import org.apache.directory.ldap.client.api.NoVerificationTrustManager;
* <li>cookie : the replication cookie</li>
* <li>useTls : the connection uses TLS, defaults to true</li>
* <li>strictCertVerification : strictly verify the certificate, defaults to true</li>
- * <li>trustManager : the trustManager to use, defaults to @link{NoVerificationTrustManager}</li>
+ * <li>trustManager : the trustManager to use, defaults to @link{ReplicationTrustManager}</li>
* <li></li>
* </ul>
*
@@ -127,8 +127,8 @@ public class SyncReplConfiguration implements ReplicationConsumerConfig
/** flag to indicate the use of strict certificate verification, default is true */
private boolean strictCertVerification = true;
- /** the X509 certificate trust manager used, default value set to {@link NoVerificationTrustManager} */
- private X509TrustManager trustManager = new NoVerificationTrustManager();
+ /** the X509 certificate trust manager used, default value set to {@link ReplicationTrustManager} */
+ private X509TrustManager trustManager = ReplicationTrustManager.getInstance();
/** flag to indicate if this node is part of a MMR setup, default value is true */
private boolean mmrMode = true;
diff --git a/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateConsumer.java b/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateConsumer.java
index ec768a2..c01beef 100644
--- a/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateConsumer.java
+++ b/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateConsumer.java
@@ -30,7 +30,6 @@ import java.lang.annotation.Target;
import org.apache.directory.api.ldap.model.constants.LdapConstants;
import org.apache.directory.api.ldap.model.message.AliasDerefMode;
import org.apache.directory.api.ldap.model.message.SearchScope;
-import org.apache.directory.ldap.client.api.NoVerificationTrustManager;
/**
@@ -55,7 +54,6 @@ import org.apache.directory.ldap.client.api.NoVerificationTrustManager;
* <li>chaseReferrals : tells if we chase referrals, defaults to false</li>
* <li>useTls : the connection uses TLS, defaults to true</li>
* <li>strictCertVerification : strictly verify the certificate, defaults to true</li>
- * <li>trustManager : the trustManager to use, defaults to @link{NoVerificationTrustManager}</li>
* </ul>
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
@@ -208,11 +206,4 @@ public @interface CreateConsumer
*/
boolean strictCertVerification() default true;
-
- /**
- * The X509 certificate trust manager used, default value set to {@link NoVerificationTrustManager}
- *
- * @return The trust manager class
- */
- Class<?> trustManager() default NoVerificationTrustManager.class;
}
diff --git a/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java b/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java
index aa2016a..fd115d4 100644
--- a/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java
+++ b/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java
@@ -271,6 +271,7 @@ public final class ServerAnnotationProcessor
config.setUseTls( createConsumer.useTls() );
config.setBaseDn( createConsumer.baseDn() );
config.setRefreshInterval( createConsumer.refreshInterval() );
+ config.setStrictCertVerification( createConsumer.strictCertVerification() );
consumer.setConfig( config );