]> git.sur5r.net Git - openldap/commitdiff
ITS#8234 revert to default policy on failure
authorRyan Tandy <ryan@nardis.ca>
Wed, 2 Sep 2015 02:19:57 +0000 (19:19 -0700)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 11 Sep 2015 16:59:25 +0000 (11:59 -0500)
servers/slapd/overlays/ppolicy.c

index 2ba376be2282abcabc3dd736fdb58e38f22fe87f..9870e8f073b7e5f5ffe17f58c4a41c88ebaa46da 100644 (file)
@@ -464,6 +464,18 @@ add_passcontrol( Operation *op, SlapReply *rs, LDAPControl *ctrl )
        return oldctrls;
 }
 
+static void
+ppolicy_get_default( PassPolicy *pp )
+{
+       memset( pp, 0, sizeof(PassPolicy) );
+
+       pp->ad = slap_schema.si_ad_userPassword;
+
+       /* Users can change their own password by default */
+       pp->pwdAllowUserChange = 1;
+}
+
+
 static void
 ppolicy_get( Operation *op, Entry *e, PassPolicy *pp )
 {
@@ -477,12 +489,7 @@ ppolicy_get( Operation *op, Entry *e, PassPolicy *pp )
        const char *text;
 #endif
 
-       memset( pp, 0, sizeof(PassPolicy) );
-
-       pp->ad = slap_schema.si_ad_userPassword;
-
-       /* Users can change their own password by default */
-       pp->pwdAllowUserChange = 1;
+       ppolicy_get_default( pp );
 
        if ((a = attr_find( e->e_attrs, ad_pwdPolicySubentry )) == NULL) {
                /*
@@ -580,6 +587,9 @@ defaultpol:
 
        Debug( LDAP_DEBUG_TRACE,
                "ppolicy_get: using default policy\n", 0, 0, 0 );
+
+       ppolicy_get_default( pp );
+
        return;
 }