summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-09-28 17:35:03 +0000
committerJean-François Micouleau <jfm@samba.org>2000-09-28 17:35:03 +0000
commitb06d83c909e0587accf93e090c62395ff8b1bb87 (patch)
tree673a6627b0bbf870ff1377a4da0b58081387e9c5 /source3/rpc_parse
parent1ef79dbcabbe58c1338040eaea9fbcfe3b7ea105 (diff)
downloadsamba-b06d83c909e0587accf93e090c62395ff8b1bb87.tar.gz
samba-b06d83c909e0587accf93e090c62395ff8b1bb87.tar.bz2
samba-b06d83c909e0587accf93e090c62395ff8b1bb87.zip
fixed samr_create_user(). we now correctly parse the query and the reply.
And we create the disabled account. That means we can create user and trust accounts remotely ! ifdef out a return in passdb/smbpass.c. I think I didn't break any security. Jeremy could you check if I didn't make any mistakes ??? J.F. (This used to be commit 416be1b64f366c8b859f25856fce2467ec0446d9)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r--source3/rpc_parse/parse_samr.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source3/rpc_parse/parse_samr.c b/source3/rpc_parse/parse_samr.c
index 72e803d22b..ce26ad454f 100644
--- a/source3/rpc_parse/parse_samr.c
+++ b/source3/rpc_parse/parse_samr.c
@@ -3082,11 +3082,9 @@ BOOL samr_io_q_create_user(char *desc, SAMR_Q_CREATE_USER *q_u, prs_struct *ps,
if(!prs_align(ps))
return False;
- if(!prs_uint32("acct_ctrl", ps, depth, &q_u->acct_ctrl))
+ if(!prs_uint32("acb_info", ps, depth, &q_u->acb_info))
return False;
- if(!prs_uint16("unknown_1", ps, depth, &q_u->unknown_1))
- return False;
- if(!prs_uint16("unknown_2", ps, depth, &q_u->unknown_2))
+ if(!prs_uint32("access_mask", ps, depth, &q_u->access_mask))
return False;
return True;
@@ -3109,7 +3107,10 @@ BOOL samr_io_r_create_user(char *desc, SAMR_R_CREATE_USER *r_u, prs_struct *ps,
if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
return False;
- if(!prs_align(ps))
+
+ if(!prs_uint32("unknown_0", ps, depth, &r_u->unknown_0))
+ return False;
+ if(!prs_uint32("user_rid", ps, depth, &r_u->user_rid))
return False;
if(!prs_uint32("status", ps, depth, &r_u->status))