From 492e4c56535090cff7af1f0b67e202d770ac56b0 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Mon, 16 Mar 2009 08:49:31 +0000
Subject: [PATCH] Fix for issue #3714 (ldapsearch should return exit code 10 when it receives a referral) If a referral is returned, we now return 10.

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

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
index ec98581..7fa294b 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
@@ -366,7 +366,7 @@
                 break;
             }
 
-            if(resultCode != SUCCESS && resultCode != REFERRAL)
+            if(resultCode != SUCCESS)
             {
               Message msg = INFO_OPERATION_FAILED.get("SEARCH");
               throw new LDAPException(resultCode, errorMessage, msg,
@@ -1761,17 +1761,22 @@
 
     } catch(LDAPException le)
     {
-      if (debugEnabled())
-      {
-        TRACER.debugCaught(DebugLogLevel.ERROR, le);
-      }
-
-      LDAPToolUtils.printErrorMessage(err,
-                                      le.getMessageObject(),
-                                      le.getResultCode(),
-                                      le.getErrorMessage(),
-                                      le.getMatchedDN());
       int code = le.getResultCode();
+      if (code == REFERRAL)
+      {
+        out.println();
+        out.println(wrapText(le.getErrorMessage(), MAX_LINE_WIDTH));
+      }
+      else
+      {
+      if (debugEnabled())
+        {
+          TRACER.debugCaught(DebugLogLevel.ERROR, le);
+        }
+
+        LDAPToolUtils.printErrorMessage(err, le.getMessageObject(), code,
+            le.getErrorMessage(), le.getMatchedDN());
+      }
       return code;
     } catch(LDAPConnectionException lce)
     {

--
Gitblit v1.10.0