diff options
author | Jeremy Allison <jra@samba.org> | 2001-09-25 00:50:37 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-09-25 00:50:37 +0000 |
commit | 008ba27b2884a5553f4c28a2c9c7ae584b61c3a4 (patch) | |
tree | e6b4ac5da6dfa0fccfa1ba377b3c009bf9d92357 | |
parent | be6023b2fb65e3aa0742b2731c0c2827f9983dc8 (diff) | |
download | samba-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.c | 6 | ||||
-rw-r--r-- | source3/rpc_server/srv_samr_nt.c | 4 |
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__)); |