summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-11-26 05:58:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:06:10 -0500
commit990acc9f770325bf8c5bb8d04e0c6f6cdb4b67ef (patch)
tree1d926ce7ba863cd214597e0f5eaa3449327c3d13
parentb6b01064279c0cf5bae8b2324c760f1f7f6be457 (diff)
downloadsamba-990acc9f770325bf8c5bb8d04e0c6f6cdb4b67ef.tar.gz
samba-990acc9f770325bf8c5bb8d04e0c6f6cdb4b67ef.tar.bz2
samba-990acc9f770325bf8c5bb8d04e0c6f6cdb4b67ef.zip
r3977: fixed the lmPwdHash change in the rpc server (we were not fetching the
lm hash from the samdb, and thus not checking the verifier) fixed the client side to calculate the lm verifier based on the nt hash, not the lm hash (confirmed using w2k3) (This used to be commit 27e7fb3bafe4649359e2e68169b6f10fd4d2cc70)
-rw-r--r--source4/rpc_server/samr/samr_password.c2
-rw-r--r--source4/torture/rpc/samr.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/source4/rpc_server/samr/samr_password.c b/source4/rpc_server/samr/samr_password.c
index 787061602c..a3a1d2230f 100644
--- a/source4/rpc_server/samr/samr_password.c
+++ b/source4/rpc_server/samr/samr_password.c
@@ -251,7 +251,7 @@ NTSTATUS samr_ChangePasswordUser3(struct dcesrv_call_state *dce_call,
const char *user_dn, *domain_dn = NULL;
int ret;
struct ldb_message **res, mod;
- const char * const attrs[] = { "objectSid", "ntPwdHash", "unicodePwd", NULL };
+ const char * const attrs[] = { "objectSid", "ntPwdHash", "lmPwdHash", "unicodePwd", NULL };
const char * const dom_attrs[] = { "minPwdLength", "pwdHistoryLength",
"pwdProperties", "minPwdAge", "maxPwdAge",
NULL };
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index a4eb1de142..370f309b6c 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -1036,7 +1036,7 @@ static BOOL test_ChangePasswordUser2(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
encode_pw_buffer(lm_pass.data, newpass, STR_ASCII|STR_TERMINATE);
arcfour_crypt(lm_pass.data, old_lm_hash, 516);
- E_old_pw_hash(new_lm_hash, old_lm_hash, lm_verifier.hash);
+ E_old_pw_hash(new_nt_hash, old_lm_hash, lm_verifier.hash);
encode_pw_buffer(nt_pass.data, newpass, STR_UNICODE);
arcfour_crypt(nt_pass.data, old_nt_hash, 516);
@@ -1091,7 +1091,7 @@ static BOOL test_ChangePasswordUser3(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
encode_pw_buffer(lm_pass.data, newpass, STR_UNICODE);
arcfour_crypt(lm_pass.data, old_nt_hash, 516);
- E_old_pw_hash(new_lm_hash, old_lm_hash, lm_verifier.hash);
+ E_old_pw_hash(new_nt_hash, old_lm_hash, lm_verifier.hash);
encode_pw_buffer(nt_pass.data, newpass, STR_UNICODE);
arcfour_crypt(nt_pass.data, old_nt_hash, 516);