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

Re: smbk5pwd: ldap_pvt_thread_pool_getkey fails, etc...



bsdaemon@comcast.net wrote:

I posted about this before. Now, I've tracked down the location of the problem, but don't know enough about OpenLDAP to determine the cause.

I'm using 2.2.15 (SuSE package). smbk5pwd is from HEAD a few days ago.

When the {K5KEY} attribute is checked, it returns from k5key_chk at the statement:
if ( ldap_pvt_thread_pool_getkey( ctx, smbk5pwd_op_cleanup, (void ** >>>)&op, NULL ) ||
!op )
return LUTIL_PASSWD_ERR;


That means the code to set the thread key didn't execute. You should trace smbk5pwd_op_bind to find out why it didn't.

When a password change operation is called, it returns from smbk5pwd_exop_passwd.

With the modification:
/* Not the operation we expected, pass it on... */
if ( ber_bvcmp( &slap_EXOP_MODIFY_PASSWD, &op->ore_reqoid ) ) {
Debug(LDAP_DEBUG_ANY,
"\tWant: %s, got: %s"
,(&slap_EXOP_MODIFY_PASSWD)->bv_val,(&op->ore_reqoid)- >>>>bv_val,0); return SLAP_CB_CONTINUE;
}


I get: Want: 1.3.6.1.4.1.4203.1.11.1, got: <DN>
where <DN> is the dn of the password to change.


That implies that the operation structure is corrupted. Most likely the slap.h you compiled against doesn't match the version of the running slapd.

--
 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support