summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-11-16 21:14:53 +0000
committerLuke Leighton <lkcl@samba.org>1999-11-16 21:14:53 +0000
commitcc8df5ce4955fc721e11ff08de052554894d963a (patch)
tree65cec4affde53426067ec8e70313006900df44e5 /source3/rpc_server
parent6b56ebb7cf48b350ba4e9fd5c61a8900b805a001 (diff)
downloadsamba-cc8df5ce4955fc721e11ff08de052554894d963a.tar.gz
samba-cc8df5ce4955fc721e11ff08de052554894d963a.tar.bz2
samba-cc8df5ce4955fc721e11ff08de052554894d963a.zip
attempting to get nt5 wksta to join domain.
1) had to fix samr "create user" and "set user info" (level 23). 2) had to fix netlogon enum trust domains 3) registry key needed \\ in it not \. (This used to be commit 70b2c1ecbb4fbbb86fea676c80754485aae5ab13)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_netlog.c2
-rw-r--r--source3/rpc_server/srv_reg.c2
-rw-r--r--source3/rpc_server/srv_samr.c21
3 files changed, 21 insertions, 4 deletions
diff --git a/source3/rpc_server/srv_netlog.c b/source3/rpc_server/srv_netlog.c
index 09678e3eaf..5e9ae35094 100644
--- a/source3/rpc_server/srv_netlog.c
+++ b/source3/rpc_server/srv_netlog.c
@@ -102,7 +102,7 @@ static void net_reply_trust_dom_list(NET_Q_TRUST_DOM_LIST *q_t, prs_struct *rdat
/* store the response in the SMB stream */
net_io_r_trust_dom("", &r_t, rdata, 0);
- DEBUG(6,("net_reply_trust_dom_listlogon_ctrl2: %d\n", __LINE__));
+ DEBUG(6,("net_reply_trust_dom_list: %d\n", __LINE__));
}
diff --git a/source3/rpc_server/srv_reg.c b/source3/rpc_server/srv_reg.c
index 0ba6774900..fcc22a792a 100644
--- a/source3/rpc_server/srv_reg.c
+++ b/source3/rpc_server/srv_reg.c
@@ -143,7 +143,7 @@ static void reg_reply_open_entry(REG_Q_OPEN_ENTRY *q_u,
DEBUG(5,("reg_open_entry: %s\n", name));
/* lkcl XXXX do a check on the name, here */
if (!strequal(name, "SYSTEM\\CurrentControlSet\\Control\\ProductOptions") ||
- !strequal(name, "SYSTEM\\CurrentControlSet\\Services\\NETLOGON\Parameters"))
+ !strequal(name, "SYSTEM\\CurrentControlSet\\Services\\NETLOGON\\Parameters"))
{
status = 0xC000000 | NT_STATUS_ACCESS_DENIED;
}
diff --git a/source3/rpc_server/srv_samr.c b/source3/rpc_server/srv_samr.c
index c3464380ed..ff2f1bbb8c 100644
--- a/source3/rpc_server/srv_samr.c
+++ b/source3/rpc_server/srv_samr.c
@@ -2090,6 +2090,11 @@ static BOOL set_user_info_23(SAM_USER_INFO_23 *id23, uint32 rid)
static uchar lm_hash[16];
pstring new_pw;
+ if (id23 == NULL)
+ {
+ DEBUG(5, ("set_user_info_23: NULL id23\n"));
+ return False;
+ }
if (pwd == NULL)
{
return False;
@@ -2155,6 +2160,12 @@ static void samr_reply_set_userinfo(SAMR_Q_SET_USERINFO *q_u,
DEBUG(5,("samr_reply_set_userinfo: rid:0x%x\n", rid));
/* ok! user info levels (there are lots: see MSDEV help), off we go... */
+ if (status == 0x0 && q_u->info.id == NULL)
+ {
+ DEBUG(5,("samr_reply_set_userinfo: NULL info level\n"));
+ status = 0xC0000000 | NT_STATUS_INVALID_INFO_CLASS;
+ }
+
if (status == 0x0)
{
switch (q_u->switch_value)
@@ -2170,7 +2181,13 @@ static void samr_reply_set_userinfo(SAMR_Q_SET_USERINFO *q_u,
case 23:
{
SAM_USER_INFO_23 *id23 = q_u->info.id23;
- SamOEMhash(id23->pass, user_sess_key, True);
+ SamOEMhash(id23->pass, user_sess_key, 1);
+#if DEBUG_PASSWORD
+ DEBUG(100,("pass buff:\n"));
+ dump_data(100, id23->pass, sizeof(id23->pass));
+#endif
+ dbgflush();
+
status = set_user_info_23(id23, rid) ? 0 : (0xC0000000 | NT_STATUS_ACCESS_DENIED);
break;
}
@@ -2663,7 +2680,7 @@ static void samr_reply_create_user(SAMR_Q_CREATE_USER *q_u,
pstring msg_str;
if (!local_password_change(user_name, True,
- q_u->acb_info, 0xffff,
+ q_u->acb_info | ACB_DISABLED, 0xffff,
NULL,
err_str, sizeof(err_str),
msg_str, sizeof(msg_str)))