From 98b98a29f6502422fb6e4bd8c16b5731e2c9c553 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Thu, 3 Jun 2010 18:35:00 +0200 Subject: s4:password_hash LDB module - adapt the module to the new "ldb_msg_remove_attr" behaviour --- source4/dsdb/samdb/ldb_modules/password_hash.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c index 58ab6f7b30..1b0b490f5f 100644 --- a/source4/dsdb/samdb/ldb_modules/password_hash.c +++ b/source4/dsdb/samdb/ldb_modules/password_hash.c @@ -2266,22 +2266,11 @@ static int password_hash_add_do_add(struct ph_context *ac) return LDB_ERR_OPERATIONS_ERROR; } - /* remove attributes that we just read into 'io' (handle also superfluous - * "password modify" trials - multiple attributes with the same name - - * on add operations) */ - while (ldb_msg_find_element(msg, "userPassword") != NULL) { - ldb_msg_remove_attr(msg, "userPassword"); - } - while (ldb_msg_find_element(msg, "clearTextPassword") != NULL) { - ldb_msg_remove_attr(msg, "clearTextPassword"); - } - while (ldb_msg_find_element(msg, "unicodePwd") != NULL) { - ldb_msg_remove_attr(msg, "unicodePwd"); - } - while (ldb_msg_find_element(msg, "dBCSPwd") != NULL) { - ldb_msg_remove_attr(msg, "dBCSPwd"); - } - + /* remove attributes that we just read into 'io' */ + ldb_msg_remove_attr(msg, "userPassword"); + ldb_msg_remove_attr(msg, "clearTextPassword"); + ldb_msg_remove_attr(msg, "unicodePwd"); + ldb_msg_remove_attr(msg, "dBCSPwd"); ldb_msg_remove_attr(msg, "pwdLastSet"); ldb = ldb_module_get_ctx(ac->module); @@ -2452,7 +2441,7 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r *l); return LDB_ERR_CONSTRAINT_VIOLATION; } - ldb_msg_remove_attr(msg, *l); + ldb_msg_remove_element(msg, passwordAttr); } } if ((del_attr_cnt > 0) && (add_attr_cnt == 0)) { -- cgit