diff options
author | Volker Lendecke <vlendec@samba.org> | 2003-11-27 17:32:13 +0000 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2003-11-27 17:32:13 +0000 |
commit | 73cdf724e90d76e97895ae5b1326825bb59bf90e (patch) | |
tree | b71979cedb618fec892e82ab4c9245cf4264952e /source | |
parent | 5482ff71729b623c4561e42b82467bf2d5d64082 (diff) | |
download | samba-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.c | 27 |
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; |