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

RE: Extending Open LDAP



I think what you want to do would be most easily done by writing your own
set of shell scripts to plug into the shell backend. The perl or tcl
backends might be a good alternative if you're comfortable with those
languages. In any case, there's no need to rewrite any of the slapd source
code.

If you simply write a search script for the shell backend that invokes your
PIDS client, it will enable any LDAP client to query your PIDS directory.
The other half of your question - using ldapadd to store the result of the
PIDS query into the LDAP database, could be built into your search script,
but it would make more sense to do this in a separate operation. After all,
if LDAP clients retrieve the same PIDS entry multiple times, it's pointless
to re-add it, unless you anticipate frequent changes to the entries. Also,
unless you have an explicit need to replicate the PIDS data into the LDAP
server, there's no reason to save it at all - just let the search script get
the data from PIDS every time.
>
> Hi everyone,
>
> I have quite a question for you guys......
>
> I work for U of M's medical IT department.  We're working on a project to
> integrate LDAP and PIDS (a CORBA based directory service) so that an LDAP
> client can access the PIDS data.
>
> Does anyone out there know how wwe could either configure teh server or
> perhaps even re-werite the search funtion in teh source code so that
> whenever a search request is sent the server will issue a system call to
> start teh PIDS client?  I'd like the PIDS client to grab the sesarch
> filter sent by teh client, search teh PIDS server's data, write the
> results to a file and then have teh LDAP server send out a system call to
> execute the ldapadd command to add teh results to the server's database
> and after that is done the "real" search will be done and sent back to the
> original LDAP client.  I was looking through teh source code trying to
> understand it today....if I go to the slapd/search.c file and alter teh
> do_search() function to do that, do you think it would work?
>
>
> Thanks,
> Phil Waligora
>
>