Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2091988

Summary: [RFE] Add code to check password expiration on ldap bind
Product: Red Hat Enterprise Linux 9 Reporter: Rob Crittenden <rcritten>
Component: ipaAssignee: Rob Crittenden <rcritten>
Status: CLOSED ERRATA QA Contact: ipa-qe <ipa-qe>
Severity: high Docs Contact: Filip Hanzelka <fhanzelk>
Priority: unspecified    
Version: 9.0CC: abokovoy, afarley, agawand, atolani, awestbro, cilmar, dchen, ddas, ekeck, frenaud, gparente, ipa-maint, ipa-qe, ksiddiqu, ldelouw, mepley, mkosek, mrhodes, msauton, myusuf, nathan.t.mcgarvey, nsoman, pasik, pkulkarn, pvoborni, rcritten, redhat, sigbjorn.lie, spichugi, ssidhaye, sumenon, tbordaz, tmihinto, tscherf, twoerner, vashirov, vmishra, wrydberg
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-4.10.0-2.el9 Doc Type: Enhancement
Doc Text:
.IdM now supports a limit on the number of LDAP binds allowed after a user password has expired With this enhancement, you can set the number of LDAP binds allowed when the password of an Identity Management (IdM) user has expired: -1:: IdM grants the user unlimited LDAP binds before the user must reset the password. This is the default value, which matches the previous behavior. 0:: This value disables all LDAP binds once a password is expired. In effect, the users must reset their password immediately. 1-MAXINT:: The value entered allows exactly that many binds post-expiration. The value can be set in the global password policy and in group policies. Note that the count is stored per server. In order for a user to reset their own password they need to bind with their current, expired password. If the user has exhausted all post-expiration binds, then the password must be administratively reset.
Story Points: ---
Clone Of: 782917 Environment:
Last Closed: 2022-11-15 10:00:08 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: 782917    
Bug Blocks:    

Description Rob Crittenden 2022-05-31 13:22:53 UTC
+++ This bug was initially created as a clone of Bug #782917 +++

This bug is created as a clone of upstream ticket:
https://fedorahosted.org/freeipa/ticket/1539

We have code to hook pre_bind in the paswword plugin but we use it only for password migrations.

We should add code to check if the password is expired in order to fail the bind.
The code requires only a minimal change to do that.

--- Additional comment from Alexander Bokovoy on 2022-05-30 14:25:23 UTC ---

Fixed upstream
master:
https://pagure.io/freeipa/c/f347c3f2302e468b7f92ec0146100b19570e382e
https://pagure.io/freeipa/c/2d5e6935140c92b4faf0e2866c8f80f6a53c73d9
https://pagure.io/freeipa/c/aefa5f22520d565f5accfc2257f48ff31be9b17b

--- Additional comment from Florence Blanc-Renaud on 2022-05-31 12:20:00 UTC ---

ipa-4-9:

    4fcbf2d Implement LDAP bind grace period 389-ds plugin
    6b3ab98 Remove the replicated attribute constants
    87fe3fb Exclude passwordgraceusertime from replication

Comment 4 Florence Blanc-Renaud 2022-06-03 07:55:35 UTC
Handle upgrades
Fixed upstream
master:
https://pagure.io/freeipa/c/773d3cb45d70e53e971f0efbbcecb0e54cb52d04

ipa-4-9:
https://pagure.io/freeipa/c/62bafcc53d4f45b28eb9a541e5385c2f1e7a3f97

Comment 9 Florence Blanc-Renaud 2022-06-30 08:52:06 UTC
Move back to ASSIGNED. Upstream PR: https://github.com/freeipa/freeipa/pull/6344

Comment 10 Florence Blanc-Renaud 2022-06-30 14:30:47 UTC
Additional fix:
master:
    22d1392 Only calculate LDAP password grace when the password is expired

Comment 11 Rob Crittenden 2022-06-30 18:57:25 UTC
Fixed upstream
ipa-4-9:
https://pagure.io/freeipa/c/3675bd1d7aca443832bb9bb2f521cc4d3a088aec

Comment 13 Florence Blanc-Renaud 2022-07-06 16:27:20 UTC
Fixed upstream
ipa-4-10:
https://pagure.io/freeipa/c/33cd62e0daa68fa6a9b3ca495d97ac5ce8713349

Comment 24 errata-xmlrpc 2022-11-15 10:00:08 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 (ipa bug fix and enhancement update), 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://access.redhat.com/errata/RHBA-2022:7988