s3-samr: Fix Bug #6372, usermanager only displaying 1024 groups and aliases.
authorGünther Deschner <gd@samba.org>
Mon, 25 May 2009 12:05:18 +0000 (14:05 +0200)
committerKarolin Seeger <kseeger@samba.org>
Wed, 10 Jun 2009 07:52:41 +0000 (09:52 +0200)
This is now also verified with the RPC-SAMR-LARGE-DC test.

Guenther
(cherry picked from commit fca7dce1a908570e463ddcbd663955fcafd1d843)
(cherry picked from commit 6ad726f50ee10ac2a2f157906b3b3adb88bfea37)

source/rpc_server/srv_samr_nt.c

index f14c53b20a3875013fa108f24f4dbfa27cae996f..a394eb3b90c5869b1b3369cb3a0da1f56d635dca 100644 (file)
@@ -1165,6 +1165,12 @@ NTSTATUS _samr_EnumDomainGroups(pipes_struct *p,
        make_group_sam_entry_list(p->mem_ctx, &samr_entries,
                                  num_groups, groups);
 
+       if (MAX_SAM_ENTRIES <= num_groups) {
+               status = STATUS_MORE_ENTRIES;
+       } else {
+               status = NT_STATUS_OK;
+       }
+
        samr_array->count = num_groups;
        samr_array->entries = samr_entries;
 
@@ -1233,6 +1239,12 @@ NTSTATUS _samr_EnumDomainAliases(pipes_struct *p,
 
        DEBUG(5,("_samr_EnumDomainAliases: %d\n", __LINE__));
 
+       if (MAX_SAM_ENTRIES <= num_aliases) {
+               status = STATUS_MORE_ENTRIES;
+       } else {
+               status = NT_STATUS_OK;
+       }
+
        samr_array->count = num_aliases;
        samr_array->entries = samr_entries;