summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2003-11-27 17:32:13 +0000
committerVolker Lendecke <vlendec@samba.org>2003-11-27 17:32:13 +0000
commit73cdf724e90d76e97895ae5b1326825bb59bf90e (patch)
treeb71979cedb618fec892e82ab4c9245cf4264952e /source
parent5482ff71729b623c4561e42b82467bf2d5d64082 (diff)
downloadsamba-73cdf724e90d76e97895ae5b1326825bb59bf90e.tar.gz
samba-73cdf724e90d76e97895ae5b1326825bb59bf90e.tar.xz
samba-73cdf724e90d76e97895ae5b1326825bb59bf90e.zip
Only ask for 512 names at a time.
Volker
Diffstat (limited to 'source')
-rw-r--r--source/utils/net_rpc.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/source/utils/net_rpc.c b/source/utils/net_rpc.c
index af575d95853..2453355ee3d 100644
--- a/source/utils/net_rpc.c
+++ b/source/utils/net_rpc.c
@@ -1125,16 +1125,27 @@ rpc_group_members_internals(const DOM_SID *domain_sid, struct cli_state *cli,
if (!NT_STATUS_IS_OK(result))
goto done;
- result = cli_samr_lookup_rids(cli, mem_ctx, &domain_pol, 1000,
- num_members, group_rids,
- &num_names, &names, &name_types);
+ do {
+ int this_time = 512;
- if (!NT_STATUS_IS_OK(result))
- goto done;
+ if (num_members < this_time)
+ this_time = num_members;
- for (i = 0; i < num_members; i++) {
- printf("%s\n", names[i]);
- }
+ result = cli_samr_lookup_rids(cli, mem_ctx, &domain_pol, 1000,
+ this_time, group_rids,
+ &num_names, &names, &name_types);
+
+ if (!NT_STATUS_IS_OK(result))
+ goto done;
+
+ for (i = 0; i < this_time; i++) {
+ printf("%s\n", names[i]);
+ }
+
+ num_members -= this_time;
+ group_rids += 512;
+
+ } while (num_members > 0);
done:
return result;