From 6ba09995f311475e99c52f3a6d01c96bc58b01a6 Mon Sep 17 00:00:00 2001
From: sin <sin@localhost>
Date: Wed, 22 Apr 2009 19:54:10 +0000
Subject: [PATCH] issue# 2624:ldapsearch: wrong return code when no password provided

---
 opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
index 35b6d14..90dfe29 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
@@ -777,6 +777,17 @@
         out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
         char[] pwChars = PasswordReader.readPassword();
         bindPasswordValue = new String(pwChars);
+        //As per rfc 4513(section-5.1.2) a client should avoid sending
+        //an empty password to the server.
+        while(pwChars.length==0)
+        {
+          err.println(wrapText(
+                  INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
+                  MAX_LINE_WIDTH));
+          out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
+          pwChars = PasswordReader.readPassword();
+        }
+        bindPasswordValue = new String(pwChars);
       } catch(Exception ex)
       {
         if (debugEnabled())

--
Gitblit v1.10.0