1cldap_search_s(3LDAP) LDAP Library Functions cldap_search_s(3LDAP)
2
3
4
6 cldap_search_s - connectionless LDAP search
7
9 cc[ flag... ] file... -lldap[ library... ]
10 #include <lber.h>
11 #include <ldap.h>
12
13 int cldap_search_s(LDAP *ld, char *base, int scope, char *filter,
14 char *attrs, int attrsonly, LDAPMessage **res, char *logdn);
15
16
18 The cldap_search_s() function performs an LDAP search using the Connec‐
19 tionless LDAP (CLDAP) protocol.
20
21
22 cldap_search_s() has parameters and behavior identical to that of
23 ldap_search_s(3LDAP), except for the addition of the logdn parameter.
24 logdn should contain a distinguished name to be used only for logging
25 purposed by the LDAP server. It should be in the text format described
26 by RFC 1779, A String Representation of Distinguished Names.
27
28 Retransmission Algorithm
29 cldap_search_s() operates using the CLDAP protocol over udp(7P). Since
30 UDP is a non-reliable protocol, a retry mechanism is used to increase
31 reliability. The cldap_setretryinfo(3LDAP) function can be used to set
32 two retry parameters: tries, a count of the number of times to send a
33 search request and timeout, an initial timeout that determines how long
34 to wait for a response before re-trying. timeout is specified seconds.
35 These values are stored in the ld_cldaptries and ld_cldaptimeout mem‐
36 bers of the ld LDAP structure, and the default values set in
37 ldap_open(3LDAP) are 4 and 3 respectively. The retransmission algorithm
38 used is:
39
40 Step 1 Set the current timeout to ld_cldaptimeout seconds, and the
41 current LDAP server address to the first LDAP server found
42 during the ldap_open(3LDAP) call.
43
44
45 Step 2 Send the search request to the current LDAP server address.
46
47
48 Step 3 Set the wait timeout to the current timeout divided by the
49 number of server addresses found during ldap_open(3LDAP) or
50 to one second, whichever is larger. Wait at most that long
51 for a response; if a response is received, STOP. Note that
52 the wait timeout is always rounded down to the next lowest
53 second.
54
55
56 Step 4 Repeat steps 2 and 3 for each LDAP server address.
57
58
59 Step 5 Set the current timeout to twice its previous value and
60 repeat Steps 2 through 5 a maximum of tries times.
61
62
64 Assume that the default values for tries and timeout of 4 tries and 3
65 seconds are used. Further, assume that a space-separated list of two
66 hosts, each with one address, was passed to cldap_open(3LDAP). The pat‐
67 tern of requests sent will be (stopping as soon as a response is
68 received):
69
70 Time Search Request Sent To:
71 +0 Host A try 1
72 +1 (0+3/2) Host B try 1
73 +2 (1+3/2) Host A try 2
74 +5 (2+6/2) Host B try 2
75 +8 (5+6/2) Host A try 3
76 +14 (8+12/2) Host B try 3
77 +20 (14+12/2) Host A try 4
78 +32 (20+24/2) Host B try 4
79 +44 (20+24/2) (give up - no response)
80
81
83 cldap_search_s() returns LDAP_SUCCESS if a search was successful and
84 the appropriate LDAP error code otherwise. See ldap_error(3LDAP) for
85 more information.
86
88 See attributes(5) for a description of the following attributes:
89
90
91
92
93 ┌─────────────────────────────┬─────────────────────────────┐
94 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
95 │Availability │SUNWcsl (32-bit) │
96 │ │SUNWcslx (64-bit) │
97 │Interface Stability │Evolving │
98 └─────────────────────────────┴─────────────────────────────┘
99
101 ldap(3LDAP), ldap_error(3LDAP), ldap_search_s(3LDAP),
102 cldap_open(3LDAP), cldap_setretryinfo(3LDAP), cldap_close(3LDAP),
103 attributes(5), udp(7P)
104
105
106
107SunOS 5.11 27 Jan 2002 cldap_search_s(3LDAP)