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.
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.