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

dugan
02.51.2009 df8d2595f230a4a3c3e81d8695c76c7e362c0803
Move the password prompting out of the LDAPAuthenticationHandler class so
a connection to the server isn't tied up while waiting for the user to enter a password. Issue 3828.
5 files modified
78 ■■■■ changed files
opends/src/server/org/opends/server/tools/LDAPAuthenticationHandler.java 60 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/LDAPCompare.java 4 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/LDAPDelete.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/LDAPModify.java 4 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/LDAPSearch.java 4 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/LDAPAuthenticationHandler.java
@@ -282,29 +282,10 @@
                             List<Control> responseControls)
         throws ClientException, LDAPException
  {
    // See if we need to prompt the user for the password.
    //Password is empty, set it to ByteString.empty.
    if (bindPassword == null)
    {
      if (bindDN == null)
      {
        bindPassword = ByteString.empty();
      }
      else
      {
        System.out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(
                bindDN.toString()));
        System.out.flush();
        char[] pwChars = PasswordReader.readPassword();
        if (pwChars == null)
        {
          bindPassword = ByteString.empty();
        }
        else
        {
          bindPassword = ByteString.wrap(getBytes(pwChars));
          Arrays.fill(pwChars, '\u0000');
        }
      }
    }
@@ -876,21 +857,10 @@
    }
    // See if the password was null.  If so, then interactively prompt it from
    // the user.
    // Set password to ByteString.empty if the password is null.
    if (bindPassword == null)
    {
      System.out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(authID));
      char[] pwChars = PasswordReader.readPassword();
      if (pwChars == null)
      {
        bindPassword = ByteString.empty();
      }
      else
      {
        bindPassword = ByteString.wrap(getBytes(pwChars));
        Arrays.fill(pwChars, '\u0000');
      }
    }
@@ -1474,21 +1444,10 @@
    }
    // See if the password was null.  If so, then interactively prompt it from
    // the user.
    // Set password to ByteString.empty if the password is null.
    if (bindPassword == null)
    {
      System.out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(authID));
      char[] pwChars = PasswordReader.readPassword();
      if (pwChars == null)
      {
        bindPassword = ByteString.empty();
      }
      else
      {
        bindPassword = ByteString.wrap(getBytes(pwChars));
        Arrays.fill(pwChars, '\u0000');
      }
    }
@@ -3058,21 +3017,10 @@
    }
    // See if the password was null.  If so, then interactively prompt it from
    // the user.
    // Set password to ByteString.empty if the password is null.
    if (bindPassword == null)
    {
      System.out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(authID));
      char[] pwChars = PasswordReader.readPassword();
      if (pwChars == null)
      {
        bindPassword = ByteString.empty();
      }
      else
      {
        bindPassword = ByteString.wrap(getBytes(pwChars));
        Arrays.fill(pwChars, '\u0000');
      }
    }
opends/src/server/org/opends/server/tools/LDAPCompare.java
@@ -758,7 +758,9 @@
    String bindDNValue = bindDN.getValue();
    String fileNameValue = filename.getValue();
    String bindPasswordValue = bindPassword.getValue();
    if(bindPasswordValue != null && bindPasswordValue.equals("-"))
    if(bindPasswordValue != null && bindPasswordValue.equals("-")  ||
       (!bindPasswordFile.isPresent()  &&
       (bindDNValue != null && bindPasswordValue == null)))
    {
      // read the password from the stdin.
      try
opends/src/server/org/opends/server/tools/LDAPDelete.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.messages.Message;
@@ -644,7 +644,9 @@
    String bindDNValue = bindDN.getValue();
    String fileNameValue = filename.getValue();
    String bindPasswordValue = bindPassword.getValue();
    if(bindPasswordValue != null && bindPasswordValue.equals("-"))
    if(bindPasswordValue != null && bindPasswordValue.equals("-")  ||
      (!bindPasswordFile.isPresent()  &&
       (bindDNValue != null && bindPasswordValue == null)))
    {
      // read the password from the stdin.
      try
opends/src/server/org/opends/server/tools/LDAPModify.java
@@ -972,7 +972,9 @@
    String bindDNValue = bindDN.getValue();
    String fileNameValue = filename.getValue();
    String bindPasswordValue = bindPassword.getValue();
    if(bindPasswordValue != null && bindPasswordValue.equals("-"))
    if(bindPasswordValue != null && bindPasswordValue.equals("-")  ||
        (!bindPasswordFile.isPresent()  &&
        (bindDNValue != null && bindPasswordValue == null)))
    {
      // read the password from the stdin.
      try
opends/src/server/org/opends/server/tools/LDAPSearch.java
@@ -1185,7 +1185,9 @@
    String bindDNValue = bindDN.getValue();
    String fileNameValue = filename.getValue();
    String bindPasswordValue = bindPassword.getValue();
    if(bindPasswordValue != null && bindPasswordValue.equals("-"))
    if(bindPasswordValue != null && bindPasswordValue.equals("-")  ||
      (!bindPasswordFile.isPresent()  &&
      (bindDNValue != null && bindPasswordValue == null)))
    {
      // read the password from the stdin.
      try