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

Re: R: ITS#6580



> Hi,
> the issue is that in release 2.4.21 is not possible execute an exended
> operation registered in a plugin: THIS way doesnt work because slapd (in
> extended.c fe_extended(), line 199) only look for built-in extended
> operations and not plugin-defined extended operations (in a plugin calling
> slapi_pblock_set() with SLAPI_EXT_OP_RET_OID and SLAPI_EXT_OP_RET_VALUE).
>
> In fe_extended() I tried to extend the search to all extended operations
> and now things start to work, but the main question concerns the choice of
> backend.
>
> Uploaded files:
>
> servers-slapd-extended.patch -> gianluigi.nigro1-100625.patch
> servers-slapd-slapi-slapi_overlay.patch -> gianluigi.nigro2-100625.patch

I think this approach is not correct, in many senses.

First of all, you should use the native API instead of SLAPI.  In fact,
SLAPI is essentially unsupported.  It was intended to give the possibility
to somehow recycle software coded according to Netscape's API, but there's
little point in developing new code based on that interface.

Second, the whole purpose of implementing the slapi overlay was to avoid
the pervasive presence of #ifdef LDAP_SLAPI in baseline code.  So a more
appropriate approach would be to have the slapi overlay register the
extended operation using the native API, rather than having #ifdef
LDAP_SLAPI in extended.c to check that any extop was loaded using SLAPI,
as in gianluigi.nigro1-100625.patch.

I can't say anything about gianluigi.nigro2-100625.patch because the file
looks corrupted.

p.