diff options
author | Volker Lendecke <vl@samba.org> | 2010-04-16 15:06:17 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-04-17 12:01:18 +0200 |
commit | f4b73f4e240cee0cc24dc29c84473d6068ab3139 (patch) | |
tree | 7b62e9d81ea99c6ea24ba23a5d3a8a9d1d35003d | |
parent | 3a362b45c623afb031798570836cebef3e5ebc8a (diff) | |
download | samba-f4b73f4e240cee0cc24dc29c84473d6068ab3139.tar.gz samba-f4b73f4e240cee0cc24dc29c84473d6068ab3139.tar.bz2 samba-f4b73f4e240cee0cc24dc29c84473d6068ab3139.zip |
s3: Slightly simpify samr_ValidatePassword_Reset
-rw-r--r-- | source3/rpc_server/srv_samr_nt.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c index c739de2acd..3ebfe391ac 100644 --- a/source3/rpc_server/srv_samr_nt.c +++ b/source3/rpc_server/srv_samr_nt.c @@ -6727,19 +6727,20 @@ static enum samr_ValidationStatus samr_ValidatePassword_Reset(TALLOC_CTX *mem_ct { NTSTATUS status; - if (req->password.string) { - if (strlen(req->password.string) < dom_pw_info->min_password_length) { + if (req->password.string == NULL) { + return SAMR_VALIDATION_STATUS_SUCCESS; + } + if (strlen(req->password.string) < dom_pw_info->min_password_length) { + ZERO_STRUCT(rep->info); + return SAMR_VALIDATION_STATUS_PWD_TOO_SHORT; + } + if (dom_pw_info->password_properties & DOMAIN_PASSWORD_COMPLEX) { + status = check_password_complexity(req->account.string, + req->password.string, + NULL); + if (!NT_STATUS_IS_OK(status)) { ZERO_STRUCT(rep->info); - return SAMR_VALIDATION_STATUS_PWD_TOO_SHORT; - } - if (dom_pw_info->password_properties & DOMAIN_PASSWORD_COMPLEX) { - status = check_password_complexity(req->account.string, - req->password.string, - NULL); - if (!NT_STATUS_IS_OK(status)) { - ZERO_STRUCT(rep->info); - return SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH; - } + return SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH; } } |