diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-11-26 05:58:03 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:06:10 -0500 |
commit | 990acc9f770325bf8c5bb8d04e0c6f6cdb4b67ef (patch) | |
tree | 1d926ce7ba863cd214597e0f5eaa3449327c3d13 | |
parent | b6b01064279c0cf5bae8b2324c760f1f7f6be457 (diff) | |
download | samba-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.c | 2 | ||||
-rw-r--r-- | source4/torture/rpc/samr.c | 4 |
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); |