https://bugs.openldap.org/show_bug.cgi?id=9990

          Issue ID: 9990
           Summary: Part of the ITS#8698 fix breaks exop overlays that set
                    a callback
           Product: OpenLDAP
           Version: 2.5.13
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: needs_review
          Severity: normal
          Priority: ---
         Component: slapd
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

We have a password exop overlay that sets up a callback, which has stopped
working when upgrading to 2.5.13. and I tracked it down to a change to
servers/slapd/passwd.c implemented as part of the fix for ITS#8698:

https://git.openldap.org/openldap/openldap/-/merge_requests/304/diffs?commit_id=0df931b98b0dae988cf369b9726acc54ce550d23

It appears that the intent of this change was to loop through the o_callback
list and only remove the cb callback created in this section of the code. But
that isn't necessary because the cb callback never gets added to the original
list. With this change, line 295 clobbers the original o_callback list which
never gets restored -- that's why our exop overlay stopped working.

Fortunately, the fix is very simple -- just revert this part of the change. The
original code already saved/restored the o_callback list properly.

When I reverted this part of the change, our exop overlay resumed working, and
the rest of the ITS#8698 functionality (messages from the pwdCheckModule module
being returned to the user) also worked as expected.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to