https://bugs.openldap.org/show_bug.cgi?id=9812
Issue ID: 9812
Summary: Registered SLAPI plugin functions are not called
Product: OpenLDAP
Version: 2.6.1
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: slapd
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
We're running since ages with an OpenLDAP server 2.4.40 a plugin which
publishes
changes (add, modify, delete) in LDAP to an Identity Server (IDM). We compile
on SuSE Linux from source. The configure options for 2.6.1 are:
./configure --enable-aci=yes --enable-dynacl --enable-spasswd=yes
--enable-crypt=yes --enable-debug=yes --enable-shared=yes --enable-modules=yes
--enable-slapi --enable-slapd=yes --with-tls --prefix=/opt/openldap-2.6.1
Our SLAPI plugin, written in C works fine for 2.4.40 and stopped working for
2.6.1. It is configured in slapd.conf as
plugin postoperation /opt/openldap-2.6.1/lib64/idm.so idm_init "IDM Plugin"
10.23.33.52 3001
The function idm_init() registers static C functions the supposed way:
int idm_init(Slapi_PBlock * pb)
{
int rc = LDAP_SUCCESS;
log("idm-plugin:","now in idm_init()\n");
// first call, create new list and register the functions
...
rc |=
slapi_pblock_set( /* Plug-in API version */ pb,
SLAPI_PLUGIN_VERSION,
SLAPI_PLUGIN_CURRENT_VERSION);
rc |=
slapi_pblock_set( /* Plug-in description */ pb,
SLAPI_PLUGIN_DESCRIPTION, (void *) &desc);
rc |=
slapi_pblock_set( /* Modify function */ pb,
SLAPI_PLUGIN_POST_MODIFY_FN,
(void *) modify_user);
...
// read arguments and add list entry
rc |= read_arguments(pb);
log("idm-plugin", "idm_init() return rc:%d\n", rc);
return rc;
}
The begin of the function for modify_user() looks like this:
static int modify_user(Slapi_PBlock * pb)
{
Slapi_Entry *entry;
log("idm-plugin:", "now in modify_user\n");
if (slapi_pblock_get(pb, SLAPI_SEARCH_TARGET, &entry) != LDAP_SUCCESS) {
log("IDM-Connector Plugin",
"entry modified, but couldn't get entry");
return -1;
}
...
But the function gets never called from slapd on changes in LDAP. The log shows
only the registering:
03/16/22 10:52:26 idm-plugin:: now in idm_init()
03/16/22 10:52:26 IDM-Connector Plugin: idm_init: Initializing plugin
03/16/22 10:52:26 idm-plugin:: now in read_arguments()
03/16/22 10:52:26 IDM Plugin: added idm connector: ip=10.23.33.52, port=3001
03/16/22 10:52:26 idm-plugin: idm_init() returns rc:0
03/16/22 10:52:26 plugin_pblock_new: Registered plugin
OCLC-IDM-Connector-Notifier 1.0 [OCLC.org] (Notify the OCLC IDM-Connector of
changes)
As I said, with OpenLDAP 2.4.40 this works fine. It does not work anymore with
2.6.1.
--
You are receiving this mail because:
You are on the CC list for the issue.