MozillaZine

TB 1.0 LDAP Autocompletion Problem

Discussion of general topics about Mozilla Thunderbird
thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 28th, 2005, 12:28 pm

Hello all,

I'm using OpenLDAP and TB 1.0.

I type in "April" and TB manages to pull up the appropriate contact records.

However, if I type in "Lori" TB won't do anything except append a @mydomain.com to the text.

The LDAP records are pretty much identical.

It's hit or miss from record to record, though.

What can cause such a problem?

Thanks!
Learn how to astral travel for free: http://mysticweb.org

thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 28th, 2005, 1:13 pm

New information --

Typing in the last name will call up any contact in the database.

Only a few records will pop up when typing in the first name (givenName).

And ideas?
Learn how to astral travel for free: http://mysticweb.org

thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 28th, 2005, 2:40 pm

More info --

I type in "de" on the To: line.

The following shows up in my OpenLDAP log --

Code: Select all
connection_get(1200): got connid=83
connection_read(1200): checking for input on id=83
ber_get_next
ber_get_next: tag 0x30 len 5 contents:
ber_get_next
ber_get_next on fd 1200 failed errno=0 (unknown WSA error)
connection_read(1200): input error=-2 id=83, closing.
connection_closing: readying conn=83 sd=1200 for close
connection_close: deferring conn=83 sd=1200
do_unbind
connection_resched: attempting closing conn=83 sd=1200
connection_close: conn=83 sd=1200
connection_get(1200): got connid=84
connection_read(1200): checking for input on id=84
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
do_bind
ber_get_next
ber_get_next on fd 1200 failed errno=10035 (WSAEWOULDBLOCK)
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
>>> dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
do_bind: version=3 dn="" method=128
send_ldap_result: conn=84 op=0 p=3
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 1200
do_bind: v3 anonymous bind
connection_get(1200): got connid=84
connection_read(1200): checking for input on id=84
ber_get_next
ber_get_next: tag 0x30 len 106 contents:
ber_get_next
ber_get_next on fd 1200 failed errno=10035 (WSAEWOULDBLOCK)
do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <ou=AddressBook,dc=example,dc=com>
=> ldap_bv2dn(ou=AddressBook,dc=example,dc=com,0)
ldap_err2string
<= ldap_bv2dn(ou=AddressBook,dc=example,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(ou=AddressBook,dc=example,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(ou=addressbook,dc=example,dc=com)=0 Success
<<< dnPrettyNormal: <ou=AddressBook,dc=example,dc=com>, <ou=addressbook,dc=example,dc=com>
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({M}}) ber:
==> limits_get: conn=84 op=1 dn="[anonymous]"
=> bdb_search
bdb_dn2entry("ou=addressbook,dc=example,dc=com")
search_candidates: base="ou=addressbook,dc=example,dc=com" (0x00000004) scope=2
=> bdb_dn2idl( "ou=addressbook,dc=example,dc=com" )
<= bdb_dn2idl: id=268 first=4 last=273
=> bdb_equality_candidates (objectClass)
<= bdb_equality_candidates: (objectClass) index_param failed (18)
=> bdb_substring_candidates (cn)
<= bdb_substring_candidates: (cn) index_param failed (18)
=> bdb_substring_candidates (mail)
<= bdb_substring_candidates: (mail) index_param failed (18)
=> bdb_substring_candidates (sn)
<= bdb_substring_candidates: (sn) index_param failed (18)
bdb_search_candidates: id=268 first=4 last=273
bdb_search: 4 does not match filter
.....................................
bdb_search: 53 does not match filter
=> send_search_entry: dn="cn=Derzon\2C James,ou=AddressBook,dc=example,dc=com"
ber_flush: 128 bytes to sd 1200
<= send_search_entry
bdb_search: 55 does not match filter
.....................................
bdb_search: 96 does not match filter
=> send_search_entry: dn="cn=Dewey\2C Talbot,ou=AddressBook,dc=example,dc=com"
ber_flush: 85 bytes to sd 1200
<= send_search_entry
bdb_search: 98 does not match filter
bdb_search: 99 does not match filter
=> send_search_entry: dn="cn=Dewey-Houghton\2C Priscilla,ou=AddressBook,dc=example,dc=com"
ber_flush: 137 bytes to sd 1200
<= send_search_entry
bdb_search: 101 does not match filter
.....................................
bdb_search: 162 does not match filter
=> send_search_entry: dn="cn=Elliott\2C Delbert,ou=AddressBook,dc=example,dc=com"
ber_flush: 132 bytes to sd 1200
<= send_search_entry
bdb_search: 164 does not match filter
.....................................
bdb_search: 190 does not match filter
=> send_search_entry: dn="cn=desk,ou=AddressBook,dc=example,dc=com"
ber_flush: 89 bytes to sd 1200
<= send_search_entry
bdb_search: 192 does not match filter
.....................................
bdb_search: 232 does not match filter
=> send_search_entry: dn="cn=Jennings\2C Debby,ou=AddressBook,dc=example,dc=com"
ber_flush: 137 bytes to sd 1200
<= send_search_entry
bdb_search: 234 does not match filter
.....................................
bdb_search: 247 does not match filter
=> send_search_entry: dn="cn=Demuczuk\2C Bernard,ou=AddressBook,dc=example,dc=com"
ber_flush: 121 bytes to sd 1200
<= send_search_entry
bdb_search: 249 does not match filter
.....................................
bdb_search: 273 does not match filter
send_ldap_result: conn=84 op=1 p=3
send_ldap_response: msgid=2 tag=101 err=0
ber_flush: 14 bytes to sd 1200


There are at least two other entries that aren't showing up that should be.

PLEASE HELP!!! :)

Thanks much.
Learn how to astral travel for free: http://mysticweb.org

thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 28th, 2005, 4:44 pm

Code: Select all
=> bdb_equality_candidates (objectClass)
<= bdb_equality_candidates: (objectClass) index_param failed (18)
=> bdb_substring_candidates (cn)
<= bdb_substring_candidates: (cn) index_param failed (18)
=> bdb_substring_candidates (mail)
<= bdb_substring_candidates: (mail) index_param failed (18)
=> bdb_substring_candidates (sn)
<= bdb_substring_candidates: (sn) index_param failed (18)


I decided to focus on this bit here.

When I ran the search from the Address Book window, I checked the logs and saw that givenName was showing up in the above snippet.

When I ran the search from the Advanced Address Book Search window, I checked the logs and saw that givenName minus mail was showing up.

In both instances, I got all the results I expected to see.

Is it possible to specify that "givenName" should also be searched when doing autocompletions?

Then again, maybe I should figure out how to adjust the index settings in OpenLDAP.

Thoughts, friends?
Learn how to astral travel for free: http://mysticweb.org

thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 28th, 2005, 5:21 pm

Hmm.. well, I indexed sn, cn, mail, and givenName for pres, eq, and sub.

I thought this might change things, but it hasn't.

I'm thinking I need to specify more LDAP fields in the autocompletion lookup.

Can I do this without busting out C++?

Thanks.
Learn how to astral travel for free: http://mysticweb.org

thebestdcbuddy
 
Posts: 7
Joined: January 28th, 2005, 12:24 pm

Post Posted January 31st, 2005, 8:57 am

I took the easy and obvious route -- changed the cn from "lastname, firstname" to "firstname lastname."

It would still be cool to know if modifying the filter is possible. No big deal anymore, though, I guess. :)

Peace.
Learn how to astral travel for free: http://mysticweb.org

Return to Thunderbird General


Who is online

Users browsing this forum: No registered users and 0 guests