From 9e4f2aba042df34b753b119b91025948c0d698db Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Sat, 13 Oct 2012 09:16:20 +0000
Subject: [PATCH] OPENDJ-612: SDK: Race conditions installing client/server filter chains during connect/bind/accept
---
opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
index c24add4..c2f9743 100644
--- a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
+++ b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
@@ -30,6 +30,7 @@
import static com.forgerock.opendj.ldap.LDAPConstants.TYPE_AUTHENTICATION_SASL;
import java.io.IOException;
+import java.net.SocketAddress;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -615,13 +616,14 @@
* @param port
* @exception IOException
*/
- public synchronized void start(final int port) throws Exception {
+ public synchronized void start() throws Exception {
if (isRunning) {
return;
}
sslContext = new SSLContextBuilder().getSSLContext();
listener =
- new LDAPListener(port, getInstance(), new LDAPListenerOptions().setBacklog(4096));
+ new LDAPListener(TestCaseUtils.findFreeSocketAddress(), getInstance(),
+ new LDAPListenerOptions().setBacklog(4096));
isRunning = true;
}
@@ -635,4 +637,16 @@
listener.close();
isRunning = false;
}
+
+ /**
+ * Returns the socket address of the server.
+ *
+ * @return The socket address of the server.
+ */
+ public synchronized SocketAddress getSocketAddress() {
+ if (!isRunning) {
+ throw new IllegalStateException("Server is not running");
+ }
+ return listener.getSocketAddress();
+ }
}
--
Gitblit v1.10.0