com.slamd.tools.ldapdecoder.protocol
Class BindRequest

java.lang.Object
  extended by com.slamd.tools.ldapdecoder.protocol.ProtocolOp
      extended by com.slamd.tools.ldapdecoder.protocol.BindRequest

public class BindRequest
extends ProtocolOp

This class defines an LDAP bind request, which is used to authenticate to a directory server.

Author:
Neil A. Wilson

Field Summary
static byte AUTH_TYPE_SASL
          The authentication type that indicates that SASL authentication is to be performed.
static byte AUTH_TYPE_SIMPLE
          The authentication type that indicates that simple authentication is to be performed.
 
Fields inherited from class com.slamd.tools.ldapdecoder.protocol.ProtocolOp
ABANDON_REQUEST_TYPE, ADD_REQUEST_TYPE, ADD_RESPONSE_TYPE, BIND_REQUEST_TYPE, BIND_RESPONSE_TYPE, COMPARE_REQUEST_TYPE, COMPARE_RESPONSE_TYPE, DELETE_REQUEST_TYPE, DELETE_RESPONSE_TYPE, EXTENDED_REQUEST_TYPE, EXTENDED_RESPONSE_TYPE, INTERMEDIATE_RESPONSE_TYPE, MODIFY_DN_REQUEST_TYPE, MODIFY_DN_RESPONSE_TYPE, MODIFY_REQUEST_TYPE, MODIFY_RESPONSE_TYPE, REFERRAL_TYPE, SEARCH_REQUEST_TYPE, SEARCH_RESULT_DONE_TYPE, SEARCH_RESULT_ENTRY_TYPE, SEARCH_RESULT_REFERENCE_TYPE, UNBIND_REQUEST_TYPE
 
Constructor Summary
BindRequest(int protocolVersion, java.lang.String bindDN, java.lang.String bindPassword)
          Creates a new bind request using simple authentication with the provided information.
BindRequest(int protocolVersion, java.lang.String bindDN, java.lang.String saslMechanism, ASN1OctetString saslCredentials)
          Creates a new bind request using SASL authentication with the provided information.
 
Method Summary
static BindRequest decodeBindRequest(ASN1Element element)
          Decodes the provided ASN.1 element as a bind request protocol op.
 ASN1Element encode()
          Encodes this protocol op to an ASN.1 element.
 byte getAuthType()
          Retrieves the type of authentication contained in this bind request.
 java.lang.String getBindDN()
          Retrieves the DN of the user performing the bind.
 java.lang.String getBindPassword()
          Retrieves the password used for simple authentication.
 java.lang.String getProtocolOpType()
          Retrieves a user-friendly name for this protocol op.
 int getProtocolVersion()
          Retrieves the LDAP protocol version used in this bind request.
 ASN1OctetString getSASLCredentials()
          Retrieves the credentials used for SASL authentication.
 java.lang.String getSASLMechanism()
          Retrieves the mechanism used for SASL authentication.
 void toSLAMDScript(java.io.PrintStream scriptWriter)
          Constructs a string representation of this LDAP message in a form that can be written to a SLAMD script.
 java.lang.String toString(int indent)
          Retrieves a string representation of this protocol op with the specified indent.
 
Methods inherited from class com.slamd.tools.ldapdecoder.protocol.ProtocolOp
decode, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

AUTH_TYPE_SIMPLE

public static final byte AUTH_TYPE_SIMPLE
The authentication type that indicates that simple authentication is to be performed.

See Also:
Constant Field Values

AUTH_TYPE_SASL

public static final byte AUTH_TYPE_SASL
The authentication type that indicates that SASL authentication is to be performed.

See Also:
Constant Field Values
Constructor Detail

BindRequest

public BindRequest(int protocolVersion,
                   java.lang.String bindDN,
                   java.lang.String bindPassword)
Creates a new bind request using simple authentication with the provided information.

Parameters:
protocolVersion - The LDAP protocol version to use in the bind request.
bindDN - The DN of the user performing the bind.
bindPassword - The password of the user performing the bind.

BindRequest

public BindRequest(int protocolVersion,
                   java.lang.String bindDN,
                   java.lang.String saslMechanism,
                   ASN1OctetString saslCredentials)
Creates a new bind request using SASL authentication with the provided information.

Parameters:
protocolVersion - The LDAP protocol version to use in the bind request.
bindDN - The DN of the user performing the bind.
saslMechanism - The SASL mechanism used to perform the bind.
saslCredentials - The SASL credentials to use in the bind.
Method Detail

getProtocolVersion

public int getProtocolVersion()
Retrieves the LDAP protocol version used in this bind request.

Returns:
The LDAP protocol version used in this bind request.

getBindDN

public java.lang.String getBindDN()
Retrieves the DN of the user performing the bind.

Returns:
The DN of the user performing the bind.

getAuthType

public byte getAuthType()
Retrieves the type of authentication contained in this bind request.

Returns:
AUTH_TYPE_SIMPLE if simple authentication is to be performed, or AUTH_TYPE_SASL if SASL authentication should be used.

getBindPassword

public java.lang.String getBindPassword()
Retrieves the password used for simple authentication.

Returns:
The password used for simple authentication.

getSASLMechanism

public java.lang.String getSASLMechanism()
Retrieves the mechanism used for SASL authentication.

Returns:
The mechanism used for SASL authentication.

getSASLCredentials

public ASN1OctetString getSASLCredentials()
Retrieves the credentials used for SASL authentication.

Returns:
The credentials used for SASL authentication.

encode

public ASN1Element encode()
Encodes this protocol op to an ASN.1 element.

Specified by:
encode in class ProtocolOp
Returns:
The ASN.1 element containing the encoded protocol op.

decodeBindRequest

public static BindRequest decodeBindRequest(ASN1Element element)
                                     throws ProtocolException
Decodes the provided ASN.1 element as a bind request protocol op.

Parameters:
element - The ASN.1 element to be decoded.
Returns:
The decoded bind request.
Throws:
ProtocolException - If a problem occurs while decoding the provided ASN.1 element as a bind request.

getProtocolOpType

public java.lang.String getProtocolOpType()
Retrieves a user-friendly name for this protocol op.

Specified by:
getProtocolOpType in class ProtocolOp
Returns:
A user-friendly name for this protocol op.

toString

public java.lang.String toString(int indent)
Retrieves a string representation of this protocol op with the specified indent.

Specified by:
toString in class ProtocolOp
Parameters:
indent - The number of spaces to indent the output.
Returns:
A string representation of this protocol op with the specified indent.

toSLAMDScript

public void toSLAMDScript(java.io.PrintStream scriptWriter)
Constructs a string representation of this LDAP message in a form that can be written to a SLAMD script. It may be empty if this message isn't one that would be generated as part of a client request.

Specified by:
toSLAMDScript in class ProtocolOp
Parameters:
scriptWriter - The print stream to which the script contents should be written.