1cldap_search_s(3LDAP)       LDAP Library Functions       cldap_search_s(3LDAP)
2
3
4

NAME

6       cldap_search_s - connectionless LDAP search
7

SYNOPSIS

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

DESCRIPTION

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

EXAMPLES

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

ERRORS

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

ATTRIBUTES

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

SEE ALSO

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)
Impressum