summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-09-25 00:50:37 +0000
committerJeremy Allison <jra@samba.org>2001-09-25 00:50:37 +0000
commit008ba27b2884a5553f4c28a2c9c7ae584b61c3a4 (patch)
treee6b4ac5da6dfa0fccfa1ba377b3c009bf9d92357
parentbe6023b2fb65e3aa0742b2731c0c2827f9983dc8 (diff)
downloadsamba-008ba27b2884a5553f4c28a2c9c7ae584b61c3a4.tar.gz
samba-008ba27b2884a5553f4c28a2c9c7ae584b61c3a4.tar.bz2
samba-008ba27b2884a5553f4c28a2c9c7ae584b61c3a4.zip
Fixed enumeration of large numbers of groups from a Samba DC.
Tidied up debug messages in lib/messages.c Jeremy. (This used to be commit dfb58f227609d6c8a255677b85ec853efa19f602)
-rw-r--r--source3/lib/messages.c6
-rw-r--r--source3/rpc_server/srv_samr_nt.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 5e7072c2b4..8a696e0c26 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -298,12 +298,16 @@ void message_dispatch(void)
size_t len;
struct dispatch_fns *dfn;
- if (!received_signal) return;
+ if (!received_signal)
+ return;
+
+ DEBUG(10,("message_dispatch: received_signal = %d\n", received_signal));
received_signal = 0;
while (message_recv(&msg_type, &src, &buf, &len)) {
for (dfn = dispatch_fns; dfn; dfn = dfn->next) {
if (dfn->msg_type == msg_type) {
+ DEBUG(10,("message_dispatch: processing message of type %d.\n", msg_type));
dfn->fn(msg_type, src, buf, len);
}
}
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 7409acec27..4ffd1c85b5 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -900,6 +900,8 @@ static NTSTATUS get_group_alias_entries(TALLOC_CTX *ctx, DOMAIN_GRP **d_grp, DOM
DEBUG(10,("get_group_alias_entries: returning %d entries\n", *p_num_entries));
+ if (num_entries >= max_entries)
+ return STATUS_MORE_ENTRIES;
return NT_STATUS_OK;
}
@@ -1007,7 +1009,7 @@ NTSTATUS _samr_enum_dom_aliases(pipes_struct *p, SAMR_Q_ENUM_DOM_ALIASES *q_u, S
/*safe_free(grp);*/
- init_samr_r_enum_dom_aliases(r_u, q_u->start_idx, num_entries);
+ init_samr_r_enum_dom_aliases(r_u, q_u->start_idx + num_entries, num_entries);
DEBUG(5,("samr_enum_dom_aliases: %d\n", __LINE__));