On Thu, Oct 08, 2009 at 02:23:11AM -0700, Casper Dik wrote:
> The use for a larger number of groups is described in CR 4088757,
> particular in the case of Samba servers and ADS clients; the
> Samba servers map every SID to a Unix group.  Users with more
> than 32 groups SIDs are common.  We've seen reports varying from
> "64 is enough", "128 is absolutely enough" and "we've users with
> more 190 group SIDS).

I've seen claims of nearly 500 groups.

> Ucred routines will shrink the actual size of the ucred exchanges: the
> ucred structures will "shrink to fit" and only processes which use a lot
> of groups will pay for this in ucred exchanges.

How does this work?  The size of a ucred is not passed around, but
required to be ucred_size(3C).  I guess receiving code will malloc()
ucred_size() bytes, receive the ucred, and realloc() to the correct,
smaller size, which would be encoded in a ucred header.  Or perhaps
you'll be enhancing the ucredsys/doorsys syscalls so that you only alloc
as much as needed?  Yes, implementation details, I know.  But
interesting details nonetheless.

Also: "yay!"

Nico
-- 

Reply via email to