From: Kamen Mazdrashki Date: Tue, 27 Jan 2015 23:43:10 +0000 (+0200) Subject: s4-dsdb: Refactor user objects defaults setter to use attribute/value map X-Git-Tag: tevent-0.9.23~199 X-Git-Url: http://git.samba.org/samba.git/?p=kai%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=3c066661e826bed16869a6c0d52c4e083ea6bae0 s4-dsdb: Refactor user objects defaults setter to use attribute/value map Change-Id: Iaa32af4225219a4c5c42c663022e8be429b8a1d2 Signed-off-by: Kamen Mazdrashki Reviewed-by: Andrew Bartlett Reviewed-by: Garming Sam --- diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index ac90cbc83be..7b948f2d81f 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -4854,35 +4854,56 @@ NTSTATUS dsdb_update_bad_pwd_count(TALLOC_CTX *mem_ctx, */ int dsdb_user_obj_set_defaults(struct ldb_context *ldb, struct ldb_message *usr_obj) { - int ret; + int i, ret; + const struct attribute_values { + const char *name; + const char *value; + } map[] = { + { + .name = "accountExpires", + .value = "9223372036854775807" + }, + { + .name = "badPasswordTime", + .value = "0" + }, + { + .name = "badPwdCount", + .value = "0" + }, + { + .name = "codePage", + .value = "0" + }, + { + .name = "countryCode", + .value = "0" + }, + { + .name = "lastLogoff", + .value = "0" + }, + { + .name = "lastLogon", + .value = "0" + }, + { + .name = "logonCount", + .value = "0" + }, + { + .name = "pwdLastSet", + .value = "0" + } + }; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "accountExpires", "9223372036854775807"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "badPasswordTime", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "badPwdCount", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "codePage", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "countryCode", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "lastLogoff", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "lastLogon", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "logonCount", "0"); - if (ret != LDB_SUCCESS) return ret; - ret = samdb_find_or_add_attribute(ldb, usr_obj, - "pwdLastSet", "0"); - if (ret != LDB_SUCCESS) return ret; + for (i = 0; i < ARRAY_SIZE(map); i++) { + ret = samdb_find_or_add_attribute(ldb, usr_obj, + map[i].name, map[i].value); + if (ret != LDB_SUCCESS) { + return ret; + } + } return LDB_SUCCESS; }