]> git.ipfire.org Git - thirdparty/openldap.git/blame - doc/guide/admin/appendix-common-errors.sdf
Happy New Year!
[thirdparty/openldap.git] / doc / guide / admin / appendix-common-errors.sdf
CommitLineData
56000a3b 1# $OpenLDAP$
073232bb 2# Copyright 2007-2024 The OpenLDAP Foundation, All Rights Reserved.
56000a3b
GH
3# COPYING RESTRICTIONS APPLY, see COPYRIGHT.
4
5H1: Common errors encountered when using OpenLDAP Software
6
7The following sections attempt to summarize the most common causes of LDAP errors
8when using OpenLDAP
9
10H2: Common causes of LDAP errors
11
56000a3b
GH
12H3: ldap_*: Can't contact LDAP server
13
fdb6873b 14The {{B:Can't contact LDAP server}} error is usually returned when the LDAP
8c3c9ac8 15server cannot be contacted. This may occur for many reasons:
56000a3b 16
8c3c9ac8 17* the LDAP server is not running; this can be checked by running, for example,
56000a3b 18
8c3c9ac8 19> telnet <host> <port>
56000a3b 20
8c3c9ac8
GH
21replacing {{<host>}} and {{<port>}} with the hostname and the port the server
22is supposed to listen on.
23* the client has not been instructed to contact a running server; with OpenLDAP
24command-line tools this is accomplished by providing the -H switch, whose
e580bd79
GH
25argument is a valid LDAP url corresponding to the interface the server is
26supposed to be listening on.
56000a3b 27
8c3c9ac8 28H3: ldap_*: No such object
56000a3b 29
8c3c9ac8
GH
30The {{B:no such object}} error is generally returned when the target DN of the
31operation cannot be located. This section details reasons common to all
32operations. You should also look for answers specific to the operation
33(as indicated in the error message).
56000a3b 34
85784fee 35The most common reason for this error is non-existence of the named object. First,
8c3c9ac8
GH
36check for typos.
37
38Also note that, by default, a new directory server holds no objects
39(except for a few system entries). So, if you are setting up a new directory
40server and get this message, it may simply be that you have yet to add the
41object you are trying to locate.
42
e580bd79
GH
43The error commonly occurs because a DN was not specified and a default was not
44properly configured.
8c3c9ac8
GH
45
46If you have a suffix specified in slapd.conf eg.
47
48> suffix "dc=example,dc=com"
49
50You should use
51
ee5715fc 52> ldapsearch -b 'dc=example,dc=com' '(cn=jane*)'
8c3c9ac8
GH
53
54to tell it where to start the search.
56000a3b 55
e580bd79
GH
56The {{F:-b}} should be specified for all LDAP commands unless you have an
57{{ldap.conf}}(5) default configured.
56000a3b 58
e580bd79 59See {{ldapsearch}}(1), {{ldapmodify}}(1)
56000a3b 60
e580bd79
GH
61Also, {{slapadd}}(8) and its ancillary programs are very strict about the
62syntax of the LDIF file.
56000a3b 63
e580bd79
GH
64Some liberties in the LDIF file may result in an apparently successful creation
65of the database, but accessing some parts of it may be difficult.
66
67One known common error in database creation is putting a blank line before the
68first entry in the LDIF file. {{B:There must be no leading blank lines in the
69LDIF file.}}
70
71It is generally recommended that {{ldapadd}}(1) be used instead of {{slapadd}}(8)
72when adding new entries your directory. {{slapadd}}(8) should be used to bulk
73load entries known to be valid.
74
75Another cause of this message is a referral
76({SECT:Constructing a Distributed Directory Service}}) entry to an unpopulated
77directory.
78
79Either remove the referral, or add a single record with the referral base DN
80to the empty directory.
81
82This error may also occur when slapd is unable to access the contents of its
83database because of file permission problems. For instance, on a Red Hat Linux
84system, slapd runs as user 'ldap'. When slapadd is run as root to create a
85database from scratch, the contents of {{F:/var/lib/ldap}} are created with
86user and group root and with permission 600, making the contents inaccessible
87to the slapd server.
85784fee
GH
88
89H3: ldap_*: Can't chase referral
90
8c3c9ac8 91This is caused by the line
56000a3b 92
ee5715fc 93> referral ldap://root.openldap.org
56000a3b 94
e580bd79
GH
95In {{F:slapd.conf}}, it was provided as an example for how to use referrals
96in the original file. However if your machine is not permanently connected to
97the Internet, it will fail to find the server, and hence produce an error message.
98
99To resolve, just place a # in front of line and restart slapd or point it to
100an available ldap server.
56000a3b 101
e580bd79 102See also: {{ldapadd}}(1), {{ldapmodify}}(1) and {{slapd.conf}}(5)
85784fee
GH
103
104H3: ldap_*: server is unwilling to perform
105
e580bd79
GH
106slapd will return an unwilling to perform error if the backend holding the
107target entry does not support the given operation.
108
109The password backend is only willing to perform searches. It will return an
110unwilling to perform error for all other operations.
111
85784fee
GH
112H3: ldap_*: Insufficient access
113
e580bd79
GH
114This error occurs when server denies the operation due to insufficient access.
115This is usually caused by binding to a DN with insufficient privileges
116(or binding anonymously) to perform the operation.
117
118You can bind as the rootdn/rootpw specified in {{slapd.conf}}(5) to gain full
119access. Otherwise, you must bind to an entry which has been granted the
120appropriate rights through access controls.
121
85784fee
GH
122
123H3: ldap_*: Invalid DN syntax
124
e580bd79
GH
125The target (or other) DN of the operation is invalid. This implies that either
126the string representation of the DN is not in the required form, one of the
127types in the attribute value assertions is not defined, or one of the values
128in the attribute value assertions does not conform to the appropriate syntax.
85784fee
GH
129
130H3: ldap_*: Referral hop limit exceeded
131
e580bd79
GH
132This error generally occurs when the client chases a referral which refers
133itself back to a server it already contacted. The server responds as it did
134before and the client loops. This loop is detected when the hop limit is exceeded.
56000a3b 135
e580bd79
GH
136This is most often caused through misconfiguration of the server's default
137referral. The default referral should not be itself:
56000a3b 138
e580bd79
GH
139That is, on {{F:ldap://myldap/}} the default referral should not be {{F:ldap://myldap/}}
140 (or any hostname/ip which is equivalent to myldap).
85784fee
GH
141
142H3: ldap_*: operations error
143
e580bd79 144In some versions of {{slapd}}(8), {{operationsError}} was returned instead of other.
85784fee
GH
145
146H3: ldap_*: other error
147
e580bd79
GH
148The other result code indicates an internal error has occurred.
149While the additional information provided with the result code might provide
150some hint as to the problem, often one will need to consult the server's log files.
85784fee
GH
151
152H3: ldap_add/modify: Invalid syntax
153
e580bd79
GH
154This error is reported when a value of an attribute does not conform to syntax
155restrictions. Additional information is commonly provided stating which value
156of which attribute was found to be invalid. Double check this value and other
157values (the server will only report the first error it finds).
56000a3b 158
8c3c9ac8 159Common causes include:
56000a3b 160
df5196b7 161* extraneous whitespace (especially trailing whitespace)
ee5715fc
GH
162* improperly encoded characters (LDAPv3 uses UTF-8 encoded Unicode)
163* empty values (few syntaxes allow empty values)
56000a3b 164
56000a3b 165
e580bd79
GH
166For certain syntax, like OBJECT IDENTIFIER (OID), this error can indicate that
167the OID descriptor (a "short name") provided is unrecognized. For instance,
168this error is returned if the {{objectClass}} value provided is unrecognized.
85784fee
GH
169
170H3: ldap_add/modify: Object class violation
171
e580bd79
GH
172This error is returned with the entry to be added or the entry as modified
173violates the object class schema rules. Normally additional information is
174returned the error detailing the violation. Some of these are detailed below.
56000a3b 175
8c3c9ac8 176Violations related to the entry's attributes:
56000a3b 177
ee5715fc 178> Attribute not allowed
e580bd79
GH
179
180A provided attribute is not allowed by the entry's object class(es).
181
ee5715fc 182> Missing required attribute
e580bd79
GH
183
184An attribute required by the entry's object class(es) was not provided.
56000a3b 185
8c3c9ac8 186Violations related to the entry's class(es):
56000a3b 187
ee5715fc 188> Entry has no objectClass attribute
e580bd79
GH
189
190The entry did not state which object classes it belonged to.
191
ee5715fc 192> Unrecognized objectClass
e580bd79
GH
193
194One (or more) of the listed objectClass values is not recognized.
195
ee5715fc 196> No structural object class provided
e580bd79
GH
197
198None of the listed objectClass values is structural.
199
ee5715fc 200> Invalid structural object class chain
e580bd79
GH
201
202Two or more structural objectClass values are not in same structural object
203class chain.
204
ee5715fc 205> Structural object class modification
e580bd79
GH
206
207Modify operation attempts to change the structural class of the entry.
208
10566c8b 209> Instantiation of abstract objectClass.
e580bd79
GH
210
211An abstract class is not subordinate to any listed structural or auxiliary class.
212
ee5715fc 213> Invalid structural object class
e580bd79
GH
214
215Other structural object class problem.
216
ee5715fc 217> No structuralObjectClass operational attribute
e580bd79
GH
218
219This is commonly returned when a shadow server is provided an entry which does
220not contain the structuralObjectClass operational attribute.
56000a3b 221
56000a3b 222
e580bd79
GH
223Note that the above error messages as well as the above answer assumes basic
224knowledge of LDAP/X.500 schema.
85784fee
GH
225
226H3: ldap_add: No such object
227
e580bd79
GH
228The "ldap_add: No such object" error is commonly returned if parent of the
229entry being added does not exist. Add the parent entry first...
8c3c9ac8
GH
230
231For example, if you are adding "cn=bob,dc=domain,dc=com" and you get:
232
ee5715fc 233> ldap_add: No such object
8c3c9ac8 234
e580bd79
GH
235The entry "dc=domain,dc=com" likely doesn't exist. You can use ldapsearch to
236see if does exist:
8c3c9ac8 237
ee5715fc 238> ldapsearch -b 'dc=domain,dc=com' -s base '(objectclass=*)'
8c3c9ac8 239
e580bd79 240If it doesn't, add it. See {{SECT:A Quick-Start Guide}} for assistance.
8c3c9ac8 241
e580bd79
GH
242Note: if the entry being added is the same as database suffix, it's parent
243isn't required. i.e.: if your suffix is "dc=domain,dc=com", "dc=com" doesn't
244need to exist to add "dc=domain,dc=com".
8c3c9ac8 245
e580bd79
GH
246This error will also occur if you try to add any entry that the server is not
247configured to hold.
8c3c9ac8 248
e580bd79
GH
249For example, if your database suffix is "dc=domain,dc=com" and you attempt to
250add "dc=domain2,dc=com", "dc=com", "dc=domain,dc=org", "o=domain,c=us", or an
251other DN in the "dc=domain,dc=com" subtree, the server will return a
252 "No such object" (or referral) error.
8c3c9ac8 253
e580bd79
GH
254{{slapd}}(8) will generally return "no global superior knowledge" as additional
255information indicating its return noSuchObject instead of a referral as the
256server is not configured with knowledge of a global superior server.
85784fee 257
85784fee 258
e580bd79 259H3: ldap add: invalid structural object class chain
8c3c9ac8 260
e580bd79
GH
261This particular error refers to the rule about STRUCTURAL objectclasses, which
262states that an object is of one STRUCTURAL class, the structural class of the
263object. The object is said to belong to this class, zero or more auxiliaries
264 classes, and their super classes.
265
266While all of these classes are commonly listed in the objectClass attribute of
267the entry, one of these classes is the structural object class of the entry.
268Thus, it is OK for an objectClass attribute
269to contain inetOrgPerson, organizationalPerson, and person because they inherit
270 one from another to form a single super class chain. That is, inetOrgPerson SUPs
271organizationPerson SUPs person. On the other hand, it is invalid for both inetOrgPerson
272and account to be listed in objectClass as inetOrgPerson and account are not
273part of the same super class chain (unless some other class is also listed
274with is a subclass of both).
275
276To resolve this problem, one must determine which class will better serve
277structural object class for the entry, adding this class to the objectClass
278attribute (if not already present), and remove any other structural class from
279the entry's objectClass attribute which is not a super class of the structural
280object class.
281
282Which object class is better depends on the particulars of the situation.
283One generally should consult the documentation for the applications one is
284using for help in making the determination.
85784fee
GH
285
286H3: ldap_add: no structuralObjectClass operational attribute
287
8c3c9ac8
GH
288ldapadd(1) may error:
289
ee5715fc
GH
290> adding new entry "uid=XXX,ou=People,o=campus,c=ru"
291> ldap_add: Internal (implementation specific) error (80)
292> additional info: no structuralObjectClass operational attribute
8c3c9ac8 293
e580bd79
GH
294when slapd(8) cannot determine, based upon the contents of the objectClass
295attribute, what the structural class of the object should be.
8c3c9ac8 296
85784fee
GH
297
298H3: ldap_add/modify/rename: Naming violation
299
e580bd79
GH
300OpenLDAP's slapd checks for naming attributes and distinguished values consistency,
301according to RFC 4512.
56000a3b 302
e580bd79
GH
303Naming attributes are those attributeTypes that appear in an entry's RDN;
304 distinguished values are the values of the naming attributes that appear in
305an entry's RDN, e.g, in
56000a3b 306
ee5715fc 307> cn=Someone+mail=someone@example.com,dc=example,dc=com
56000a3b 308
e580bd79
GH
309the naming attributes are cn and mail, and the distinguished values are
310Someone and someone@example.com.
56000a3b 311
8c3c9ac8 312OpenLDAP's slapd checks for consistency when:
56000a3b 313
e580bd79
GH
314* adding an entry
315* modifying an entry, if the values of the naming attributes are changed
316* renaming an entry, if the RDN of the entry changes
56000a3b 317
8c3c9ac8 318Possible causes of error are:
56000a3b 319
e580bd79 320* the naming attributes are not present in the entry; for example:
56000a3b 321
ee5715fc
GH
322> dn: dc=example,dc=com
323> objectClass: organization
324> o: Example
325> # note: "dc: example" is missing
8c3c9ac8 326
e580bd79
GH
327* the naming attributes are present in the entry, but in the attributeType
328definition they are marked as:
329- collective
330- operational
331- obsolete
332
333* the naming attributes are present in the entry, but the distinguished values
334are not; for example:
8c3c9ac8 335
ee5715fc
GH
336> dn: dc=example,dc=com
337> objectClass: domain
338> dc: foobar
339> # note: "dc" is present, but the value is not "example"
8c3c9ac8 340
e580bd79
GH
341* the naming attributes are present in the entry, with the distinguished values, but the naming attributes:
342- do not have an equality field, so equality cannot be asserted
343- the matching rule is not supported (yet)
344- the matching rule is not appropriate
345
346* the given distinguished values do not comply with their syntax
347
348* other errors occurred during the validation/normalization/match process;
349this is a catchall: look at previous logs for details in case none of the above
350apply to your case.
351
352In any case, make sure that the attributeType definition for the naming attributes
353contains an appropriate EQUALITY field; or that of the superior, if they are
354defined based on a superior attributeType (look at the SUP field). See RFC 4512 for details.
8c3c9ac8 355
85784fee
GH
356
357H3: ldap_add/delete/modify/rename: no global superior knowledge
358
e580bd79
GH
359If the target entry name places is not within any of the databases the server
360is configured to hold and the server has no knowledge of a global superior,
361the server will indicate it is unwilling to perform the operation and provide
362the text "no global superior knowledge" as additional text.
363
364Likely the entry name is incorrect, or the server is not properly configured
365to hold the named entry, or, in distributed directory environments, a default
366referral was not configured.
8c3c9ac8 367
85784fee
GH
368
369H3: ldap_bind: Insufficient access
370
e580bd79
GH
371Current versions of slapd(8) requires that clients have authentication
372permission to attribute types used for authentication purposes before accessing
373them to perform the bind operation. As all bind operations are done anonymously
374(regardless of previous bind success), the auth access must be granted to anonymous.
8c3c9ac8
GH
375
376In the example ACL below grants the following access:
377
e580bd79
GH
378* to anonymous users:
379- permission to authenticate using values of userPassword
380* to authenticated users:
381- permission to update (but not read) their userPassword
382- permission to read any object excepting values of userPassword
8c3c9ac8
GH
383
384All other access is denied.
385
ee5715fc
GH
386> access to attr=userPassword
387> by self =w
388> by anonymous auth
8c3c9ac8 389
ee5715fc
GH
390> access *
391> by self write
392> by users read
8c3c9ac8
GH
393
394
85784fee
GH
395H3: ldap_bind: Invalid credentials
396
e580bd79
GH
397The error usually occurs when the credentials (password) provided does not
398match the userPassword held in entry you are binding to.
8c3c9ac8
GH
399
400The error can also occur when the bind DN specified is not known to the server.
401
e580bd79
GH
402Check both! In addition to the cases mentioned above you should check if the
403server denied access to userPassword on selected parts of the directory. In
404fact, slapd always returns "Invalid credentials" in case of failed bind,
405regardless of the failure reason, since other return codes could reveal the
406validity of the user's name.
8c3c9ac8
GH
407
408To debug access rules defined in slapd.conf, add "ACL" to log level.
85784fee
GH
409
410H3: ldap_bind: Protocol error
411
e580bd79
GH
412There error is generally occurs when the LDAP version requested by the
413client is not supported by the server.
8c3c9ac8 414
e580bd79
GH
415The OpenLDAP Software 2.x server, by default, only accepts version 3 LDAP Bind
416requests but can be configured to accept a version 2 LDAP Bind request.
8c3c9ac8 417
e580bd79
GH
418Note: The 2.x server expects LDAPv3 [RFC4510] to be used when the client
419requests version 3 and expects a limited LDAPv3 variant (basically, LDAPv3
420syntax and semantics in an LDAPv2 PDUs) to be used when version 2 is expected.
8c3c9ac8 421
e580bd79
GH
422This variant is also sometimes referred to as LDAPv2+, but differs from the U-Mich
423LDAP variant in a number of ways.
85784fee
GH
424
425H3: ldap_modify: cannot modify object class
426
e580bd79
GH
427This message is commonly returned when attempting to modify the objectClass
428attribute in a manner inconsistent with the LDAP/X.500 information model. In
429particular, it commonly occurs when one tries to change the structure of the
430object from one class to another, for instance, trying to change an 'apple'
431into a 'pear' or a 'fruit' into a 'pear'.
432
433Such changes are disallowed by the slapd(8) in accordance with LDAP and X.500 restrictions.
8c3c9ac8 434
85784fee
GH
435
436H3: ldap_sasl_interactive_bind_s: ...
437
e580bd79
GH
438If you intended to bind using a DN and password and get an error from
439ldap_sasl_interactive_bind_s, you likely forgot to provide a '-x' option to
440the command. By default, SASL authentication is used. '-x' is necessary to
441select "simple" authentication.
442
85784fee
GH
443
444H3: ldap_sasl_interactive_bind_s: No such Object
445
e580bd79
GH
446This indicates that LDAP SASL authentication function could not read the
447Root DSE.
448The error will occur when the server doesn't provide a root DSE. This may be
449due to access controls.
8c3c9ac8 450
85784fee
GH
451
452H3: ldap_sasl_interactive_bind_s: No such attribute
453
e580bd79
GH
454This indicates that LDAP SASL authentication function could read the Root
455DSE but it contained no supportedSASLMechanism attribute.
456
457The supportedSASLmechanism attribute lists mechanisms currently available.
458The list may be empty because none of the supported mechanisms are currently
459available. For example, EXTERNAL is listed only if the client has established
460its identity by authenticating at a lower level (e.g. TLS).
461
8c3c9ac8 462Note: the attribute may not be visible due to access controls
e580bd79 463
8c3c9ac8 464Note: SASL bind is the default for all OpenLDAP tools, e.g. ldapsearch(1), ldapmodify(1). To force use of "simple" bind, use the "-x" option. Use of "simple" bind is not recommended unless one has adequate confidentiality protection in place (e.g. TLS/SSL, IPSEC).
85784fee
GH
465
466H3: ldap_sasl_interactive_bind_s: Unknown authentication method
467
e580bd79
GH
468This indicates that none of the SASL authentication supported by the server
469are supported by the client, or that they are too weak or otherwise inappropriate
470for use by the client. Note that the default security options disallows the use
471of certain mechanisms such as ANONYMOUS and PLAIN (without TLS).
472
8c3c9ac8 473Note: SASL bind is the default for all OpenLDAP tools. To force use of "simple" bind, use the "-x" option. Use of "simple" bind is not recommended unless one has adequate confidentiality protection in place (e.g. TLS/SSL, IPSEC).
85784fee
GH
474
475H3: ldap_sasl_interactive_bind_s: Local error (82)
476
8c3c9ac8
GH
477Apparently not having forward and reverse DNS entries for the LDAP server can result in this error.
478
85784fee
GH
479
480H3: ldap_search: Partial results and referral received
481
e580bd79
GH
482This error is returned with the server responses to an LDAPv2 search query
483with both results (zero or more matched entries) and references (referrals to other servers).
8c3c9ac8 484See also: ldapsearch(1).
e580bd79
GH
485
486If the updatedn on the replica does not exist, a referral will be returned.
487It may do this as well if the ACL needs tweaking.
85784fee
GH
488
489H3: ldap_start_tls: Operations error
490
8c3c9ac8
GH
491ldapsearch(1) and other tools will return
492
ee5715fc
GH
493> ldap_start_tls: Operations error (1)
494> additional info: TLS already started
8c3c9ac8 495
e580bd79
GH
496When the user (though command line options and/or ldap.conf(5)) has requested
497TLS (SSL) be started twice. For instance, when specifying both "-H ldaps://server.do.main" and "-ZZ".
85784fee
GH
498
499H2: Other Errors
500
501H3: ber_get_next on fd X failed errno=34 (Numerical result out of range)
502
e580bd79
GH
503This slapd error generally indicates that the client sent a message that
504exceeded an administrative limit. See sockbuf_max_incoming and sockbuf_max_incoming_auth
505configuration directives in slapd.conf(5).
85784fee
GH
506
507H3: ber_get_next on fd X failed errno=11 (Resource temporarily unavailable)
508
e580bd79
GH
509This message is not indicative of abnormal behavior or error. It simply means
510that expected data is not yet available from the resource, in this context, a
511network socket. slapd(8) will process the data once it does becomes available.
85784fee
GH
512
513H3: daemon: socket() failed errno=97 (Address family not supported)
514
e580bd79
GH
515This message indicates that the operating system does not support one of the
516(protocol) address families which slapd(8) was configured to support. Most
517commonly, this occurs when slapd(8) was configured to support IPv6 yet the
518operating system kernel wasn't. In such cases, the message can be ignored.
85784fee
GH
519
520H3: GSSAPI: gss_acquire_cred: Miscellaneous failure; Permission denied;
521
e580bd79
GH
522This message means that slapd is not running as root and, thus, it cannot get
523its Kerberos 5 key from the keytab, usually file /etc/krb5.keytab.
8c3c9ac8 524
e580bd79
GH
525A keytab file is used to store keys that are to be used by services or daemons
526that are started at boot time. It is very important that these secrets are kept
527beyond reach of intruders.
8c3c9ac8 528
e580bd79
GH
529That's why the default keytab file is owned by root and protected from being
530read by others. Do not mess with these permissions, build a different keytab
38d9e22b
HC
531file for slapd instead, and make sure it is owned by the user that slapd
532runs as.
8c3c9ac8
GH
533
534To do this, start kadmin, and enter the following commands:
535
e580bd79
GH
536> addprinc -randkey ldap/ldap.example.com@EXAMPLE.COM
537> ktadd -k /etc/openldap/ldap.keytab ldap/ldap.example.com@EXAMPLE.COM
8c3c9ac8
GH
538
539Then, on the shell, do:
540
38d9e22b 541> chown ldap:ldap /etc/openldap/ldap.keytab
e580bd79
GH
542> chmod 600 /etc/openldap/ldap.keytab
543
544Now you have to tell slapd (well, actually tell the gssapi library in Kerberos 5
545that is invoked by Cyrus SASL) where to find the new keytab. You do this by
546setting the environment variable KRB5_KTNAME like this:
547
548> export KRB5_KTNAME="FILE:/etc/openldap/ldap.keytab"
8c3c9ac8 549
e580bd79
GH
550Set that environment variable on the slapd start script (Red Hat users might
551find /etc/sysconfig/ldap a perfect place).
8c3c9ac8 552
e580bd79
GH
553This only works if you are using MIT kerberos. It doesn't work with Heimdal,
554for instance.
8c3c9ac8 555
8c3c9ac8 556
e580bd79
GH
557In Heimdal there is a function gsskrb5_register_acceptor_identity() that sets
558the path of the keytab file you want to use. In Cyrus SASL 2 you can add
559
560> keytab: /path/to/file
8c3c9ac8
GH
561
562to your application's SASL config file to use this feature. This only works with Heimdal.
e580bd79 563
85784fee
GH
564
565H3: access from unknown denied
566
8c3c9ac8 567This related to TCP wrappers. See hosts_access(5) for more information.
e580bd79
GH
568in the log file: "access from unknown denied" This related to TCP wrappers.
569See hosts_access(5) for more information.
570for example: add the line "slapd: .hosts.you.want.to.allow" in /etc/hosts.allow
571to get rid of the error.
85784fee
GH
572
573H3: ldap_read: want=# error=Resource temporarily unavailable
574
e580bd79
GH
575This message occurs normally. It means that pending data is not yet available
576from the resource, a network socket. slapd(8) will process the data once it
577becomes available.
85784fee
GH
578
579H3: `make test' fails
580
8c3c9ac8
GH
581Some times, `make test' fails at the very first test with an obscure message like
582
e580bd79 583> make test
af5b31b2
QGM
584> make[1]: Entering directory `/ldap_files/openldap-2.5.0/tests'
585> make[2]: Entering directory `/ldap_files/openldap-2.5.0/tests'
49ae28a2 586> Initiating LDAP tests for MDB...
e580bd79
GH
587> Cleaning up test run directory leftover from previous run.
588> Running ./scripts/all...
49ae28a2 589> >>>>> Executing all LDAP tests for mdb
e580bd79
GH
590> >>>>> Starting test000-rootdse ...
591> running defines.sh
592> Starting slapd on TCP/IP port 9011...
593> Using ldapsearch to retrieve the root DSE...
594> Waiting 5 seconds for slapd to start...
595> ./scripts/test000-rootdse: line 40: 10607 Segmentation fault $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING >$LOG1 2>&1
596> Waiting 5 seconds for slapd to start...
597> Waiting 5 seconds for slapd to start...
598> Waiting 5 seconds for slapd to start...
599> Waiting 5 seconds for slapd to start...
600> Waiting 5 seconds for slapd to start...
601> ./scripts/test000-rootdse: kill: (10607) - No such pid
602> ldap_sasl_bind_s: Can't contact LDAP server (-1)
603> >>>>> Test failed
604> >>>>> ./scripts/test000-rootdse failed (exit 1)
49ae28a2 605> make[2]: *** [mdb-yes] Error 1
af5b31b2 606> make[2]: Leaving directory `/ldap_files/openldap-2.5.0/tests'
e580bd79 607> make[1]: *** [test] Error 2
af5b31b2 608> make[1]: Leaving directory `/ldap_files/openldap-2.5.0/tests'
e580bd79 609> make: *** [test] Error 2
8c3c9ac8
GH
610
611or so. Usually, the five lines
612
613 Waiting 5 seconds for slapd to start...
614
615indicate that slapd didn't start at all.
616
e580bd79
GH
617In tests/testrun/slapd.1.log there is a full log of what slapd wrote while
618trying to start. The log level can be increased by setting the environment
619variable SLAPD_DEBUG to the corresponding value; see loglevel in slapd.conf(5)
620for the meaning of log levels.
8c3c9ac8 621
e580bd79
GH
622A typical reason for this behavior is a runtime link problem, i.e. slapd cannot
623find some dynamic libraries it was linked against. Try running ldd(1) on slapd
624(for those architectures that support runtime linking).
8c3c9ac8 625
e580bd79
GH
626There might well be other reasons; the contents of the log file should help
627clarifying them.
8c3c9ac8 628
e580bd79
GH
629Tests that fire up multiple instances of slapd typically log to tests/testrun/slapd.<n>.log,
630with a distinct <n> for each instance of slapd; list tests/testrun/ for possible
631values of <n>.
85784fee
GH
632
633H3: ldap_*: Internal (implementation specific) error (80) - additional info: entry index delete failed
634
ec2cb12e 635This seems to be related with wrong ownership of the MDB's dir (/var/lib/ldap)
38d9e22b 636and files. The files must be owned by the user that slapd runs as.
e580bd79 637
38d9e22b 638> chown -R ldap:ldap /var/lib/ldap
e580bd79
GH
639
640fixes it in Debian
641
85784fee 642
85784fee
GH
643H3: ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
644
e580bd79
GH
645Using SASL, when a client contacts LDAP server, the slapd service dies
646immediately and client gets an error :
647
648> SASL/GSSAPI authentication started ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
649
85784fee 650Then check the slapd service, it stopped.