In some situations the deployments want to tie the expiration of the password to its length and strength. See section 7 https://www.faa.gov/documentLibrary/media/Order/1370.92A.pdf Especially item "j" calls for ability to make the password not expire if it is sufficiently long and strong. While it is questionable how to make a decision whether the password is strong enough it might be assumed that if the password is of requested complexity it is in fact strong enough. Base on this the request is to allow to define a policy that is great or equal than min password length and less or equal max password length. If the password length is equal or longer than the policy value the password expiration should be set to never expire.
User stories: - As an administrator in public sector organization I want to be able to define a policy in IPA that would make passwords of the certain length never expire. - As a user in the public sector organization familiar with password policies of my organization I want to be able to choose a long and strong password that I can remember that I do not need to change again and stay compliant for the lifetime of my employment.
Implementation notes: - To preserve backward compatibility and current behavior I suggest the default for this policy should be "unset" which will be treated as equal to "respect current policies". Only if the value is explicitly set and length of the password is longer or equal to provided value the default password expiration policy should be set to 0 which would mean the password never expires. - The changes would need to be implemented in https://github.com/freeipa/freeipa/blob/master/daemons/ipa-slapi-plugins/ipa-pwd-extop/common.c probably close to the end of function int ipapwd_CheckPolicy(struct ipapwd_data *data)
Metadata Update from @pvoborni: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1483453
Issue linked to bug 1483453
Metadata Update from @pvoborni: - Issue set to the milestone: Future Releases