mirror of
https://github.com/samba-team/samba.git
synced 2025-01-29 21:47:30 +03:00
Fixed enumeration of a large (<1500) users from a Samba PDC to a W2k
member server. Firstly, use the same max enumeration size (0x400) as W2K uses, otherwise W2K won't ask for any more. Secondly, if a enumeration request with a non-zero offset comes in on a handle that hasn't started an enumeration, don't bitch about it (return NT_STATUS_UNSUCCESSFUL), just load the db on that handle and return at that offset. Jeremy. (This used to be commit 0b7da4a50ea02e28ab23e71de1e5f8b9194a9af3)
This commit is contained in:
parent
927e860477
commit
120607cab1
@ -646,7 +646,7 @@ typedef struct r_samr_open_domain_info
|
||||
|
||||
} SAMR_R_OPEN_DOMAIN;
|
||||
|
||||
#define MAX_SAM_ENTRIES 50
|
||||
#define MAX_SAM_ENTRIES 0x400
|
||||
|
||||
typedef struct samr_entry_info
|
||||
{
|
||||
|
@ -901,9 +901,6 @@ NTSTATUS _samr_query_dispinfo(pipes_struct *p, SAMR_Q_QUERY_DISPINFO *q_u, SAMR_
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
case 0x4:
|
||||
if (enum_context!=0 && info->disp_info.user_dbloaded==False)
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
|
||||
become_root();
|
||||
r_u->status=load_sampwd_entries(info, acb_mask);
|
||||
unbecome_root();
|
||||
@ -914,9 +911,6 @@ NTSTATUS _samr_query_dispinfo(pipes_struct *p, SAMR_Q_QUERY_DISPINFO *q_u, SAMR_
|
||||
break;
|
||||
case 0x3:
|
||||
case 0x5:
|
||||
if (enum_context!=0 && info->disp_info.group_dbloaded==False)
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
|
||||
r_u->status = load_group_domain_entries(info, &info->sid);
|
||||
if (NT_STATUS_IS_ERR(r_u->status))
|
||||
return r_u->status;
|
||||
|
Loading…
x
Reference in New Issue
Block a user