Hi William,
> Reading this trace, it looks like you are missing debug symbols or devel information. Honestly, I'm not sure how to get this on debian, maybe "pkgname-dbgsym" aka 389-ds-dbgsym or similar needs to be installed?
Debian way is to add an extra repository, which contains all -dbgsym
packages. It is described here: https://wiki.debian.org/HowToGetABacktrace
The problem was in the declaration of variable method:
static int do_pre_bind(Slapi_PBlock *pb, char* errmsg)
{
static const char* attributes[] = {"cn", NULL};
plugin_config_t* conf;
int rc, method;
...
conf = &s_conf;
...
if (slapi_pblock_get(pb, SLAPI_BIND_TARGET, &dn) != 0
|| slapi_pblock_get(pb, SLAPI_BIND_METHOD, &method) != 0
...
Calling 'slapi_pblock_get(pb, SLAPI_BIND_METHOD, &method)' causes
overwrite of conf.
In
https://access.redhat.com/documentation/en-us/red_hat_directory_server/10/html-single/plug-in_guide/index#Plugin_Programming_Guide-Processing_an_LDAP_Bind_Operation-Getting_and_Setting_Parameters_for_the_Bind_Operation
is return of 'slapi_pblock_get(pb, SLAPI_BIND_METHOD, &method)' still 'int'
But in the source:
https://pagure.io/389-ds-base/blob/master/f/ldap/servers/slapd/pblock.c#_1578
is used ber_tag_t
After I changed the declaration:
ber_tag_t method;
Plugin started work. I need to deeply test it, but it looks good.
I appreciate your kind way of helping me.
Thanks a lot!
--
-----------------------
Jan Tomasek aka Semik
http://www.tomasek.cz/
No comments:
Post a Comment