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

slapd backend



Hi!
Thanks Kurt for all the comments and suggestions about writing the
backend that I called 'tlwc'.
I have done it all and finally I changed the slapd.conf file from
...
database ldbm
...

to

...
database tlwc
...

but it seems that something(?) is missing.

This is what I've done so far:
I added the new backend folder slapd/back-tlwc/ and copied files from
another backend (back-tcl by Ben Collin) to this folder.
I added the declarations in external.h
I added 'tlwc' backend into binfo[] array
I included the correct external.h in backend.c:
    #ifdef SLAPD_TLWC
    #include "back-tlwc/external.h"
    #endif
I changed in configure.in in main folder:
    OL_ARG_ENABLE(tlwc,[    --enable-tlwc enable tlwc backend], no)dnl
    OL_ARG_WITH(tlwc_module,[      --with-tlwc-module module type],
static,
    [static dynamic])

I also copied and modified the corresponding makefile for tlwc package
which I have attached.
I finally modified the tlwc-bind function so it saved the incoming
request and returned 0 (ie. bind success).

But when I started slapd.exe I got the following:

D:\OpenLDAP\OpenLDAP2.0-alpha\Bin>slapd -p 389 -f ..\conf\slapd.conf -d
8
starting slapd...
must compile with LDAP_DEBUG for debugging
Unrecognized database type (tlwc)
D:\OpenLDAP\OpenLDAP2.0-alpha\Bin>

So it seems that slapd cant find my backend functions.

When starting slapd, what backend functions are automatically called
(configuration etc)? and what information must be sent back to the
frontend to make it possible to continue?

Exactly what (other) changes do I have to do to enable slapd to link to
my new database?
Really greatful for any help.

When I've done this I promise to write some kind of doc for new backend
writers. :-)
--

Sincerely
Mikael