CLDAP_SEARCH_S(3LDAP) | LDAP Library Functions | CLDAP_SEARCH_S(3LDAP) |
cldap_search_s - connectionless LDAP search
cc[ flag... ] file... -lldap[ library... ] #include <lber.h> #include <ldap.h> int cldap_search_s(LDAP *ld, char *base, int scope, char *filter,
char *attrs, int attrsonly, LDAPMessage **res, char *logdn);
The cldap_search_s() function performs an LDAP search using the Connectionless LDAP (CLDAP) protocol.
cldap_search_s() has parameters and behavior identical to that of ldap_search_s(3LDAP), except for the addition of the logdn parameter. logdn should contain a distinguished name to be used only for logging purposed by the LDAP server. It should be in the text format described by RFC 1779, A String Representation of Distinguished Names.
cldap_search_s() operates using the CLDAP protocol over udp(4P). Since UDP is a non-reliable protocol, a retry mechanism is used to increase reliability. The cldap_setretryinfo(3LDAP) function can be used to set two retry parameters: tries, a count of the number of times to send a search request and timeout, an initial timeout that determines how long to wait for a response before re-trying. timeout is specified seconds. These values are stored in the ld_cldaptries and ld_cldaptimeout members of the ld LDAP structure, and the default values set in ldap_open(3LDAP) are 4 and 3 respectively. The retransmission algorithm used is:
Step 1
Step 2
Step 3
Step 4
Step 5
Assume that the default values for tries and timeout of 4 tries and 3 seconds are used. Further, assume that a space-separated list of two hosts, each with one address, was passed to cldap_open(3LDAP). The pattern of requests sent will be (stopping as soon as a response is received):
Time Search Request Sent To:
+0 Host A try 1
+1 (0+3/2) Host B try 1
+2 (1+3/2) Host A try 2
+5 (2+6/2) Host B try 2
+8 (5+6/2) Host A try 3
+14 (8+12/2) Host B try 3
+20 (14+12/2) Host A try 4
+32 (20+24/2) Host B try 4
+44 (20+24/2) (give up - no response)
cldap_search_s() returns LDAP_SUCCESS if a search was successful and the appropriate LDAP error code otherwise. See ldap_error(3LDAP) for more information.
See attributes(7) for a description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Evolving |
cldap_close(3LDAP), cldap_open(3LDAP), cldap_setretryinfo(3LDAP), ldap(3LDAP), ldap_error(3LDAP), ldap_search_s(3LDAP), udp(4P), attributes(7)
January 27, 2002 | OmniOS |