If you like this, please consider donating to fund further development.
After years of frustration waiting for the Mozilla Thunderbird folks to add the ability to edit LDAP address-books, and years of frustration with the pigheadedness and brain-damagedness of LDAP server software, I decided to write my own little pseudo-LDAP server.
This is a proof of concept only and not meant for production use yet.
Here it is, in Perl: generic-ldap-0.1 It merely reads in
a Thunderbird address book using a module from CPAN
or an LDIF file, using another module from CPAN
or anything else you care to write a plugin for (put it in the Plugins/ subdirectory)... there's a start on a Wordpress module, or you could write one for OSCommerce, or... the sky's the limit
and shares that out via the LDAP protocol, using the Net::LDAP::Server module. Writing this meant seeing what the various email clients (Thunderbird, Evolution, KMail) actually wanted to see.
The nastiest, most brain-damaged part of LDAP is the non-standard field (attribute) names. None of these programs agree on what to call "home street address" versus "work street address," for example. What a nightmare. My little server tries to remedy this by copying what it can suss out, into every possible field that your email client might be looking for.
What needs to be done yet?
Better (or any) support for Outlook and Outlook Express, both reading their address-books and talking what they want to hear in terms of LDAP
Security. Right now there isn't much, beyond plaintext password authentication for each resource. You probably want to run this behind a firewall until there is support for TLS or SSL or something else. Perhaps another set of Plugins.
Support for reading IMAP address books, vCards, etc.
Support for more complex queries. Right now it only understands "OR" queries. Again, possibly as another set of Plugins.
This is written as an extensible system with Plugins. At the moment it fills my internal needs -- specifically, sharing a single Thunderbird address-book inside an office.
Please contact me if you would like help adding features or additional development.
William Lindley, wlindley.com, 480.947.6100