Outlook + Thunderbird + OpenLDAP = Fail

So, I’ve tried to build an OpenLDAP directory that can be viewed by both Outlook and Thunderbird clients.

The idea is simple enough, but Microsoft’s insistence on re-writing standardized protocols makes the task VERY difficult. This makes sense, why would Microsoft’s Active Directory want to be compatible with an Open Source system that’s free?

Here’s the breakdown, Outlook 2007 searches for the following fields when accessing an LDAP, diregard the first line, that’s the connection:

conn=521 op=1 SRCH attr=
cn
commonName
mail
roleOccupant
display-name
displayname
sn
surname
co
organizationName
o
givenName
legacyExchangeDN
objectClass
uid
mailNickname
title
company
physicalDeliveryOfficeName
telephoneNumber
homephone
Telephone-Office2
facsimileTelephoneNumber
mobile
Telephone-Assistant
pager
info

And here’s Thunderbird’s query:
conn=0 op=1 SRCH attr=
o
company
mail
mozillaUseHtmlMail
xmozillausehtmlmail
mozillaCustom2
custom2
mozillaHomeCountryName
ou
department
departmentnumber
orgunit
mobile
cellphone
carphone
telephoneNumber
title
mozillaCustom1
custom1
mozillaNickname
xmozillanickname
mozillaWorkUrl
workurl
fax
facsimiletelephonenumber
mozillaSecondEmail
xmozillasecondemail
mozillaCustom4
custom4
nsAIMid
nscpaimscreenname
street
streetaddress
postOfficeBox
givenName
l
locality
homePhone
mozillaHomeUrl
homeurl
mozillaHomeStreet
st
region
mozillaHomePostalCode
mozillaHomeLocalityName
mozillaCustom3
custom3
birthyear
mozillaWorkStreet2
mozillaHomeStreet2
postalCode
zip
c
countryname
pager
pagerphone
sn
surname
mozillaHomeState
description
notes
modifytimestamp
cn
commonname

The funny part is the free and open source search by Thunderbird is much more detailed and thorough. Outlook’s search on the other hand defies standards. The “Company” field for Outlook is “company” in the LDAP. However this is INCORRECT. The field Outlook should put in as the company is “organizationName” or “o”. A newbie reading this might think Microsoft is just being intuitive. Nope, their encouraging their proprietary systems so they cannot interact with open source systems.

As far as I know LDAP has been around a very long time and Microsoft should not ignore the basic schema and standards currently in place. At the very top (the core.schema) the organizationName (or ‘o’) has been there for a very long time.

Anyway, a work around is to define the ‘o’ for open source as the same as ‘company’ for the mega evil giant, Microsoft.

-Andy