ldap/schema/02common.ldif | 3 ++-
ldap/servers/slapd/pw.c | 5 ++++-
2 files changed, 6 insertions(+), 2 deletions(-)
New commits:
commit 7ba65b0022b9ecb40baaffbcef8130527028ed8b
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Sep 28 15:00:20 2012 -0400
Ticket 478 - passwordTrackUpdateTime stops working with subtree password policies
Bug Description: If you create a subtree/user password policy
passwordTrackUpdateTime
is not checked, bascially turning it off regardless of the setting
in
cn=config.
Fix Description: Added a check for passwordTrackUpdateTime in new_passwordPolicy().
Also
added this attribute to the schema so you can manually add it to
subtree/user
password policies.
https://fedorahosted.org/389/ticket/478
Reviewed by: Noriko(Thanks!)
diff --git a/ldap/schema/02common.ldif b/ldap/schema/02common.ldif
index c209615..c6cc6b8 100644
--- a/ldap/schema/02common.ldif
+++ b/ldap/schema/02common.ldif
@@ -94,6 +94,7 @@ attributeTypes: ( 2.16.840.1.113730.3.1.2080 NAME (
'passwordMin8bit' 'pwdMin8bi
attributeTypes: ( 2.16.840.1.113730.3.1.2081 NAME ( 'passwordMaxRepeats'
'pwdMaxRepeats' ) DESC 'Netscape defined password policy attribute type'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'Netscape Directory
Server' )
attributeTypes: ( 2.16.840.1.113730.3.1.2082 NAME ( 'passwordMinCategories'
'pwdMinCategories' ) DESC 'Netscape defined password policy attribute
type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'Netscape
Directory Server' )
attributeTypes: ( 2.16.840.1.113730.3.1.2083 NAME ( 'passwordMinTokenLength'
'pwdMinTokenLength' ) DESC 'Netscape defined password policy attribute
type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'Netscape
Directory Server' )
+attributeTypes: ( 2.16.840.1.113730.3.1.2140 NAME ( 'passwordTrackUpdateTime' )
DESC 'Netscape defined password policy attribute type' SYNTAX
1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'Netscape Directory Server' )
attributeTypes: ( 2.16.840.1.113730.3.1.198 NAME 'memberURL' DESC 'Netscape
defined attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 X-ORIGIN 'Netscape
Directory Server' )
attributeTypes: ( 2.16.840.1.113730.3.1.199 NAME 'memberCertificateDescription'
DESC 'Netscape defined attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
X-ORIGIN 'Netscape Directory Server' )
attributeTypes: ( 2.16.840.1.113730.3.1.207 NAME 'vlvBase' DESC 'Netscape
defined attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'Netscape
Directory Server' )
@@ -163,7 +164,7 @@ objectClasses: ( 2.16.840.1.113730.3.2.7 NAME 'nsLicenseUser'
DESC 'Netscape def
objectClasses: ( 2.16.840.1.113730.3.2.1 NAME 'changeLogEntry' DESC 'LDAP
changelog objectclass' SUP top MUST ( targetdn $ changeTime $ changenumber $
changeType ) MAY ( changes $ newrdn $ deleteoldrdn $ newsuperior ) X-ORIGIN 'Changelog
Internet Draft' )
objectClasses: ( 2.16.840.1.113730.3.2.6 NAME 'referral' DESC 'LDAP referrals
objectclass' SUP top MAY ( ref ) X-ORIGIN 'LDAPv3 referrals Internet Draft' )
objectClasses: ( 2.16.840.1.113730.3.2.12 NAME 'passwordObject' DESC
'Netscape defined password policy objectclass' SUP top MAY ( pwdpolicysubentry $
passwordExpirationTime $ passwordExpWarned $ passwordRetryCount $ retryCountResetTime $
accountUnlockTime $ passwordHistory $ passwordAllowChangeTime $ passwordGraceUserTime )
X-ORIGIN 'Netscape Directory Server' )
-objectClasses: ( 2.16.840.1.113730.3.2.13 NAME 'passwordPolicy' DESC
'Netscape defined password policy objectclass' SUP top MAY ( passwordMaxAge $
passwordExp $ passwordMinLength $ passwordKeepHistory $ passwordInHistory $ passwordChange
$ passwordWarning $ passwordLockout $ passwordMaxFailure $ passwordResetDuration $
passwordUnlock $ passwordLockoutDuration $ passwordCheckSyntax $ passwordMustChange $
passwordStorageScheme $ passwordMinAge $ passwordResetFailureCount $ passwordGraceLimit $
passwordMinDigits $ passwordMinAlphas $ passwordMinUppers $ passwordMinLowers $
passwordMinSpecials $ passwordMin8bit $ passwordMaxRepeats $ passwordMinCategories $
passwordMinTokenLength ) X-ORIGIN 'Netscape Directory Server' )
+objectClasses: ( 2.16.840.1.113730.3.2.13 NAME 'passwordPolicy' DESC
'Netscape defined password policy objectclass' SUP top MAY ( passwordMaxAge $
passwordExp $ passwordMinLength $ passwordKeepHistory $ passwordInHistory $ passwordChange
$ passwordWarning $ passwordLockout $ passwordMaxFailure $ passwordResetDuration $
passwordUnlock $ passwordLockoutDuration $ passwordCheckSyntax $ passwordMustChange $
passwordStorageScheme $ passwordMinAge $ passwordResetFailureCount $ passwordGraceLimit $
passwordMinDigits $ passwordMinAlphas $ passwordMinUppers $ passwordMinLowers $
passwordMinSpecials $ passwordMin8bit $ passwordMaxRepeats $ passwordMinCategories $
passwordMinTokenLength $ passwordTrackUpdateTime ) X-ORIGIN 'Netscape Directory
Server' )
objectClasses: ( 2.16.840.1.113730.3.2.30 NAME 'glue' DESC 'Netscape defined
objectclass' SUP top X-ORIGIN 'Netscape Directory Server' )
objectClasses: ( 2.16.840.1.113730.3.2.32 NAME 'netscapeMachineData' DESC
'Netscape defined objectclass' SUP top X-ORIGIN 'Netscape Directory
Server' )
objectClasses: ( 2.16.840.1.113730.3.2.38 NAME 'vlvSearch' DESC 'Netscape
defined objectclass' SUP top MUST ( cn $ vlvBase $ vlvScope $ vlvFilter ) MAY (
multiLineDescription ) X-ORIGIN 'Netscape Directory Server' )
diff --git a/ldap/servers/slapd/pw.c b/ldap/servers/slapd/pw.c
index 4736e82..04ad2ce 100644
--- a/ldap/servers/slapd/pw.c
+++ b/ldap/servers/slapd/pw.c
@@ -1628,10 +1628,13 @@ new_passwdPolicy(Slapi_PBlock *pb, const char *dn)
"--local policy entry not found\n", dn);
goto done;
}
-
+
/* set the default passwordLegacyPolicy setting */
pwdpolicy->pw_is_legacy = 1;
+ /* set passwordTrackUpdateTime */
+ pwdpolicy->pw_track_update_time =
slapdFrontendConfig->pw_policy.pw_track_update_time;
+
for (slapi_entry_first_attr(pw_entry, &attr); attr;
slapi_entry_next_attr(pw_entry, attr, &attr))
{