From 8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Mon, 25 Oct 1999 16:22:08 +0000 Subject: 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) --- source3/rpc_server/srv_samr.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'source3/rpc_server/srv_samr.c') 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, -- cgit