summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_parse/parse_net.c6
-rw-r--r--source3/rpc_server/srv_netlog.c13
2 files changed, 15 insertions, 4 deletions
diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c
index 2fc0d12446..d99c4baac6 100644
--- a/source3/rpc_parse/parse_net.c
+++ b/source3/rpc_parse/parse_net.c
@@ -580,11 +580,11 @@ void make_id_info1(NET_ID_INFO_1 *id, char *domain_name,
#endif
memset(key, 0, 16);
- memcpy(key, sess_key, 16);
+ memcpy(key, sess_key, 8);
- memcpy(lm_cypher, lm_owf, 16);
+ memcpy(lm_owf, lm_cypher, 16);
SamOEMhash(lm_owf, key, False);
- memcpy(lm_cypher, lm_owf, 16);
+ memcpy(nt_owf, nt_cypher, 16);
SamOEMhash(nt_owf, key, False);
#ifdef DEBUG_PASSWORD
diff --git a/source3/rpc_server/srv_netlog.c b/source3/rpc_server/srv_netlog.c
index 17a534b6f0..79a659faf8 100644
--- a/source3/rpc_server/srv_netlog.c
+++ b/source3/rpc_server/srv_netlog.c
@@ -506,6 +506,17 @@ static uint32 net_login_interactive(NET_ID_INFO_1 *id1,
memcpy(lm_pwd, id1->lm_owf.data, 16);
memcpy(nt_pwd, id1->nt_owf.data, 16);
+#ifdef DEBUG_PASSWORD
+ DEBUG(100,("key:"));
+ dump_data(100, key, 16);
+
+ DEBUG(100,("lm owf password:"));
+ dump_data(100, lm_pwd, 16);
+
+ DEBUG(100,("nt owf password:"));
+ dump_data(100, nt_pwd, 16);
+#endif
+
SamOEMhash((uchar *)lm_pwd, key, False);
SamOEMhash((uchar *)nt_pwd, key, False);
@@ -518,7 +529,7 @@ static uint32 net_login_interactive(NET_ID_INFO_1 *id1,
#endif
if (memcmp(smb_pass->smb_passwd , lm_pwd, 16) != 0 &&
- memcmp(smb_pass->smb_nt_passwd, nt_pwd, 16) != 0)
+ memcmp(smb_pass->smb_nt_passwd, nt_pwd, 16) != 0)
{
status = 0xC0000000 | NT_STATUS_WRONG_PASSWORD;
}