Bug 1361134 - When fine-grained policy is applied, a sub-tree has a priority over a user while changing password
Summary: When fine-grained policy is applied, a sub-tree has a priority over a user wh...
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base
Version: 7.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Noriko Hosoi
QA Contact: Viktor Ashirov
Depends On:
TreeView+ depends on / blocked
Reported: 2016-07-28 11:52 UTC by Simon Pichugin
Modified: 2020-09-13 21:48 UTC (History)
2 users (show)

Fixed In Version: 389-ds-base-
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2016-11-03 20:44:39 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 2002 0 None None None 2020-09-13 21:48:48 UTC
Red Hat Product Errata RHSA-2016:2594 0 normal SHIPPED_LIVE Moderate: 389-ds-base security, bug fix, and enhancement update 2016-11-03 12:11:08 UTC

Description Simon Pichugin 2016-07-28 11:52:15 UTC
Description of problem:
If we setup fine-grained policy for a subtree and for a user under it and set passwordChange attribute to 'on' for the user and 'off' for the subtree, we wouldn't be able to change password while binding as user.
But, by the feature logic (thanks to Noriko for the info), fine-grained pwdpolicy on the entry has a priority over fine-grained pwdpolicy on the subtree the entry belongs to.

Version-Release number of selected component:

How reproducible:

Steps to Reproduce:
1. Install Directory Server instance
2. Add a user to 'ou=people,dc=example,dc=com'
3. Set up password policy for the user and the subtree
4. Set passwordChange on the user pwdPolicy entry to 'on'
5. Set passwordChange on the subtree pwdPolicy entry to 'off'
5. Try to change userPassword binding as the user

Actual results:
UNWILLING_TO_PERFORM: {'info': 'user is not allowed to change password', 'desc': 'Server is unwilling to perform'}

Expected results:
User should be able to change a password

Additional info:
Looks like a regression, because TET CI test runs show no issue on the 389-ds-base- build

Comment 2 Simon Pichugin 2016-07-28 13:35:24 UTC
Upstream ticket: https://fedorahosted.org/389/ticket/48943

Comment 5 Simon Pichugin 2016-08-22 08:11:30 UTC
Build tested:

[root@stal ds]# py.test -v dirsrvtests/tests/suites/password/pwd_change_policytest.py
========================= test session starts =========================
platform linux2 -- Python 2.7.5, pytest-3.0.0, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python
cachedir: .cache
DS build: B2016.231.199
nss: 3.21.0-17.el7
nspr: 4.11.0-1.el7_2
openldap: 2.4.40-12.el7
svrcore: 4.1.2-1.el7

rootdir: /mnt/tests/rhds/tests/upstream/ds, inifile:
plugins: beakerlib-0.5, html-1.10.0, cov-2.3.1
collected 4 items

dirsrvtests/tests/suites/password/pwd_change_policytest.py::test_change_pwd[off-on-None] PASSED
dirsrvtests/tests/suites/password/pwd_change_policytest.py::test_change_pwd[on-on-None] PASSED
dirsrvtests/tests/suites/password/pwd_change_policytest.py::test_change_pwd[on-off-UNWILLING_TO_PERFORM] PASSED
dirsrvtests/tests/suites/password/pwd_change_policytest.py::test_change_pwd[off-off-UNWILLING_TO_PERFORM] PASSED

====================== 4 passed in 25.15 seconds ======================

Marking as verified.

Comment 7 errata-xmlrpc 2016-11-03 20:44:39 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.