[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
trying to get courier and openldap to play nice
- To: openldap-software@OpenLDAP.org
- Subject: trying to get courier and openldap to play nice
- From: Richard Harding <rick@ricksweb.info>
- Date: Thu, 11 Dec 2003 10:23:31 -0500
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
I am trying to authenticate "virtual" users to IMAP with courier and
openldap. I started out using this article as a starting point.
http://blog.akbkhome.com/blog/archives/18_Getting_a_OpenLDAPCourierIMAPexim_server_up_and_going.html
openldap seems to be working as I can authenticate and run queries as
the virtual users. I cannot seem to telnet to imap and login manually as
these users however. I have been trying to go through the various debug
levels to see where the queries are failing, but I am having a hard time
making sense of many of the things in there. I was wondering if anyone
sees anything blantantly wrong in these levels? Is there some other way
I can better debug why these queries are failing? I only get a "login
failed" error in mail.log and mail.err and no corresponding errors in
/var/log/messages.
cn=admin is the admin user of the openldap server that courier is
binding as to check
uid=rharding is the virtual user I am testing this all with
basedn is dc=home,dc=ricksweb,dc=info
Thanks for any help that you might be able to offer.
-Rick
Here is the output at level 4
:slapd -d4
connection_get(12)
==> bdb_bind: dn: cn=admin,dc=home,dc=ricksweb,dc=info
send_ldap_result: err=0 matched="" text=""
connection_get(12)
deferring operation
SRCH "dc=home,dc=ricksweb,dc=info" 2 0 0 0 0
filter: (mail=rharding)
attrs: homeDirectory Maildir cn userPassword uidNumber mail
bdb_idl_fetch_key: [b49d1940]
bdb_idl_fetch_key: [4f067bec]
At level 32:
str2filter "(objectclass=*)"
begin get_filter
PRESENT
end get_filter 0
begin get_filter
EQUALITY
end get_filter 0
=> bdb_filter_candidates
AND
=> bdb_list_candidates 0xa0
=> bdb_filter_candidates
DN SUBTREE
<= bdb_filter_candidates: id=-1 first=1 last=5
=> bdb_filter_candidates
OR
=> bdb_list_candidates 0xa1
=> bdb_filter_candidates
EQUALITY
<= bdb_filter_candidates: id=0 first=0 last=0
=> bdb_filter_candidates
EQUALITY
<= bdb_filter_candidates: id=0 first=0 last=0
<= bdb_list_candidates: id=0 first=0 last=0
<= bdb_filter_candidates: id=0 first=0 last=0
<= bdb_list_candidates: id=0 first=1 last=0
<= bdb_filter_candidates: id=0 first=1 last=0
and finally at 1
bdb_db_open: dbenv_open(/var/lib/ldap)
slapd starting
ldap_pvt_gethostbyname_a: host=localhost, r=0
put_filter: "(objectclass=*)"
put_filter: simple
put_simple_filter: "objectclass=*"
ber_scanf fmt (m) ber:
connection_get(12): got connid=0
connection_read(12): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 55 contents:
do_bind
ber_get_next
ber_get_next on fd 12 failed errno=11 (Resource temporarily unavailable)
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
>>> dnPrettyNormal: <cn=admin,dc=home,dc=ricksweb,dc=info>
=> ldap_bv2dn(cn=admin,dc=home,dc=ricksweb,dc=info,0)
<= ldap_bv2dn(cn=admin,dc=home,dc=ricksweb,dc=info,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=admin,dc=home,dc=ricksweb,dc=info,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(cn=admin,dc=home,dc=ricksweb,dc=info,272)=0
<<< dnPrettyNormal: <cn=admin,dc=home,dc=ricksweb,dc=info>,
<cn=admin,dc=home,dc=ricksweb,dc=info>
do_bind: version=2 dn="cn=admin,dc=home,dc=ricksweb,dc=info" method=128
bdb_dn2entry_rw("cn=admin,dc=home,dc=ricksweb,dc=info")
=> bdb_dn2id_matched( "cn=admin,dc=home,dc=ricksweb,dc=info" )
<= bdb_dn2id_matched: id=0x00000002: entry
cn=admin,dc=home,dc=ricksweb,dc=info
entry_decode: "cn=admin,dc=home,dc=ricksweb,dc=info"
<= entry_decode(cn=admin,dc=home,dc=ricksweb,dc=info)
=> string_expand: pattern: cn=admin,dc=home,dc=ricksweb,dc=info
=> string_expand: expanded: cn=admin,dc=home,dc=ricksweb,dc=info
=> regex_matches: string:
=> regex_matches: rc: 1 no matches
====> bdb_cache_return_entry_r( 2 ): created (0)
do_bind: v2 bind: "cn=admin,dc=home,dc=ricksweb,dc=info" to
"cn=admin,dc=home,dc=ricksweb,dc=info"
send_ldap_result: conn=0 op=0 p=2
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 12
connection_get(12): got connid=0
connection_read(12): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 128 contents:
ber_get_next
ber_get_next on fd 12 failed errno=11 (Resource temporarily unavailable)
do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <dc=home,dc=ricksweb,dc=info>
=> ldap_bv2dn(dc=home,dc=ricksweb,dc=info,0)
<= ldap_bv2dn(dc=home,dc=ricksweb,dc=info,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=home,dc=ricksweb,dc=info,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(dc=home,dc=ricksweb,dc=info,272)=0
<<< dnPrettyNormal: <dc=home,dc=ricksweb,dc=info>,
<dc=home,dc=ricksweb,dc=info>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
=> bdb_back_search
bdb_dn2entry_rw("dc=home,dc=ricksweb,dc=info")
=> bdb_dn2id_matched( "dc=home,dc=ricksweb,dc=info" )
<= bdb_dn2id_matched: id=0x00000001: entry dc=home,dc=ricksweb,dc=info
entry_decode: "dc=home,dc=ricksweb,dc=info"
<= entry_decode(dc=home,dc=ricksweb,dc=info)
search_candidates: base="dc=home,dc=ricksweb,dc=info" (0x00000001) scope=2
=> bdb_dn2idl( "dc=home,dc=ricksweb,dc=info" )
=> bdb_equality_candidates (objectClass)
=> key_read
<= bdb_index_read: failed (-30991)
<= bdb_equality_candidates: id=0, first=0, last=0
=> bdb_equality_candidates (mail)
=> key_read
<= bdb_index_read: failed (-30991)
<= bdb_equality_candidates: id=0, first=0, last=0
bdb_search_candidates: id=0 first=1 last=0
====> bdb_cache_return_entry_r( 1 ): created (0)
bdb_search: no candidates
send_search_result: err=0 matched="" text=""
send_ldap_response: msgid=2 tag=101 err=0
ber_flush: 14 bytes to sd 12