New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The plugins precedence is enforced in the opposite order for extop #1929
Comments
Comment from lkrispen (@elkris) at 2016-06-07 20:32:45 William, IPA is now aware of this - and they are getting nrevous the fix will be ready for 7.3 |
Comment from firstyear (@Firstyear) at 2016-06-08 04:57:33 I think the fault really lies here:
So if two plugins have the same precedence, the one that is added last, get's pushed to the end. Then, the code in plugin_determine_exop_plugins() appears to take the last matching value, rather than the first. So we can fix it in determine, or in add_plugin_to_list(). I think determine as we limit the scope of the change, and limit the impact. |
Comment from firstyear (@Firstyear) at 2016-06-08 05:33:44 attachment |
Comment from tbordaz (@tbordaz) at 2016-06-08 17:06:47 Replying to [comment:4 Firstyear]:
I successfully tested https://fedorahosted.org/389/attachment/ticket/48870/0001-Ticket-48870-Correct-plugin-execution-order-due-to-c.patch within freeipa environment Setting precedence selects the appropriate extop according to the default value (50) of passwd_modify_extop. About your remark on add_plugin_to_list, I agree with you that on the same precedence we are adding the plugin to the end. |
Comment from firstyear (@Firstyear) at 2016-06-09 04:30:25 well, the question becomes "what is adding before" even mean? How are you determining this order? I don't think it's DSE.ldif order, I suspect it's alphabetical, but I would need to investigate .... Anyway, commit 7f8c64f |
Comment from tbordaz (@tbordaz) at 2017-02-11 22:54:40 Metadata Update from @tbordaz:
|
Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/48870
test on DS master.
The fix https://fedorahosted.org/389/ticket/48770 changes the way to select the plugin for a given extop OID.
plugin_determine_exop_plugins when it finds a plugins handling a given OID, does not select/return that plugin but continue the loop to find if it exists an other one.
The consequence is that, for example in freeipa, "Password Modify extended operation plugin" (core server) being after "IPA Password Extended Operation plugin" in the list.
"IPA Password Extended Operation plugin" is found first, but the loop continues and finally "Password Modify extended operation plugin" is selected and returned
This was done differently in plugin_call_exop_plugins where the first plugin handling a given OID was returned.
For example if we assign nsslapd-pluginprecedence: 51 (above default 51) "IPA Password Extended Operation plugin" is selected because it then appears after "Password Modify extended operation plugin" for the same OID
The text was updated successfully, but these errors were encountered: