]> 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)
committerRyan Tandy <ryan@nardis.ca>
Wed, 2 Sep 2015 02:19:57 +0000 (19:19 -0700)
servers/slapd/overlays/ppolicy.c

index a0c52e11f9c1ef02640576712f7008307f4c38bc..58a91cdb9f6c6e66cbe237b650222af05104d98e 100644 (file)
@@ -468,6 +468,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 )
 {
@@ -481,12 +493,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) {
                /*
@@ -584,6 +591,9 @@ defaultpol:
 
        Debug( LDAP_DEBUG_TRACE,
                "ppolicy_get: using default policy\n", 0, 0, 0 );
+
+       ppolicy_get_default( pp );
+
        return;
 }