diff options
author | Jean-François Micouleau <jfm@samba.org> | 2001-02-22 15:53:32 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2001-02-22 15:53:32 +0000 |
commit | 111231fc6b19c630521006ff0ebdbd0b420ea676 (patch) | |
tree | 1713be67525ac0d74081a041af4615131559d822 /source/rpc_parse | |
parent | fc8b809976ca027d6618557def14e6eff102dc32 (diff) | |
download | samba-111231fc6b19c630521006ff0ebdbd0b420ea676.tar.gz |
fixed a bunch of stuff. USRMGR.exe works back.
still a long way to go.
added a new get_sampwd_entries() for query_dispinfo that at least work.
J.F.
Diffstat (limited to 'source/rpc_parse')
-rw-r--r-- | source/rpc_parse/parse_samr.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c index 24df683ee81..56f1c0c5576 100644 --- a/source/rpc_parse/parse_samr.c +++ b/source/rpc_parse/parse_samr.c @@ -1811,7 +1811,12 @@ void init_samr_r_query_dispinfo(SAMR_R_QUERY_DISPINFO * r_u, r_u->switch_level = switch_level; r_u->num_entries = num_entries; - r_u->ptr_entries = 1; + + if (num_entries==0) + r_u->ptr_entries = 0; + else + r_u->ptr_entries = 1; + r_u->num_entries2 = num_entries; r_u->ctr = ctr; @@ -1847,6 +1852,16 @@ BOOL samr_io_r_query_dispinfo(char *desc, SAMR_R_QUERY_DISPINFO * r_u, return False; if(!prs_uint32("ptr_entries ", ps, depth, &r_u->ptr_entries)) return False; + + if (r_u->ptr_entries==0) { + if(!prs_align(ps)) + return False; + if(!prs_uint32("status", ps, depth, &r_u->status)) + return False; + + return True; + } + if(!prs_uint32("num_entries2", ps, depth, &r_u->num_entries2)) return False; @@ -1885,8 +1900,6 @@ BOOL samr_io_r_query_dispinfo(char *desc, SAMR_R_QUERY_DISPINFO * r_u, if(!prs_align(ps)) return False; - if(!prs_align(ps)) - return False; if(!prs_uint32("status", ps, depth, &r_u->status)) return False; |