]> git.sur5r.net Git - openldap/commitdiff
better fix for prev commit
authorHoward Chu <hyc@openldap.org>
Thu, 13 May 2004 00:46:52 +0000 (00:46 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 13 May 2004 00:46:52 +0000 (00:46 +0000)
servers/slapd/overlays/ppolicy.c

index 453e194831f04c7e11bf23abf66a3077f56aeff9..f7a8a5fc644334102f41fd03887ce6d1134a2963 100644 (file)
@@ -1784,32 +1784,11 @@ ppolicy_db_init(
 {
        slap_overinst *on = (slap_overinst *) be->bd_info;
 
-       /* Has schema been initialized yet? */
-       if ( !ad_pwdMinAge ) {
-               LDAPAttributeType *at;
+       /* Has User Schema been initialized yet? */
+       if ( !pwd_UsSchema[0].ad ) {
                const char *err;
                int i, code;
 
-               for (i=0; pwd_OpSchema[i].def; i++) {
-                       at = ldap_str2attributetype( pwd_OpSchema[i].def, &code, &err,
-                               LDAP_SCHEMA_ALLOW_ALL );
-                       if ( !at ) {
-                               fprintf( stderr, "AttributeType Load failed %s %s\n",
-                                       ldap_scherr2str(code), err );
-                               return code;
-                       }
-                       code = at_add( at, &err );
-                       if ( !code ) {
-                               slap_str2ad( at->at_names[0], pwd_OpSchema[i].ad, &err );
-                       }
-                       ldap_memfree( at );
-                       if ( code ) {
-                               fprintf( stderr, "AttributeType Load failed %s %s\n",
-                                       scherr2str(code), err );
-                               return code;
-                       }
-               }
-
                for (i=0; pwd_UsSchema[i].def; i++) {
                        code = slap_str2ad( pwd_UsSchema[i].def, pwd_UsSchema[i].ad, &err );
                        if ( code ) {
@@ -1891,7 +1870,29 @@ static slap_overinst ppolicy;
 
 int ppolicy_init()
 {
-       int code;
+       LDAPAttributeType *at;
+       const char *err;
+       int i, code;
+
+       for (i=0; pwd_OpSchema[i].def; i++) {
+               at = ldap_str2attributetype( pwd_OpSchema[i].def, &code, &err,
+                       LDAP_SCHEMA_ALLOW_ALL );
+               if ( !at ) {
+                       fprintf( stderr, "AttributeType Load failed %s %s\n",
+                               ldap_scherr2str(code), err );
+                       return code;
+               }
+               code = at_add( at, &err );
+               if ( !code ) {
+                       slap_str2ad( at->at_names[0], pwd_OpSchema[i].ad, &err );
+               }
+               ldap_memfree( at );
+               if ( code ) {
+                       fprintf( stderr, "AttributeType Load failed %s %s\n",
+                               scherr2str(code), err );
+                       return code;
+               }
+       }
 
        code = register_supported_control( LDAP_CONTROL_PASSWORDPOLICYREQUEST,
                SLAP_CTRL_ADD|SLAP_CTRL_BIND|SLAP_CTRL_MODIFY, extops,