return ldb_oom(ldb);
}
- /*
- * Remove all password related attributes.
- */
- if (ac->userPassword) {
- ldb_msg_remove_attr(ac->update_msg, "userPassword");
- }
- ldb_msg_remove_attr(ac->update_msg, "clearTextPassword");
- ldb_msg_remove_attr(ac->update_msg, "unicodePwd");
- ldb_msg_remove_attr(ac->update_msg, "ntPwdHistory");
- ldb_msg_remove_attr(ac->update_msg, "dBCSPwd");
- ldb_msg_remove_attr(ac->update_msg, "lmPwdHistory");
- ldb_msg_remove_attr(ac->update_msg, "supplementalCredentials");
- ldb_msg_remove_attr(ac->update_msg, "pwdLastSet");
+ dsdb_remove_password_related_attrs(ac->update_msg, ac->userPassword);
*_ac = ac;
return LDB_SUCCESS;
return LDB_SUCCESS;
}
+
+/*
+ * Remove all password related attributes.
+ */
+void dsdb_remove_password_related_attrs(struct ldb_message *msg,
+ bool userPassword)
+{
+ if (userPassword) {
+ ldb_msg_remove_attr(msg, "userPassword");
+ }
+ ldb_msg_remove_attr(msg, "clearTextPassword");
+ ldb_msg_remove_attr(msg, "unicodePwd");
+ ldb_msg_remove_attr(msg, "ntPwdHistory");
+ ldb_msg_remove_attr(msg, "dBCSPwd");
+ ldb_msg_remove_attr(msg, "lmPwdHistory");
+ ldb_msg_remove_attr(msg, "supplementalCredentials");
+ ldb_msg_remove_attr(msg, "pwdLastSet");
+}