Bug 1179763
| Summary: | COS cache doesn't properly mark vattr cache as invalid when there are multiple suffixes | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | mreynolds |
| Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> |
| Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.6 | CC: | jgalipea, mreynolds, nhosoi, nkinder, rmeggins, sramling |
| Target Milestone: | rc | ||
| Target Release: | 6.7 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | 389-ds-base-1.2.11.15-51.el6 | Doc Type: | Bug Fix |
| Doc Text: |
When there are multiple suffixes and there is a chance to rebuild the COS cache, if the last suffix happened not to contain any COS entries, the cache rebuild was not correctly applied and obsolete COS attribute and values were returned.
The bug was fixed.
|
Story Points: | --- |
| Clone Of: | 1179370 | Environment: | |
| Last Closed: | 2015-07-22 06:36:49 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: | |||
| Bug Depends On: | 1179370, 1259546 | ||
| Bug Blocks: | |||
|
Description
mreynolds
2015-01-07 14:03:56 UTC
Request you to add steps to reproduce. Verification Steps [1] Install DS using "dc=example,dc=com" [2] Add a second suffix: "o=netscaperoot" [3] create an ou and a user entry: - ou=level1,dc=example,dc=com - uid=user1,ou=level1,dc=example,dc=com [3] Add a subtree password policy ldapmodify ... dn: cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: add objectClass: nsContainer objectClass: top cn: nsPwPolicyContainer dn: cn=cn\3DnsPwPolicyEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: add objectClass: ldapsubentry objectClass: passwordpolicy objectClass: top cn: cn=nsPwPolicyEntry,ou=level1,dc=example,dc=com dn: cn=cn\3DnsPwTemplateEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: add objectClass: extensibleObject objectClass: costemplate objectClass: ldapsubentry objectClass: top cosPriority: 1 pwdpolicysubentry: cn=cn\3DnsPwPolicyEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3 Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com cn: cn=nsPwTemplateEntry,ou=level1,dc=example,dc=com dn: cn=nsPwPolicy_CoS,ou=level1,dc=example,dc=com changetype: add objectClass: ldapsubentry objectClass: cosSuperDefinition objectClass: cosPointerDefinition objectClass: top costemplatedn: cn=cn\3DnsPwTemplateEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dc om,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com cosAttribute: pwdpolicysubentry default operational-default cn: nsPwPolicy_CoS dn: cn="cn=nsPwPolicyEntry,ou=level1,dc=example,dc=com",cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: modify replace: passwordMustChange passwordMustChange: off - replace: passwordExp passwordExp: off - replace: passwordHistory passwordHistory: off - replace: passwordMinAge passwordMinAge: 0 - replace: passwordChange passwordChange: off - replace: passwordStorageScheme passwordStorageScheme: ssha - [4] Then search on the user and make sure it has a 'pwdpolicysubentry' attribute ldapsearch -D "cn=directory manager" -w password -b "dc=example,dc=com" uid=user1 pwdpolicysubentry [5] Remove the subtree password policy ldapmodify ... dn: cn=cn\3DnsPwPolicyEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: delete dn: cn=cn\3DnsPwTemplateEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: delete dn: cn=nsPwPolicy_CoS,ou=level1,dc=example,dc=com changetype: delete [6] Then search on the user and make sure it does NOT have a 'pwdpolicysubentry' attribute ldapsearch -D "cn=directory manager" -w password -b "dc=example,dc=com" uid=user1 pwdpolicysubentry [7] Add the subtree password policy back dn: cn=cn\3DnsPwPolicyEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: add objectClass: ldapsubentry objectClass: passwordpolicy objectClass: top cn: cn=nsPwPolicyEntry,ou=level1,dc=example,dc=com dn: cn=cn\3DnsPwTemplateEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: add objectClass: extensibleObject objectClass: costemplate objectClass: ldapsubentry objectClass: top cosPriority: 1 pwdpolicysubentry: cn=cn\3DnsPwPolicyEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3 Dcom,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com cn: cn=nsPwTemplateEntry,ou=level1,dc=example,dc=com dn: cn=nsPwPolicy_CoS,ou=level1,dc=example,dc=com changetype: add objectClass: ldapsubentry objectClass: cosSuperDefinition objectClass: cosPointerDefinition objectClass: top costemplatedn: cn=cn\3DnsPwTemplateEntry\2Cou\3Dlevel1\2Cdc\3Dexample\2Cdc\3Dc om,cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com cosAttribute: pwdpolicysubentry default operational-default cn: nsPwPolicy_CoS dn: cn="cn=nsPwPolicyEntry,ou=level1,dc=example,dc=com",cn=nsPwPolicyContainer,ou=level1,dc=example,dc=com changetype: modify replace: passwordMustChange passwordMustChange: off - replace: passwordExp passwordExp: off - replace: passwordHistory passwordHistory: off - replace: passwordMinAge passwordMinAge: 0 - replace: passwordChange passwordChange: off - replace: passwordStorageScheme passwordStorageScheme: ssha [8] Then search on the user and make sure it has a 'pwdpolicysubentry' attribute ldapsearch -D "cn=directory manager" -w password -b "dc=example,dc=com" uid=user1 pwdpolicysubentry [9] done test script: dirsrvtests/tickets/ticket47981_test.py Build tested: 389-ds-base-1.2.11.15-52.el6.x86_64 389-ds-base-libs-1.2.11.15-52.el6.x86_64 ============================= test session starts ============================== platform linux2 -- Python 2.6.6 -- py-1.4.26 -- pytest-2.6.4 -- /usr/bin/python collected 2 items ds/dirsrvtests/tickets/ticket47981_test.py::test_ticket47981 PASSED ds/dirsrvtests/tickets/ticket47981_test.py::test_ticket47981_final PASSED ========================== 2 passed in 63.78 seconds =========================== Marking as VERIFIED. 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/RHBA-2015-1326.html |