Bug 1150695
Summary: | ldbm_back_modify SLAPI_PLUGIN_BE_PRE_MODIFY_FN does not return even if one of the preop plugins fails. | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Noriko Hosoi <nhosoi> |
Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> |
Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 7.0 | CC: | nhosoi, nkinder, rmeggins, tbordaz |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | 389-ds-base-1.3.3.1-6.el7 | Doc Type: | Bug Fix |
Doc Text: |
Cause: In ldbm_back_modify, plug in called at the SLAPI_PLUGIN_BE_PRE_MODIFY_FN timing does not return but it continue the modify operation even if one of the preop plugins fails.
Consequence: It leaves an incomplete modify result.
Fix: Fixed ldbm_back_modify code so that if plug ins called at SLAPI_PLUGIN_BE_PRE_MODIFY_FN fail, it returns the proper error and does not operate modify.
Result: Data consistency is assured.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-05 09:36:14 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Noriko Hosoi
2014-10-08 17:20:00 UTC
Please add verification steps. Sankar, This issue was found in OTP/IPA development. I think we could borrow their test case to verify this issue. Noriko, Sankar, I think it requires to create a test plugin that triggers a failure in BEPREOP_MODIFY. I looked at existing plugins that register BEPREOP_MODIFY to see if we can trigger a failure. usn plugin there is no possibilty. dna plugin, if it fails to extend the range of values it returns a failure. But I am not sure it would be easy to trigger. IMHO, the best option is to write/compile/install/configure a plugin that trigger a failure. thanks theirry Configured memberOf plugin with non-existing subtree for nsslapd-pluginConfigArea, and the same got rejected since there is no entry present. As per the design doc... the memberOf plugin configuration should be rejected by Pre-operation plugin if the entry doesn't exist. [root@vm-idm-035 MMR_WINSYNC]# ldapmodify -x -p 1189 -h localhost -D "cn=Directory Manager" -w Secret123 << EOF dn: cn=MemberOf Plugin,cn=plugins,cn=config changetype: modify replace: nsslapd-pluginConfigArea nsslapd-pluginConfigArea:ou=People,dc=wwwmemofsuff,dc=com EOF modifying entry "cn=MemberOf Plugin,cn=plugins,cn=config" ldap_modify: Server is unwilling to perform (53) additional info: The nsslapd-pluginConfigArea configuration attribute points to an entry that can not be found. (ou=People,dc=wwwmemofsuff,dc=com) [root@vm-idm-035 MMR_WINSYNC]# echo $? 53 Marking it as verified since the prompt returned for a pre-operation failure. Build tested: [root@vm-idm-035 MMR_WINSYNC]# rpm -qa 389-ds-base 389-ds-base-1.3.3.1-9.el7.x86_64 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0416.html |