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

Re: loadable module support

At 11:17 AM 4/27/99 +0200, Bastiaan Bakker wrote:
>Any help with integrating this stuff with the autoconf
>build environment would be appreciated very much too. (Kurt probably is
>too busy for that and it may take a while before I've learned how to do
>it myself).

I've actually already provided basic configure support for
modules.  See ./configure --help and include/portable.h.in.

>string_map.h and string_map.c have been added these files contain (a
>start of ) an implementation of a char* to void*
>map, based on the AVL tree.

Consider placing these in -llutil so that other applications can
share them.

Also, note, folks are talking about client side modules (for SASL
plugin).  Something to keep in mind.

Basically, I'd like the term "module" be not specific to the
type of dynamically loaded code.  And "backend" used to refer
to a database backend.  A "backend module" would be dynamically
loaded database backend.  We could also have various acl,
syntax, and matching-rule modules.

Hence, in slapd.conf, you would just specify a list of modules
to load (but not what services(s) they provide). The frontend
would call an initialization routine for each module.  This
function would then register the services (backend,
syntax, matching-rule, and acl it provides.

It look like your code may provide some of the separation
(of "module" from the service(s) it provides) already.