summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2010-04-16 15:06:17 +0200
committerVolker Lendecke <vl@samba.org>2010-04-17 12:01:18 +0200
commitf4b73f4e240cee0cc24dc29c84473d6068ab3139 (patch)
tree7b62e9d81ea99c6ea24ba23a5d3a8a9d1d35003d
parent3a362b45c623afb031798570836cebef3e5ebc8a (diff)
downloadsamba-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.c25
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;
}
}