From 4287153a2c0323d20e6619c4ea52fa8057ff946d Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Wed, 25 Jul 2007 17:31:32 +0000
Subject: [PATCH] Fix for issue #1015: ldapsearch --verbose option doesn't work. This change causes ldapsearch and ldapmodify verbose options to trace the contents of incoming and outgoing LDAP messages and ASN.1 elements to standard error stream. It excludes search-result-entry messages from the trace since this would be rather too verbose and not very useful. The main use for verbose output is to investigate connection problems, referral following and such. A possible improvement would be to use a separate option for the ASN.1 tracing, and add session related output such as connection details, security context details and auth details as well as referral chasing details (all this must currently be derived from the protocol trace).
---
opends/src/server/org/opends/server/tools/ManageAccount.java | 22 +++++++++-------------
1 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/ManageAccount.java b/opends/src/server/org/opends/server/tools/ManageAccount.java
index 9ab38c7..b2c440b 100644
--- a/opends/src/server/org/opends/server/tools/ManageAccount.java
+++ b/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;
}
--
Gitblit v1.10.0