diff options
author | Brendan Powers <brendan0powers@gmail.com> | 2009-12-14 20:40:26 -0500 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2009-12-18 14:27:43 +1100 |
commit | 8b889256540e471c399f020871cf18fb4d89e694 (patch) | |
tree | e516eca6e7c82635fbd2ef04345a52d7b9bcf63e | |
parent | d99084ffdb2c898c18bd4b264d8dd297dd0f1f25 (diff) | |
download | samba-8b889256540e471c399f020871cf18fb4d89e694.tar.gz samba-8b889256540e471c399f020871cf18fb4d89e694.tar.bz2 samba-8b889256540e471c399f020871cf18fb4d89e694.zip |
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 <abartlet@samba.org>
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/password_hash.c | 7 |
1 files changed, 7 insertions, 0 deletions
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; } |