4. Then I use ‘saslpasswd2 -c liji1’ to add a user and create
/usr/lib/sasl2/slapd.conf with content:

pwcheck_method: auxprop

auxprop_plugin: sasldb

mech_list: plain login ntlm cram-md5 digest-md5

5. Then I start slapd with command ‘slapd -d 1’, and run
ldapwhoami with command: ‘ldapwhoami -h localhost -U root -Y DIGEST-MD5
-p 389’, but fails with reason: user not found: no secret in database.
The log of slapd is:

slap_listener_activate(7):

>>> slap_listener(ldap:///)

connection_get(12): got connid=1

connection_read(12): checking for
input on id=1

ber_get_next

ber_get_next: tag 0x30 len 32
contents:

op tag 0x60, time 1276849696

ber_get_next

conn=1 op=0 do_bind

ber_scanf fmt ({imt) ber:

ber_scanf fmt ({m) ber:

ber_scanf fmt (}}) ber:

>>> dnPrettyNormal: <>

<<< dnPrettyNormal:
<>, <>

do_bind: dn () SASL mech DIGEST-MD5

SASL [conn=1] Debug: DIGEST-MD5
server step 1

send_ldap_sasl: err=14 len=180

send_ldap_response: msgid=1 tag=97
err=14

ber_flush2: 233 bytes to sd 12

<== slap_sasl_bind: rc=14

connection_get(12): got connid=1

connection_read(12): checking for
input on id=1

ber_get_next

ber_get_next: tag 0x30 len 296
contents:

op tag 0x60, time 1276849697

ber_get_next

conn=1 op=1 do_bind

ber_scanf fmt ({imt) ber:

ber_scanf fmt ({m) ber:

ber_scanf fmt (m) ber:

ber_scanf fmt (}}) ber:

>>> dnPrettyNormal: <>

<<< dnPrettyNormal:
<>, <>

do_bind: dn () SASL mech DIGEST-MD5

SASL [conn=1] Debug: DIGEST-MD5
server step 2

slap_sasl_getdn: u:id converted to uid=liji1,cn=DIGEST-MD5,cn=auth

>>> dnNormalize:
<uid=liji1,cn=DIGEST-MD5,cn=auth>

<<< dnNormalize:
<uid=liji1,cn=digest-md5,cn=auth>

==>slap_sasl2dn: converting SASL
name uid=liji1,cn=digest-md5,cn=auth to a DN