# Class TLDAPSend

Description | Hierarchy | Fields | Methods | Properties

## Unit

ldapsend

## Declaration

`type TLDAPSend = class(TSynaClient)`

## Description

Implementation of LDAP client

(version 2 and 3)

Note: Are you missing properties for setting Username and Password? Look to parent TSynaClient object!

Are you missing properties for specify server address and port? Look to parent TSynaClient too!

## Hierarchy

TLDAPSend > TSynaClient > TObject

## Methods

### Overview

| `constructor Create;`
| `destructor Destroy; override;`
| `function Add(obj: string; const Value: TLDAPAttributeList): Boolean;`
| `function Bind: Boolean;`
| `function BindSasl: Boolean;`
| `function Compare(obj, AttributeValue: string): Boolean;`
| `function Delete(obj: string): Boolean;`
| `function Extended(const Name, Value: string): Boolean;`
| `function Login: Boolean;`
| `function Logout: Boolean;`
| `function Modify(obj: string; Op: TLDAPModifyOp; const Value: TLDAPAttribute): Boolean;`
| `function ModifyDN(obj, newRDN, newSuperior: string; DeleteoldRDN: Boolean): Boolean;`
| `function Search(obj: string; TypesOnly: Boolean; Filter: string; const Attributes: TStrings): Boolean;`
| `function StartTLS: Boolean;`

### Description

| `function Add(obj: string; const Value: TLDAPAttributeList): Boolean;`

Add list of attributes to specified object.

| `function Bind: Boolean;`

Try to bind to LDAP server with UserName and Password. If this is empty strings, then it do annonymous Bind. When you not call Bind on LDAPv3, then is automaticly used anonymous mode.

This method using plaintext transport of password! It is not secure!

| `function BindSasl: Boolean;`

Try to bind to LDAP server with UserName and Password. If this is empty strings, then it do annonymous Bind. When you not call Bind on LDAPv3, then is automaticly used anonymous mode.

This method using SASL with DIGEST-MD5 method for secure transfer of your password.

| `function Compare(obj, AttributeValue: string): Boolean;`

Try to compare Attribute value with this LDAP object.

| `constructor Create;`

| `function Delete(obj: string): Boolean;`

Delete this LDAP object from server.

| `destructor Destroy; override;`

| `function Extended(const Name, Value: string): Boolean;`

Call any LDAPv3 extended command.

| `function Login: Boolean;`

Try to connect to LDAP server and start secure channel, when it is required.

| `function Logout: Boolean;`

Close connection to LDAP server.

| `function Modify(obj: string; Op: TLDAPModifyOp; const Value: TLDAPAttribute): Boolean;`

Modify content of LDAP attribute on this object.

| `function ModifyDN(obj, newRDN, newSuperior: string; DeleteoldRDN: Boolean): Boolean;`

Modify object name of this LDAP object.

| `function Search(obj: string; TypesOnly: Boolean; Filter: string; const Attributes: TStrings): Boolean;`

Search LDAP base for LDAP objects by Filter.

| `function StartTLS: Boolean;`

Try to start SSL/TLS connection to LDAP server.

## Properties

### Overview

| `property AutoTLS: Boolean;`
| `property ExtName: string;`
| `property ExtValue: string;`
| `property FullResult: string;`
| `property FullSSL: Boolean;`
| `property Referals: TStringList;`
| `property ResultCode: Integer;`
| `property ResultString: string;`
| `property SearchAliases: TLDAPSearchAliases;`
| `property SearchResult: TLDAPResultList;`
| `property SearchScope: TLDAPSearchScope;`
| `property SearchSizeLimit: integer;`
| `property SearchTimeLimit: integer;`
| `property Seq: integer;`
| `property Sock: TTCPBlockSocket;`
| `property Version: integer;`

### Description

| `property AutoTLS: Boolean;`

If `True`, then try to start TSL mode in Login procedure.

| `property ExtName: string;`

When you call Extended operation, then here is result Name returned by server.

| `property ExtValue: string;`

When you call Extended operation, then here is result Value returned by server.

| `property FullResult: string;`

Binary string with full last response of LDAP server. This string is encoded by ASN.1 BER encoding! You need this only for debugging.

| `property FullSSL: Boolean;`

If `True`, then use connection to LDAP server through SSL/TLS tunnel.

| `property Referals: TStringList;`

On each LDAP operation can LDAP server return some referals URLs. Here is their list.

| `property ResultCode: Integer;`

Result code of last LDAP operation.

| `property ResultString: string;`

Human readable description of result code of last LDAP operation.

| `property SearchAliases: TLDAPSearchAliases;`

Specify how to handle aliases in search command.

| `property SearchResult: TLDAPResultList;`

Here is result of search command.

| `property SearchScope: TLDAPSearchScope;`

Specify what search scope is used in search command.

| `property SearchSizeLimit: integer;`

Specify result size limit in search command. Value 0 means without limit.

| `property SearchTimeLimit: integer;`

Specify search time limit in search command (seconds). Value 0 means without limit.

| `property Seq: integer;`

Sequence number of last LDAp command. It is incremented by any LDAP command.

| `property Sock: TTCPBlockSocket;`

TCP socket used by all LDAP operations.

| `property Version: integer;`

Specify version of used LDAP protocol. Default value is 3.

Generated by PasDoc 0.8.8.2 on 2005-01-19 20:01:18