in src/Zyborg.PassCore.PasswordProvider.LDAP/LdapPasswordChangeProvider.cs [157:168]
private static void ChangePasswordDelAdd(string currentPassword, string newPassword, ILdapConnection ldap, string userDN)
{
var oldPassBytes = Encoding.Unicode.GetBytes($@"""{currentPassword}""");
var newPassBytes = Encoding.Unicode.GetBytes($@"""{newPassword}""");
var oldAttr = new LdapAttribute("unicodePwd", oldPassBytes);
var newAttr = new LdapAttribute("unicodePwd", newPassBytes);
var ldapDel = new LdapModification(LdapModification.Delete, oldAttr);
var ldapAdd = new LdapModification(LdapModification.Add, newAttr);
ldap.Modify(userDN, new[] { ldapDel, ldapAdd }); // Change with Delete/Add
}