diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-10-16 01:19:01 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:21:06 -0500 |
commit | 379e6598e128e5e63a10bd6a81ede01d3965a8be (patch) | |
tree | 6f0323d0f20ee68df672a42523c29ab7952b9274 /source4/dsdb | |
parent | 9b9215d0f40b9f14512b6be51ee3fd6dc7b00ce7 (diff) | |
download | samba-379e6598e128e5e63a10bd6a81ede01d3965a8be.tar.gz samba-379e6598e128e5e63a10bd6a81ede01d3965a8be.tar.bz2 samba-379e6598e128e5e63a10bd6a81ede01d3965a8be.zip |
r19308: Merge samsync fixes from SAMBA_4_0_RELEASE
Andrew Bartlett
(This used to be commit 331003239972d80864211377e864f7e469bd3d77)
Diffstat (limited to 'source4/dsdb')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/password_hash.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c index d8ef9176fd..6f24c7fa4c 100644 --- a/source4/dsdb/samdb/ldb_modules/password_hash.c +++ b/source4/dsdb/samdb/ldb_modules/password_hash.c @@ -102,7 +102,7 @@ static int add_password_hashes(struct ldb_module *module, struct ldb_message *ms sambaPassword = ldb_msg_find_attr_as_string(msg, "sambaPassword", NULL); if (sambaPassword == NULL) { /* impossible, what happened ?! */ - return LDB_ERR_OPERATIONS_ERROR; + return LDB_ERR_CONSTRAINT_VIOLATION; } if (is_mod) { @@ -634,6 +634,20 @@ static int password_hash_add(struct ldb_module *module, struct ldb_request *req) return LDB_ERR_CONSTRAINT_VIOLATION; } + if (sambaAttr && sambaAttr->num_values == 0) { + ldb_set_errstring(module->ldb, "sambaPassword must have a value!\n"); + return LDB_ERR_CONSTRAINT_VIOLATION; + } + + if (ntAttr && (ntAttr->num_values == 0)) { + ldb_set_errstring(module->ldb, "lmPwdHash must have a value!\n"); + return LDB_ERR_CONSTRAINT_VIOLATION; + } + if (lmAttr && (lmAttr->num_values == 0)) { + ldb_set_errstring(module->ldb, "lmPwdHash must have a value!\n"); + return LDB_ERR_CONSTRAINT_VIOLATION; + } + h = ph_init_handle(req, module, PH_ADD); if (!h) { return LDB_ERR_OPERATIONS_ERROR; |