[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#3484) exop workarounds cause headhaches to chain overlay
Full_Name: Pierangelo Masarati
Version: HEAD
OS:
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (81.72.89.40)
Submitted by: ando
1) the chain overlay doesn't call send_ldap_extended() after calling the
back-ldap be_extended hook; in fact, be_extended() are supposed to return only
on error, because successful send_ldap_extended are only returned by the
frontend (fixed). The fix works fine when the chain overlay is used as global,
and the be_extended() hook is directly called.
2) when used as a database overlay, e.g. with back-bdb, the operation is
actually handled by the frontend, which, e.g. for the passwd_extop() uses a
be_modify() call. The local modify returns a referral, which is handled by the
chain overlay thru the be_modify() of back-ldap; however, this returns
slap_send_result() instead of slap_send_extended(). Possible workarounds: have
passwd_extop() check if the target of the extended operation is a referral
__before__ trying to invoke the backend specific function.