[Date Prev][Date Next] [Chronological] [Thread] [Top]

authoring slapd backend modules



Hello,
I'm really not completely sure that this is on-topic, so if it's not, please point me to the proper location.
I am working on an application called swab (http://hacking.kennypearce.net/swab) which aims to be a single address book used system-wide, accessed by all of the programs which need an address book under Linux. swab has it's own api, but obviously no other applications will support it until it becomes pervasive. Of course, it cannot become pervasive until it is truly system-wide. Therein lies my problem - allowing swab to be accessed by programs that were not written to access it.
I have determined that a large percentage of the programs that I have set out to support (evolution, mozilla, netscape, pine and mutt) support LDAP, so I have determined that to emulate LDAP is probably the best approach for making swab accessible to the most programs with the smallest amount of code being written. Upon skimming the openldap administrators' guide, I came to the conclusion that it would probably be possible to write a slapd backend module (which could be distributed seperately from openldap and inserted without an openldap recompile, I hope) which would put forth an LDAP directory service based on the data in the swab address book. This would have the happy side-effect that the user could choose to make his swab address book accessible remotely.
The reason that I chose not to support LDAP natively is that the expectation is that programs will want to both read from and write to the address book, since it doesn't have it's own GUI. I was told that LDAP was not designed for write-intensive applications and that either a standard database or some xml files would be better. I went with mysql.
Anyway, my question is, is this plausible? If so, where are the docs describing the api for writing backend modules like this?


   TIA,

--
Kenny Pearce
(www.kennypearce.net)
Co-Developer, "Truth2000: The Talking Bible Project"
(truth2000.sourceforge.net)
"If you confess with your mouth Jesus as Lord, and believe in your heart that God raised Him from the dead, you shall be saved" - Romans 10:9

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature