From e05c09b919969b5e84e84bbf45907c028910656f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Wed, 3 Jun 2020 13:40:23 +0100 Subject: [PATCH] ITS#8762 Clear pwdFailureTime on unlock --- servers/slapd/overlays/ppolicy.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c index c9610de06a..e559e17ec9 100644 --- a/servers/slapd/overlays/ppolicy.c +++ b/servers/slapd/overlays/ppolicy.c @@ -2740,6 +2740,17 @@ do_modify: ber_memfree(bv.bv_val); addmod->sml_values[0] = hpw; } + } else { + /* ITS#8762 Make sure we drop pwdFailureTime if unlocking */ + if (got_del_lock && !got_del_fail && attr_find(e->e_attrs, ad_pwdFailureTime )) { + mods = (Modifications *) ch_calloc( sizeof( Modifications ), 1 ); + mods->sml_op = LDAP_MOD_DELETE; + mods->sml_desc = ad_pwdFailureTime; + mods->sml_flags = SLAP_MOD_INTERNAL; + mods->sml_next = NULL; + modtail->sml_next = mods; + modtail = mods; + } } op->o_bd->bd_info = (BackendInfo *)on->on_info; be_entry_release_r( op, e );