Bug 1369537

Summary: passwordMinAge attribute doesn't limit the minimum age of the password
Product: Red Hat Enterprise Linux 7 Reporter: Simon Pichugin <spichugi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: nkinder, rmeggins
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.5.10-9.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 20:45:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Simon Pichugin 2016-08-23 16:54:30 UTC
Description of problem:
If we set passwordMinAge to the some appropriate value other then '0', it should not allow a user to change the password within this value of seconds passed from the previous change.
Now it allows at all levels (cn=config or subtree/user password policy).

Version-Release number of selected component:
389-ds-base-1.3.5.10-8.el7.x86_64

How reproducible:
Always

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 passwordMinAge on the user pwdPolicy entry to '30'
5. Set passwordMinAge on the subtree pwdPolicy entry to '30'
6. Set passwordMinAge on the cn=config entry to '30'
7. Try to change userPassword binding as the user two times in a row

Actual results:
It allows to change the password

Expected results:
The user should not be allowed to change the password right after previous change

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

Comment 1 Simon Pichugin 2016-08-23 17:00:22 UTC
Upstream ticket: https://fedorahosted.org/389/ticket/48967

Comment 5 Simon Pichugin 2016-09-01 08:54:08 UTC
Build tested:
389-ds-base-1.3.5.10-9.el7.x86_64

============================= test session starts =============================
platform linux2 -- Python 2.7.5, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python
cachedir: .cache
DS build: 1.3.5.10 B2016.243.1944
389-ds-base: 1.3.5.10-9.el7
nss: 3.21.0-17.el7
nspr: 4.11.0-1.el7_2
openldap: 2.4.40-13.el7
svrcore: 4.1.2-1.el7

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

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

========================== 5 passed in 35.40 seconds ==========================

Marking as verified.

Comment 7 errata-xmlrpc 2016-11-03 20:45:12 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.

https://rhn.redhat.com/errata/RHSA-2016-2594.html