From 8b889256540e471c399f020871cf18fb4d89e694 Mon Sep 17 00:00:00 2001 From: Brendan Powers Date: Mon, 14 Dec 2009 20:40:26 -0500 Subject: s4-dsdb: return an error if samAccountName is not specified when creating a user. Makes sure samAccountName has been specified before adding a user. This happened while I was trying to add a user with the posixAccount objectclass. I forgot to specify the user objectClass, and samba segfaulted. It now returns LDB_ERR_CONSTRAINT_VIOLATION. Signed-off-by: Andrew Bartlett --- source4/dsdb/samdb/ldb_modules/password_hash.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c index 4d4f500e87..df4a344298 100644 --- a/source4/dsdb/samdb/ldb_modules/password_hash.c +++ b/source4/dsdb/samdb/ldb_modules/password_hash.c @@ -1487,6 +1487,13 @@ static int setup_io(struct ph_context *ac, io->n.lm_hash = samdb_result_hash(io->ac, new_msg, "dBCSPwd"); + if(io->u.sAMAccountName == NULL) + { + ldb_asprintf_errstring(ldb, "samAccountName is missing on %s for attempted password set/change", + ldb_dn_get_linearized(new_msg->dn)); + return(LDB_ERR_CONSTRAINT_VIOLATION); + } + return LDB_SUCCESS; } -- cgit