summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-10-25 16:22:08 +0000
committerLuke Leighton <lkcl@samba.org>1999-10-25 16:22:08 +0000
commit8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683 (patch)
treecb9e0bdd8f96a41cf6b460017a3772ea7e1dc5d3 /source3/rpc_server
parent45b794bdde0cb906216425c8fc2af8610aa8ad3c (diff)
downloadsamba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.tar.gz
samba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.tar.bz2
samba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.zip
one of those wonderful moments when running against a different MSRPC
implementation (NT5) when you discover that your code is trash. samr_enum_dom_users(), samr_enum_dom_aliases() and samr_enum_dom_groups() all take a HANDLE for multiple-call enumeration purposes. (This used to be commit 19490d8b4fb8a103f3df4e6104f6f22937b0c518)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_samr.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/source3/rpc_server/srv_samr.c b/source3/rpc_server/srv_samr.c
index b1ee0cfe31..bfbeb5718c 100644
--- a/source3/rpc_server/srv_samr.c
+++ b/source3/rpc_server/srv_samr.c
@@ -639,7 +639,7 @@ static void samr_reply_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS *q_u,
fstring sid_str;
r_e.status = 0x0;
- r_e.num_entries = 0;
+ r_e.num_entries2 = 0;
/* find the policy handle. open a policy on it. */
if (r_e.status == 0x0 && !get_lsa_policy_samr_sid(&q_u->pol, &sid))
@@ -666,7 +666,9 @@ static void samr_reply_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS *q_u,
if (r_e.status == 0x0)
{
- make_samr_r_enum_dom_groups(&r_e, num_entries, grps, r_e.status);
+ make_samr_r_enum_dom_groups(&r_e,
+ q_u->start_idx + num_entries,
+ num_entries, grps, r_e.status);
}
/* store the response in the SMB stream */
@@ -708,7 +710,7 @@ static void samr_reply_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES *q_u,
fstring sid_str;
r_e.status = 0x0;
- r_e.num_entries = 0;
+ r_e.num_entries2 = 0;
/* find the policy handle. open a policy on it. */
if (r_e.status == 0x0 && !get_lsa_policy_samr_sid(&q_u->pol, &sid))
@@ -750,7 +752,9 @@ static void samr_reply_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES *q_u,
if (r_e.status == 0x0)
{
- make_samr_r_enum_dom_aliases(&r_e, num_entries, alss, r_e.status);
+ make_samr_r_enum_dom_aliases(&r_e,
+ q_u->start_idx + num_entries,
+ num_entries, alss, r_e.status);
}
/* store the response in the SMB stream */
@@ -914,7 +918,7 @@ static void samr_reply_query_dispinfo(SAMR_Q_QUERY_DISPINFO *q_u,
if ((status == 0) && (num_entries < num_sam_entries))
{
- status = NT_STATUS_MORE_ENTRIES;
+ status = STATUS_MORE_ENTRIES;
}
make_samr_r_query_dispinfo(&r_e, num_entries, data_size,