Howard Chu writes:
Hallvard B Furuseth wrote:
- bind
- If returning LDAP_SUCCESS, do not send it first - the frontend will.
- Do send non-success responses before returning.
This inconsistency has always bothered me, and with the current callback layering there's no longer any reason for it. We should change Bind to behave like all the other ops and just let backends send responses for either success or failure.
For the transition, we can set a "response has been sent"-flag in the SlapReply or Operation, so the frontend will know whether to send.
- bi->bi_entry_release_rw() aka be->be_release():
- (...)
- ? [However frontendDB->be_release() also calls this function,
- but does not free the entry if no function is found. Then
- it just returns LDAP_NO_SUCH_OBJECT.]
- (...)
- ? [Maybe back-relay has a memory leak and should call entry_free
- if there is no backend function. frontendDB does not, overlay
- translucent does, backglue does but has a FIXME comment about
- it. Fix what?]
Hm, yeah, it should always fallback to entry_free if nothing else.
See ITS#5340 "REP_ENTRY_MODIFIABLE bug in dynlist" first. (Poorly named ITS now that I think of it, it seems a more general problem.)