summaryrefslogtreecommitdiff
path: root/source/rpc_parse
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2001-02-22 15:53:32 +0000
committerJean-François Micouleau <jfm@samba.org>2001-02-22 15:53:32 +0000
commit111231fc6b19c630521006ff0ebdbd0b420ea676 (patch)
tree1713be67525ac0d74081a041af4615131559d822 /source/rpc_parse
parentfc8b809976ca027d6618557def14e6eff102dc32 (diff)
downloadsamba-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.c19
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;