From 0fa0eaa3837551bb04fd850d78633cc08a3dbdcc Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 5 Jul 2004 20:33:17 +0000 Subject: r1342: When fixing _lsa_lookupsids in samba3 I wanted to find out the number of SIDs w2k3 can handle in a single request. With the samba3 client rpc libs I can do about 21000 SIDs in a single request. test_many_LookupSIDs with 10000 SIDs fails on the subsequent request with a NET_WRITE_FAULT. Maybe the Samba4 DCE people want to take a look at this -- I don't see the problem. Bug fix: SID components should be treated as unsigned when parsing Volker (This used to be commit 8c997a2ad2e89a640f854b556ef76a3d52c15963) --- source4/torture/rpc/lsa.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'source4/torture') diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index e3c603da17..44e1564992 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -181,6 +181,56 @@ static BOOL test_LookupSids(struct dcerpc_pipe *p, return True; } +static BOOL test_many_LookupSids(struct dcerpc_pipe *p, + TALLOC_CTX *mem_ctx, + struct policy_handle *handle) +{ + struct lsa_LookupSids r; + struct lsa_TransNameArray names; + uint32_t count; + NTSTATUS status; + struct lsa_SidArray sids; + int i; + + printf("\nTesting LookupSids with lots of SIDs\n"); + + names.count = 0; + names.names = NULL; + + sids.num_sids = 10000; + + sids.sids = talloc_array_p(mem_ctx, struct lsa_SidPtr, sids.num_sids); + + for (i=0; i