--tThc/1wpZn/ma/RB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 22, 2008 at 06:25:01PM -0700, Steven Danneman wrote:
> >On Mon, Apr 07, 2008 at 11:27:28AM -0700, Steven Danneman wrote:
> >> My proposal is to rewrite winbindd_list_groups() (and subsequently
> >> winbindd_list_users()) to asynchronously enumerate groups from all=20
> >> known domains simultaneously using async_domain_request() and calling
> >> get_sam_group_entries() from the winbindd_child_dispatch_table.

>=20
> >Go, Steven, Go! :-))

>=20
> >Volker

>=20
> Ok, attached is healthy chunk of code making the WINBINDD_LIST_GROUPS
> handler function asynchronous. It was pretty straightforward once I
> wrapped my head around the various levels of calls and callbacks
> required to communicate between parent and child.
>=20
> If you like this approach, I'll apply the same changes to
> WINBINDD_LIST_USERS.


Looks very good to me, thanks!

Just a quick comment: In listgroups_recv you're using
talloc_asprintf to paste the results together. These strings
can get *very* long, so you might want to use
talloc_asprintf_append_buffer, which does not use strlen for
the existing string.

Jerry, what do you think about this patch?

Volker

--tThc/1wpZn/ma/RB
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFIEICSUzqjrWwMRl0RAoWeAJ99Jq3Q6f0L7++YXWIwl5 JWcpKvJwCeO3i+
9VG7ePoYgauVsNsNkAFuzI4=
=G9PE
-----END PGP SIGNATURE-----

--tThc/1wpZn/ma/RB--