--- date: "2004-07-13T05:05:04Z" title: LDAP Should Be Beaten, Shot Twice, then Beaten Again --- <p> I'm trying to set up an address book that's accessible from arbitrary clients. The logical way to do that is set up an <acronym title='Lightweight Directory Access Protocol'>LDAP</acronym> server (in my case, <a href='http://www.openldap.org/'>OpenLDAP</a>), then populate it with contact information. That's all fine and good. I can add entries with <a href='http://olivier.sessink.nl/directoryassistant/'>Directory Assistant</a> and <a href='http://biot.com/gq/'>GQ</a>. I can even query the <acronym title='Lightweight Directory Access Protocol'>LDAP</acronym> server with <a href='http://www.mozilla.org/products/thunderbird/'>Thunderbird</a> (and presumably <a href='http://www.novell.com/products/evolution/'>Evolution</a> as well, although I haven't tried). Here's the snag: I'd like to be able to store modern attributes, such as <acronym title='Internet Relay Chat'>IRC</acronym> nicknames, <a href='http://www.aim.com/'><acronym title='AOL Instant Messenger'>AIM</acronym></a> and <a href='http://www.icq.com/'><abbr title='I Seek You'>ICQ</abbr></a> screen names, web sites, etc. <a href='http://www.mozilla.org/products/thunderbird/'>Thunderbird</a> allows you to enter in those attributes, and you can export entries in <acronym title='Lightweight Data Interchange Format'>LDIF</acronym> format, but when I try and import them into <a href='http://www.openldap.org/'>OpenLDAP</a>, it complains about missing attributes (obviously). Well, <a href='http://www.topology.org/linux/ldap.html#server'>this page</a> talks about the exact same problem. The author references the <code><a href='http://bugzilla.mozilla.org/attachment.cgi?id=104858&action=view'>mozillaOrgPerson schema</a></code> and <code><a href='http://www.netpress.com/mozilla/ab2ldap_1/mozilla_op20.schema'>mozilla_op20.schema</a></code>, but when I include those in my <code>slapd.conf</code>, I get the following error: </p> <blockquote> <code> /etc/ldap/schema/mozillaorgperson.schema: line 135: AttributeType not found: "nsAIMid" </code> </blockquote> <p> Huh? The schema is supposed to be <em>defining</em> attributes, not referencing them. I guess I'll keep plugging away. One other problem: <a href='http://www.mozilla.org/products/thunderbird/'>Thunderbird</a> can only <em>query</em> <acronym title='Lightweight Directory Access Protocol'>LDAP</acronym> servers, not add entries to them. That means I'll have to create entries locally, export them as <acronym title='Lightweight Data Interchange Format'>LDIF</acronym> files, tweak them slightly for my DN, then import them by hand. Ugh. I'd like something as simple as <a href='http://olivier.sessink.nl/directoryassistant/'>Directory Assistant</a> that supports the extra attributes (an extra bonus would be a console interface; I do believe I might be writing another console application ;-)). </p> <p> This seems like a simple problem. I'm <em>sure</em> lots of other people have tried to do what I'm doing right now. So where's the simple solution? I just want to set up a modern address book that's accessible via LDAP, and I'd prefer not to have to reinvent the wheel, electricity, indoor plumbing, and nuclear fusion in the process. Suggestions? </p> <p> <b>Edit:</b> The grammar police detained me for questioning. </p>