mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

coulbeck
25.31.2007 93098c5100c8885a112fffce64b3d5d6494135a7
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLAbandonOperation.java
@@ -86,7 +86,7 @@
    // Create and send an LDAP request to the server.
    ProtocolOp op = new AbandonRequestProtocolOp(abandonId);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    return abandonResponse;
  }
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLAddOperation.java
@@ -30,10 +30,8 @@
import java.util.ArrayList;
import java.util.List;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPAttribute;
@@ -106,12 +104,10 @@
    // Create and send the LDAP request to the server.
    ProtocolOp op = new AddRequestProtocolOp(dnStr, attributes);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and decode the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
         LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    AddResponseProtocolOp addOp = responseMessage.getAddResponseProtocolOp();
    int resultCode = addOp.getResultCode();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLCompareOperation.java
@@ -96,12 +96,10 @@
    // Create and send the LDAP compare request to the server.
    ProtocolOp op = new CompareRequestProtocolOp(dnStr, attrName, attrValue);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and decode the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
          LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    CompareResponseProtocolOp compareOp =
          responseMessage.getCompareResponseProtocolOp();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLDeleteOperation.java
@@ -91,12 +91,10 @@
    ASN1OctetString dnStr = new ASN1OctetString(deleteRequest.getDn());
    ProtocolOp op = new DeleteRequestProtocolOp(dnStr);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and decode the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
          LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    DeleteResponseProtocolOp delOp =
          responseMessage.getDeleteResponseProtocolOp();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLExtendedOperation.java
@@ -92,12 +92,10 @@
    // Create and send the LDAP request to the server.
    ProtocolOp op = new ExtendedRequestProtocolOp(requestName, asnValue);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and decode the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
          LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    ExtendedResponseProtocolOp extendedOp =
          responseMessage.getExtendedResponseProtocolOp();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLModifyDNOperation.java
@@ -105,12 +105,10 @@
    // Create and send the LDAP request to the server.
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and decode the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
         LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    ModifyDNResponseProtocolOp modDNOp =
         responseMessage.getModifyDNResponseProtocolOp();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLModifyOperation.java
@@ -129,12 +129,10 @@
    // Create and send the LDAP request to the server.
    ProtocolOp op = new ModifyRequestProtocolOp(dnStr, modifications);
    LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(), op);
    int numBytes = connection.getASN1Writer().writeElement(msg.encode());
    connection.getLDAPWriter().writeMessage(msg);
    // Read and parse the LDAP response from the server.
    ASN1Element element = connection.getASN1Reader().readElement();
    LDAPMessage responseMessage =
         LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
    LDAPMessage responseMessage = connection.getLDAPReader().readMessage();
    ModifyResponseProtocolOp modOp =
         responseMessage.getModifyResponseProtocolOp();
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/DSMLSearchOperation.java
@@ -163,16 +163,15 @@
      {
        LDAPMessage msg = new LDAPMessage(DSMLServlet.nextMessageID(),
                                          protocolOp);
        int numBytes = connection.getASN1Writer().writeElement(msg.encode());
        connection.getLDAPWriter().writeMessage(msg);
        byte opType;
        do
        {
          int resultCode = 0;
          String errorMessage = null;
          ASN1Element element = connection.getASN1Reader().readElement();
          LDAPMessage responseMessage = LDAPMessage.decode(
          ASN1Sequence.decodeAsSequence(element));
          LDAPMessage responseMessage =
               connection.getLDAPReader().readMessage();
          opType = responseMessage.getProtocolOpType();
          switch(opType)
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPAuthenticationHandler.java
@@ -56,11 +56,8 @@
import javax.security.sasl.Sasl;
import javax.security.sasl.SaslClient;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.BindRequestProtocolOp;
import org.opends.server.protocols.ldap.BindResponseProtocolOp;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
@@ -104,11 +101,11 @@
  // The bind DN for GSSAPI authentication.
  private ASN1OctetString gssapiBindDN;
  // The ASN.1 reader that will be used to read data from the server.
  private ASN1Reader reader;
  // The LDAP reader that will be used to read data from the server.
  private LDAPReader reader;
  // The ASN.1 writer that will be used to send data to the server.
  private ASN1Writer writer;
  // The LDAP writer that will be used to send data to the server.
  private LDAPWriter writer;
  // The atomic integer that will be used to obtain message IDs for request
  // messages.
@@ -152,20 +149,20 @@
   * for cases in which simple authentication will be used as it does not
   * require any particularly expensive processing.
   *
   * @param  reader         The ASN.1 reader that will be used to read data from
   * @param  reader         The LDAP reader that will be used to read data from
   *                        the server.
   * @param  writer         The ASN.1 writer that will be used to send data to
   * @param  writer         The LDAP writer that will be used to send data to
   *                        the server.
   * @param  hostName       The host name used to connect to the remote system
   *                        (fully-qualified if possible).
   * @param  nextMessageID  The atomic integer that will be used to obtain
   *                        message IDs for request messages.
   */
  public LDAPAuthenticationHandler(ASN1Reader reader, ASN1Writer writer,
  public LDAPAuthenticationHandler(LDAPReader reader, LDAPWriter writer,
                                   String hostName, AtomicInteger nextMessageID)
  {
    this.reader        = reader;
    this.writer        = writer;
    this.reader = reader;
    this.writer = writer;
    this.hostName      = hostName;
    this.nextMessageID = nextMessageID;
@@ -324,7 +321,7 @@
    try
    {
      writer.writeElement(bindRequestMessage.encode());
      writer.writeMessage(bindRequestMessage);
    }
    catch (IOException ioe)
    {
@@ -346,16 +343,14 @@
    LDAPMessage responseMessage;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -647,7 +642,7 @@
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (IOException ioe)
    {
@@ -671,16 +666,14 @@
    LDAPMessage responseMessage;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -920,7 +913,7 @@
    try
    {
      writer.writeElement(requestMessage1.encode());
      writer.writeMessage(requestMessage1);
    }
    catch (IOException ioe)
    {
@@ -944,17 +937,14 @@
    LDAPMessage responseMessage1;
    try
    {
      ASN1Element responseElement1 = reader.readElement();
      if (responseElement1 == null)
      responseMessage1 = reader.readMessage();
      if (responseMessage1 == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage1 =
           LDAPMessage.decode(responseElement1.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -1080,7 +1070,7 @@
    try
    {
      writer.writeElement(requestMessage2.encode());
      writer.writeMessage(requestMessage2);
    }
    catch (IOException ioe)
    {
@@ -1104,16 +1094,14 @@
    LDAPMessage responseMessage2;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage2 = reader.readMessage();
      if (responseMessage2 == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage2 = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -1547,7 +1535,7 @@
    try
    {
      writer.writeElement(requestMessage1.encode());
      writer.writeMessage(requestMessage1);
    }
    catch (IOException ioe)
    {
@@ -1571,17 +1559,14 @@
    LDAPMessage responseMessage1;
    try
    {
      ASN1Element responseElement1 = reader.readElement();
      if (responseElement1 == null)
      responseMessage1 = reader.readMessage();
      if (responseMessage1 == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage1 =
           LDAPMessage.decode(responseElement1.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -1876,7 +1861,7 @@
    try
    {
      writer.writeElement(requestMessage2.encode());
      writer.writeMessage(requestMessage2);
    }
    catch (IOException ioe)
    {
@@ -1900,16 +1885,14 @@
    LDAPMessage responseMessage2;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage2 = reader.readMessage();
      if (responseMessage2 == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage2 = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -2557,7 +2540,7 @@
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (IOException ioe)
    {
@@ -2581,16 +2564,14 @@
    LDAPMessage responseMessage;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -3180,7 +3161,7 @@
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (IOException ioe)
    {
@@ -3204,16 +3185,14 @@
    LDAPMessage responseMessage;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
@@ -3419,7 +3398,7 @@
      try
      {
        writer.writeElement(requestMessage.encode());
        writer.writeMessage(requestMessage);
      }
      catch (IOException ioe)
      {
@@ -3443,17 +3422,14 @@
      LDAPMessage responseMessage;
      try
      {
        ASN1Element responseElement = reader.readElement();
        if (responseElement == null)
        responseMessage = reader.readMessage();
        if (responseMessage == null)
        {
          int msgID = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
          String message = getMessage(msgID);
          throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                    msgID, message);
        }
        responseMessage =
             LDAPMessage.decode(responseElement.decodeAsSequence());
      }
      catch (IOException ioe)
      {
@@ -3605,7 +3581,7 @@
          try
          {
            writer.writeElement(requestMessage.encode());
            writer.writeMessage(requestMessage);
          }
          catch (IOException ioe)
          {
@@ -3628,8 +3604,8 @@
          // Read the response from the server.
          try
          {
            ASN1Element responseElement = reader.readElement();
            if (responseElement == null)
            responseMessage = reader.readMessage();
            if (responseMessage == null)
            {
              int msgID =
                   MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
@@ -3637,9 +3613,6 @@
              throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                        msgID, message);
            }
            responseMessage =
                 LDAPMessage.decode(responseElement.decodeAsSequence());
          }
          catch (IOException ioe)
          {
@@ -3825,7 +3798,7 @@
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (IOException ioe)
    {
@@ -3847,16 +3820,14 @@
    LDAPMessage responseMessage;
    try
    {
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_LDAPAUTH_CONNECTION_CLOSED_WITHOUT_BIND_RESPONSE;
        String message = getMessage(msgID);
        throw new ClientException(LDAPResultCode.CLIENT_SIDE_SERVER_DOWN,
                                  msgID, message);
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
@@ -38,10 +38,8 @@
import java.util.LinkedList;
import java.util.concurrent.atomic.AtomicInteger;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.CompareRequestProtocolOp;
import org.opends.server.protocols.ldap.CompareResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPControl;
@@ -210,10 +208,8 @@
      {
        LDAPMessage message = new LDAPMessage(nextMessageID.getAndIncrement(),
                                              protocolOp, controls);
        connection.getASN1Writer().writeElement(message.encode());
        ASN1Element element = connection.getASN1Reader().readElement();
        responseMessage =
             LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
        connection.getLDAPWriter().writeMessage(message);
        responseMessage = connection.getLDAPReader().readMessage();
      } catch(ASN1Exception ae)
      {
        if (debugEnabled())
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPConnection.java
@@ -39,8 +39,6 @@
import org.opends.server.controls.PasswordPolicyResponseControl;
import org.opends.server.controls.PasswordPolicyWarningType;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPControl;
@@ -80,8 +78,8 @@
  private int portNumber = 389;
  private LDAPConnectionOptions connectionOptions = null;
  private ASN1Writer asn1Writer;
  private ASN1Reader asn1Reader;
  private LDAPWriter ldapWriter;
  private LDAPReader ldapReader;
  private int versionNumber = 3;
  private PrintStream out;
@@ -154,19 +152,21 @@
                            AtomicInteger nextMessageID)
                            throws LDAPConnectionException
  {
    Socket socket = null;
    Socket socket;
    Socket startTLSSocket = null;
    int resultCode = -1;
    int resultCode;
    ArrayList<LDAPControl> requestControls = new ArrayList<LDAPControl> ();
    ArrayList<LDAPControl> responseControls = new ArrayList<LDAPControl> ();
    VerboseTracer tracer =
         new VerboseTracer(connectionOptions.isVerbose(), err);
    if(connectionOptions.useStartTLS())
    {
      try
      {
        startTLSSocket = new Socket(hostName, portNumber);
        asn1Writer = new ASN1Writer(startTLSSocket);
        asn1Reader = new ASN1Reader(startTLSSocket);
        ldapWriter = new LDAPWriter(startTLSSocket, tracer);
        ldapReader = new LDAPReader(startTLSSocket, tracer);
      } catch(UnknownHostException uhe)
      {
        int msgID = MSGID_RESULT_CLIENT_SIDE_CONNECT_ERROR;
@@ -196,10 +196,10 @@
                                        extendedRequest);
      try
      {
        asn1Writer.writeElement(msg.encode());
        ldapWriter.writeMessage(msg);
        // Read the response from the server.
        msg = LDAPMessage.decode(asn1Reader.readElement().decodeAsSequence());
        msg = ldapReader.readMessage();
      } catch (Exception ex1)
      {
        if (debugEnabled())
@@ -236,8 +236,8 @@
      {
        socket = new Socket(hostName, portNumber);
      }
      asn1Writer = new ASN1Writer(socket);
      asn1Reader = new ASN1Reader(socket);
      ldapWriter = new LDAPWriter(socket, tracer);
      ldapReader = new LDAPReader(socket, tracer);
    } catch(UnknownHostException uhe)
    {
      int msgID = MSGID_RESULT_CLIENT_SIDE_CONNECT_ERROR;
@@ -285,7 +285,7 @@
    }
    LDAPAuthenticationHandler handler = new LDAPAuthenticationHandler(
            asn1Reader, asn1Writer, hostName, nextMessageID);
         ldapReader, ldapWriter, hostName, nextMessageID);
    try
    {
      ASN1OctetString bindPW;
@@ -441,7 +441,7 @@
   */
  public void close(AtomicInteger nextMessageID)
  {
    if(asn1Writer != null)
    if(ldapWriter != null)
    {
      if (nextMessageID != null)
      {
@@ -449,38 +449,37 @@
        {
          LDAPMessage message = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
          asn1Writer.writeElement(message.encode());
          ldapWriter.writeMessage(message);
        } catch (Exception e) {}
      }
      asn1Writer.close();
      ldapWriter.close();
    }
    if(asn1Reader != null)
    if(ldapReader != null)
    {
      asn1Reader.close();
      ldapReader.close();
    }
  }
  /**
   * Get the underlying ASN1 writer.
   * Get the underlying LDAP writer.
   *
   * @return  The underlying ASN.1 writer.
   * @return  The underlying LDAP writer.
   */
  public ASN1Writer getASN1Writer()
  public LDAPWriter getLDAPWriter()
  {
    return asn1Writer;
    return ldapWriter;
  }
  /**
   * Get the underlying ASN1 reader.
   * Get the underlying LDAP reader.
   *
   * @return  The underlying ASN.1 reader.
   * @return  The underlying LDAP reader.
   */
  public ASN1Reader getASN1Reader()
  public LDAPReader getLDAPReader()
  {
    return asn1Reader;
    return ldapReader;
  }
}
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPConnectionOptions.java
@@ -52,6 +52,7 @@
  private int versionNumber = 3;
  private Map<String, List<String>> saslProperties =
                                         new HashMap<String, List<String>> ();
  private boolean verbose = false;
  /**
   * Creates a the connection options instance.
@@ -302,5 +303,24 @@
  {
    this.usePasswordPolicyControl = usePasswordPolicyControl;
  }
  /**
   * Indicates whether verbose tracing is enabled.
   *
   * @return <CODE>true</CODE> if verbose tracing is enabled.
   */
  public boolean isVerbose()
  {
    return verbose;
  }
  /**
   * Specifies whether verbose tracing should be enabled.
   * @param verbose Specifies whether verbose tracing should be enabled.
   */
  public void setVerbose(boolean verbose)
  {
    this.verbose = verbose;
  }
}
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java
@@ -38,10 +38,8 @@
import java.util.concurrent.atomic.AtomicInteger;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.DeleteRequestProtocolOp;
import org.opends.server.protocols.ldap.DeleteResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPControl;
@@ -193,11 +191,8 @@
      LDAPMessage responseMessage = null;
      try
      {
        int numBytes =
             connection.getASN1Writer().writeElement(message.encode());
        ASN1Element element = connection.getASN1Reader().readElement();
        responseMessage = LDAPMessage.decode(
                               ASN1Sequence.decodeAsSequence(element));
        connection.getLDAPWriter().writeMessage(message);
        responseMessage = connection.getLDAPReader().readMessage();
      } catch(ASN1Exception ae)
      {
        if (debugEnabled())
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
@@ -341,11 +341,8 @@
          LDAPMessage message =
               new LDAPMessage(nextMessageID.getAndIncrement(), protocolOp,
                               controls);
          // int numBytes =
          connection.getASN1Writer().writeElement(message.encode());
          ASN1Element element = connection.getASN1Reader().readElement();
          responseMessage =
               LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
          connection.getLDAPWriter().writeMessage(message);
          responseMessage = connection.getLDAPReader().readMessage();
        } catch(ASN1Exception ae)
        {
          if (debugEnabled())
@@ -1100,6 +1097,8 @@
      }
    }
    connectionOptions.setVerbose(verbose.isPresent());
    LDAPModify ldapModify = null;
    try
    {
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
@@ -39,9 +39,7 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPControl;
@@ -619,8 +617,8 @@
      return lce.getResultCode();
    }
    ASN1Reader reader = connection.getASN1Reader();
    ASN1Writer writer = connection.getASN1Writer();
    LDAPReader reader = connection.getLDAPReader();
    LDAPWriter writer = connection.getLDAPWriter();
    // Construct the password modify request.
@@ -677,7 +675,7 @@
    // Send the request to the server and read the response.
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (Exception e)
    {
@@ -689,7 +687,7 @@
      {
        requestMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                         new UnbindRequestProtocolOp());
        writer.writeElement(requestMessage.encode());
        writer.writeMessage(requestMessage);
      }
      catch (Exception e2) {}
@@ -707,8 +705,7 @@
    LDAPMessage responseMessage = null;
    try
    {
      ASN1Sequence responseSequence = reader.readElement().decodeAsSequence();
      responseMessage = LDAPMessage.decode(responseSequence);
      responseMessage = reader.readMessage();
    }
    catch (Exception e)
    {
@@ -720,7 +717,7 @@
      {
        requestMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                         new UnbindRequestProtocolOp());
        writer.writeElement(requestMessage.encode());
        writer.writeMessage(requestMessage);
      }
      catch (Exception e2) {}
@@ -764,7 +761,7 @@
      {
        requestMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                         new UnbindRequestProtocolOp());
        writer.writeElement(requestMessage.encode());
        writer.writeMessage(requestMessage);
      }
      catch (Exception e) {}
@@ -871,7 +868,7 @@
        {
          requestMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                           new UnbindRequestProtocolOp());
          writer.writeElement(requestMessage.encode());
          writer.writeMessage(requestMessage);
        }
        catch (Exception e2) {}
@@ -891,7 +888,7 @@
    {
      requestMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                       new UnbindRequestProtocolOp());
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
    }
    catch (Exception e) {}
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPReader.java
New file
@@ -0,0 +1,135 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2007 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.types.LDAPException;
import java.io.IOException;
import java.net.Socket;
/**
 * This class defines a utility that can be used to read LDAP messages from a
 * provided socket.
 */
public class LDAPReader
{
  private ASN1Reader asn1Reader;
  private VerboseTracer tracer;
  /**
   * Creates a new LDAP reader that will read messages from the provided
   * socket.
   *
   * @param  socket  The socket from which to read the LDAP messages.
   *
   * @throws  IOException  If a problem occurs while attempting to obtain an
   *                       ASN.1 reader for the socket.
   */
  public LDAPReader(Socket socket)
       throws IOException
  {
    this(socket, null);
  }
  /**
   * Creates a new LDAP reader that will read messages from the provided
   * socket and trace the messages using a provided tracer.
   *
   * @param  socket   The socket from which to read the LDAP messages.
   *
   * @param  tracer   Specifies a tracer to be used for tracing messages read.
   *
   * @throws  IOException  If a problem occurs while attempting to obtain an
   *                       input stream for the socket.
   */
  public LDAPReader(Socket socket, VerboseTracer tracer)
       throws IOException
  {
    this.asn1Reader = new ASN1Reader(socket);
    this.tracer = tracer;
  }
  /**
   * Reads an LDAP message from the associated input stream.
   *
   * @return  The LDAP message read from the associated input stream, or
   *          <CODE>null</CODE> if the end of the stream has been reached.
   *
   * @throws  IOException  If a problem occurs while attempting to read from the
   *                       input stream.
   *
   * @throws  ASN1Exception  If a problem occurs while attempting to decode the
   *                         data read as an ASN.1 sequence.
   * @throws  LDAPException  If a problem occurs while attempting to decode the
   *                         LDAP message.
   */
  public LDAPMessage readMessage()
       throws IOException, ASN1Exception, LDAPException
  {
    ASN1Element element = asn1Reader.readElement();
    if (element == null)
    {
      return null;
    }
    ASN1Sequence sequence = ASN1Sequence.decodeAsSequence(element);
    LDAPMessage message = LDAPMessage.decode(sequence);
    if (tracer != null)
    {
      tracer.traceIncomingMessage(message, sequence);
    }
    return message;
  }
  /**
   * Closes this LDAP reader and the underlying socket.
   */
  public void close()
  {
    asn1Reader.close();
  }
  /**
   * Get the underlying ASN1 reader.
   *
   * @return  The underlying ASN1 reader.
   */
  public ASN1Reader getASN1Reader()
  {
    return asn1Reader;
  }
}
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
@@ -182,7 +182,7 @@
          LDAPMessage message = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                protocolOp,
                                                searchOptions.getControls());
          connection.getASN1Writer().writeElement(message.encode());
          connection.getLDAPWriter().writeMessage(message);
          byte opType;
          do
@@ -190,9 +190,8 @@
            int resultCode = 0;
            String errorMessage = null;
            DN matchedDN = null;
            ASN1Element element = connection.getASN1Reader().readElement();
            LDAPMessage responseMessage =
                 LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
                 connection.getLDAPReader().readMessage();
            responseControls = responseMessage.getControls();
@@ -1515,6 +1514,8 @@
      }
    }
    connectionOptions.setVerbose(verbose.isPresent());
    // Read the filter strings.
    if(fileNameValue != null)
    {
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPWriter.java
New file
@@ -0,0 +1,117 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2007 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.ldap.LDAPMessage;
import java.net.Socket;
import java.io.IOException;
/**
 * This class defines a utility that can be used to write LDAP messages over a
 * provided socket.
 */
public class LDAPWriter
{
  ASN1Writer asn1Writer;
  VerboseTracer tracer;
  /**
   * Creates a new LDAP writer that will write messages to the provided
   * socket.
   *
   * @param  socket  The socket to use to write LDAP messages.
   *
   * @throws  IOException  If a problem occurs while attempting to obtain an
   *                       ASN.1 reader for the socket.
   */
  public LDAPWriter(Socket socket)
       throws IOException
  {
    this(socket, null);
  }
  /**
   * Creates a new LDAP writer that will write messages to the provided
   * socket and trace the messages using a provided tracer.
   *
   * @param  socket  The socket to use to write LDAP messages.
   *
   * @param  tracer  Specifies a tracer to be used for tracing messages written.
   *
   * @throws  IOException  If a problem occurs while attempting to obtain an
   *                       output stream for the socket.
   */
  public LDAPWriter(Socket socket, VerboseTracer tracer)
       throws IOException
  {
    this.asn1Writer = new ASN1Writer(socket);
    this.tracer = tracer;
  }
  /**
   * Writes an LDAP message to the associated output stream.
   *
   * @param   message      The message to be written.
   *
   * @throws  IOException  If a problem occurs while trying to write the
   *                       information over the output stream.
   */
  public void writeMessage(LDAPMessage message)
       throws IOException
  {
    ASN1Element element = message.encode();
    if (tracer != null)
    {
      tracer.traceOutgoingMessage(message, element);
    }
    asn1Writer.writeElement(element);
  }
  /**
   * Closes this LDAP writer and the underlying socket.
   */
  public void close()
  {
    asn1Writer.close();
  }
  /**
   * Get the underlying ASN1 writer.
   *
   * @return  The underlying ASN1 writer.
   */
  public ASN1Writer getASN1Writer()
  {
    return asn1Writer;
  }
}
opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java
@@ -37,9 +37,7 @@
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Sequence;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPMessage;
@@ -473,11 +471,11 @@
  // The ASN.1 reader used to read responses from the server.
  private static ASN1Reader asn1Reader;
  // The LDAP reader used to read responses from the server.
  private static LDAPReader ldapReader;
  // The ASN.1 writer used to send requests to the server.
  private static ASN1Writer asn1Writer;
  // The LDAP writer used to send requests to the server.
  private static LDAPWriter ldapWriter;
  // The counter that will be used for LDAP message IDs.
  private static AtomicInteger nextMessageID;
@@ -596,7 +594,7 @@
      try
      {
        asn1Writer.writeElement(requestMessage.encode());
        ldapWriter.writeMessage(requestMessage);
      }
      catch (Exception e)
      {
@@ -611,8 +609,8 @@
      ArrayList<ASN1Element> responseOpElements;
      try
      {
        ASN1Element responseElement = asn1Reader.readElement();
        if (responseElement == null)
        LDAPMessage responseMessage = ldapReader.readMessage();
        if (responseMessage == null)
        {
          int    msgID   = MSGID_PWPSTATE_CONNECTION_CLOSED_READING_RESPONSE;
          String message = getMessage(msgID);
@@ -620,8 +618,6 @@
          return LDAPResultCode.CLIENT_SIDE_SERVER_DOWN;
        }
        LDAPMessage responseMessage =
             LDAPMessage.decode(responseElement.decodeAsSequence());
        ExtendedResponseProtocolOp extendedResponse =
             responseMessage.getExtendedResponseProtocolOp();
@@ -1334,8 +1330,8 @@
      return LDAPResultCode.CLIENT_SIDE_CONNECT_ERROR;
    }
    asn1Reader = connection.getASN1Reader();
    asn1Writer = connection.getASN1Writer();
    ldapReader = connection.getLDAPReader();
    ldapWriter = connection.getLDAPWriter();
    return LDAPResultCode.SUCCESS;
  }
opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java
@@ -42,11 +42,8 @@
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.protocols.asn1.ASN1Exception;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
@@ -635,8 +632,8 @@
      return LDAPResultCode.CLIENT_SIDE_CONNECT_ERROR;
    }
    ASN1Reader reader = connection.getASN1Reader();
    ASN1Writer writer = connection.getASN1Writer();
    LDAPReader reader = connection.getLDAPReader();
    LDAPWriter writer = connection.getLDAPWriter();
    // Construct the add request to send to the server.
@@ -708,18 +705,16 @@
    LDAPMessage responseMessage;
    try
    {
      writer.writeElement(requestMessage.encode());
      writer.writeMessage(requestMessage);
      ASN1Element responseElement = reader.readElement();
      if (responseElement == null)
      responseMessage = reader.readMessage();
      if (responseMessage == null)
      {
        int    msgID   = MSGID_STOPDS_UNEXPECTED_CONNECTION_CLOSURE;
        String message = getMessage(msgID);
        err.println(wrapText(message, MAX_LINE_WIDTH));
        return LDAPResultCode.CLIENT_SIDE_SERVER_DOWN;
      }
      responseMessage = LDAPMessage.decode(responseElement.decodeAsSequence());
    }
    catch (IOException ioe)
    {
opendj-sdk/opends/src/server/org/opends/server/tools/VerboseTracer.java
New file
@@ -0,0 +1,181 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2007 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.LDAPConstants;
import org.opends.server.protocols.asn1.ASN1Element;
import org.opends.server.util.ServerConstants;
import java.io.PrintStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * A utility class for the LDAP client tools that performs verbose tracing of
 * LDAP and ASN.1 messages.
 */
public class VerboseTracer
{
  /**
   * Indicates whether verbose mode is on or off.
   */
  private boolean verbose;
  /**
   * The print stream where tracing will be sent.
   */
  private PrintStream err;
  /**
   * The time in milliseconds of the first message traced.
   */
  private long firstMessageTimestamp = 0;
  /**
   * The time in millseconds of the previous message traced.
   */
  private long lastMessageTimestamp = 0;
  /**
   * The format used for trace timestamps.
   */
  private DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss.SSS");
  /**
   * Constructs a tracer with a specified verbosity and print stream.
   * @param verbose Indicates whether verbose mode is on or off.
   * @param err The print stream where tracing will be sent.
   */
  public VerboseTracer(boolean verbose, PrintStream err)
  {
    this.verbose = verbose;
    this.err = err;
  }
  /**
   * Trace an incoming or outgoing message.
   * @param messageDirection  Use "C>S" to indicate outgoing client to server.
   *                          Use "S>C" to indicate incoming server to client.
   * @param message The LDAP message to be traced.
   * @param element The ASN.1 element of the message.
   */
  private synchronized void traceMessage(String messageDirection,
                                         LDAPMessage message,
                                         ASN1Element element)
  {
    StringBuilder header = new StringBuilder();
    StringBuilder builder = new StringBuilder();
    long timestamp = System.currentTimeMillis();
    long timeSinceLast;
    if (firstMessageTimestamp == 0)
    {
      firstMessageTimestamp = timestamp;
    }
    if (lastMessageTimestamp == 0)
    {
      lastMessageTimestamp = timestamp;
    }
    timeSinceLast = timestamp - lastMessageTimestamp;
    if (timeSinceLast < 0)
    {
      timeSinceLast = 0;
    }
    String timestampString = dateFormat.format(new Date(timestamp));
    header.append(messageDirection);
    header.append(' ');
    header.append(timestampString);
    // Include the number of milliseconds since the previous traced message.
    header.append(" (");
    header.append(timeSinceLast);
    header.append("ms) ");
    builder.append("LDAP: ");
    builder.append(header);
    builder.append(message);
    builder.append(ServerConstants.EOL);
    builder.append("ASN1: ");
    builder.append(header);
    element.toString(builder, 0);
    err.print(builder);
    if (timestamp > lastMessageTimestamp)
    {
      lastMessageTimestamp = timestamp;
    }
  }
  /**
   * Trace an incoming message.
   * @param message The LDAP message to be traced.
   * @param element The ASN.1 element of the message.
   */
  public void traceIncomingMessage(LDAPMessage message,
                                                ASN1Element element)
  {
    if (verbose)
    {
      if (message.getProtocolOpType() !=
           LDAPConstants.OP_TYPE_SEARCH_RESULT_ENTRY)
      {
        traceMessage("S>C", message, element);
      }
    }
  }
  /**
   * Trace an outgoing message.
   * @param message The LDAP message to be traced.
   * @param element The ASN.1 element of the message.
   */
  public void traceOutgoingMessage(LDAPMessage message,
                                                ASN1Element element)
  {
    if (verbose)
    {
      if (message.getProtocolOpType() !=
           LDAPConstants.OP_TYPE_SEARCH_RESULT_ENTRY)
      {
        traceMessage("C>S", message, element);
      }
    }
  }
}
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/RejectUnauthReqTests.java
@@ -42,8 +42,6 @@
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.LDAPException;
import org.opends.server.types.ResultCode;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.ldap.LDAPControl;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.UnbindRequestProtocolOp;
@@ -335,8 +333,8 @@
  public void testAuthWAIDefCfg() throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -351,7 +349,7 @@
    LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
    writer.writeElement(unbindMessage.encode());
    writer.writeMessage(unbindMessage);
    s.close();
  }
@@ -368,8 +366,8 @@
  public void testUnauthWAIDefCfg() throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -380,7 +378,7 @@
    LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
    writer.writeElement(unbindMessage.encode());
    writer.writeMessage(unbindMessage);
    s.close();
  }
@@ -633,8 +631,8 @@
                                          IOException,ClientException
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
         new LDAPAuthenticationHandler(reader, writer, "localhost",
@@ -653,7 +651,7 @@
      LDAPMessage unbindMessage = new LDAPMessage(
                                    nextMessageID.getAndIncrement(),
                                    new UnbindRequestProtocolOp());
      writer.writeElement(unbindMessage.encode());
      writer.writeMessage(unbindMessage);
      s.close();
    }
  }
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/WhoAmIExtendedOperationTestCase.java
@@ -39,13 +39,13 @@
import org.opends.server.core.AddOperation;
import org.opends.server.core.ExtendedOperation;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.LDAPControl;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.UnbindRequestProtocolOp;
import org.opends.server.tools.LDAPAuthenticationHandler;
import org.opends.server.tools.LDAPReader;
import org.opends.server.tools.LDAPWriter;
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.Entry;
import org.opends.server.types.ResultCode;
@@ -162,8 +162,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -178,7 +178,7 @@
    LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
    writer.writeElement(unbindMessage.encode());
    writer.writeMessage(unbindMessage);
    s.close();
  }
@@ -195,8 +195,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -207,7 +207,7 @@
    LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
    writer.writeElement(unbindMessage.encode());
    writer.writeMessage(unbindMessage);
    s.close();
  }
@@ -246,8 +246,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader reader = new ASN1Reader(s);
    ASN1Writer writer = new ASN1Writer(s);
    LDAPReader reader = new LDAPReader(s);
    LDAPWriter writer = new LDAPWriter(s);
    AtomicInteger nextMessageID = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -262,7 +262,7 @@
    LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(),
                                                new UnbindRequestProtocolOp());
    writer.writeElement(unbindMessage.encode());
    writer.writeMessage(unbindMessage);
    s.close();
  }
}
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPAuthenticationHandlerTestCase.java
@@ -46,8 +46,6 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.AnonymousSASLMechanismHandler;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.LDAPControl;
import org.opends.server.types.Entry;
@@ -171,8 +169,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -200,8 +198,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -227,8 +225,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -255,8 +253,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -290,8 +288,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -325,8 +323,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -355,8 +353,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -391,8 +389,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -427,8 +425,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -464,8 +462,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -508,8 +506,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -547,8 +545,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -584,8 +582,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -631,8 +629,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -677,8 +675,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -744,8 +742,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -811,8 +809,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -849,8 +847,8 @@
    TestCaseUtils.initializeTestBackend(true);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -893,8 +891,8 @@
    TestCaseUtils.initializeTestBackend(true);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -959,8 +957,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1023,8 +1021,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1065,8 +1063,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1103,8 +1101,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1144,8 +1142,8 @@
    TestCaseUtils.initializeTestBackend(true);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1189,8 +1187,8 @@
    TestCaseUtils.initializeTestBackend(true);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1260,8 +1258,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1327,8 +1325,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1399,8 +1397,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1463,8 +1461,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1503,8 +1501,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1541,8 +1539,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1580,8 +1578,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1622,8 +1620,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1665,8 +1663,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1707,8 +1705,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1779,8 +1777,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1825,8 +1823,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1877,8 +1875,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1928,8 +1926,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -1979,8 +1977,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2032,8 +2030,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2084,8 +2082,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2136,8 +2134,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2185,8 +2183,8 @@
    TestCaseUtils.initializeTestBackend(true);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2256,8 +2254,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2325,8 +2323,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2397,8 +2395,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2477,8 +2475,8 @@
    Socket s = factory.createSocket("127.0.0.1",
                                    TestCaseUtils.getServerLdapsPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2548,8 +2546,8 @@
    Socket s = factory.createSocket("127.0.0.1",
                                    TestCaseUtils.getServerLdapsPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2617,8 +2615,8 @@
    Socket s = factory.createSocket("127.0.0.1",
                                    TestCaseUtils.getServerLdapsPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2692,8 +2690,8 @@
    Socket s = factory.createSocket("127.0.0.1",
                                    TestCaseUtils.getServerLdapsPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2725,8 +2723,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2762,8 +2760,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2800,8 +2798,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2842,8 +2840,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2885,8 +2883,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2932,8 +2930,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -2979,8 +2977,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3028,8 +3026,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3075,8 +3073,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3121,8 +3119,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3167,8 +3165,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3214,8 +3212,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3260,8 +3258,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3329,8 +3327,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3394,8 +3392,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3429,8 +3427,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3466,8 +3464,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3504,8 +3502,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3547,8 +3545,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3589,8 +3587,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3636,8 +3634,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3682,8 +3680,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3727,8 +3725,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3784,8 +3782,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3842,8 +3840,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3879,8 +3877,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    LDAPAuthenticationHandler authHandler =
@@ -3903,8 +3901,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3932,8 +3930,8 @@
         throws Exception
  {
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -3984,8 +3982,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -4017,8 +4015,8 @@
    handler.initializeSASLMechanismHandler(null);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -4079,8 +4077,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -4141,8 +4139,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -4215,8 +4213,8 @@
    Socket s = factory.createSocket("127.0.0.1",
                                    TestCaseUtils.getServerLdapsPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
@@ -4269,8 +4267,8 @@
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    ASN1Reader r = new ASN1Reader(s);
    ASN1Writer w = new ASN1Writer(s);
    LDAPReader r = new LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
    AtomicInteger          messageID        = new AtomicInteger(1);
    ArrayList<LDAPControl> requestControls  = new ArrayList<LDAPControl>();
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java
@@ -566,6 +566,29 @@
  /**
   * Tests a simple search with verbose output.
   */
  @Test()
  public void testSimpleVerboseSearch()
  {
    String[] args =
    {
      "-h", "127.0.0.1",
      "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
      "-v",
      "-D", "cn=Directory Manager",
      "-w", "password",
      "-b", "",
      "-s", "base",
      "(objectClass=*)"
    };
    assertEquals(LDAPSearch.mainSearch(args, false, null, System.err), 0);
  }
  /**
   * Tests a simple invocation using the "--dry-run" option with a valid argument
   * set.
   */