Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Dec 2005 17:38:05 +0300
From:      Michael Bushkov <bushman@rsu.ru>
To:        Harti Brandt <harti@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: [PATCH] nsswitch extensions + caching
Message-ID:  <4395A24D.9050001@rsu.ru>
In-Reply-To: <20051206125936.E16797@beagle.kn.op.dlr.de>
References:  <43957D3F.4070109@rsu.ru> <20051206125936.E16797@beagle.kn.op.dlr.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Harti!
I think, that there is a chance. We can make an nsswitch source, named 
"compat". This source will keep the "traditional" functionality, i.e. 
would be implemented through getgrent(), setgrent(). The "compat" source 
can also be used as a stub in all places, where we don't want to write 
the new, specialized code, but want our usual functionality 
(getgrent+setgrent).
We then can modify the winbind nsswitch module to support the 
getgrouplist() function, so that it can work in the optimal way.
So I don't see any reason, that won't allow us to do it.

I can implement all the necessary stuff, If you don't mind.

With best regards,
Michael

Harti Brandt wrote:

>Hi Michael,
>
>just a short question: is there any chance you could marshall the 
>getgrouplist() call through nsswitch? Linux does this and FreeBSD doesn't. 
>The problem with not doing this comes when you connect a FreeBSD machine 
>via Samba to a large Active Directory. The current implementation of 
>getgrouplist() scans through all groups. This may take several minutes 
>depending on the size of the AD. On Linux this is much faster, because 
>Samba's implementation of getgrouplist() can directly ask the AD for a 
>list of all members of a given group.
>
>I would try to do this myself, but given my lack of knowledge in the 
>nsswitch stuff and the lack of free time this would take some time.
>
>Thanks,
>harti
> 
>On Tue, 6 Dec 2005, Michael Bushkov wrote:
>
>MB>Hello!
>MB>I've made the "nsswitch + caching daemon" project during the Google's Summer
>MB>of Code. I'm still working on it - there is always a room for improvements :)
>MB>
>MB>Since previous release, I've made a lot of changes to the initial version,
>MB>fixed some bugs, and this version seems to be worth using it :)
>MB>
>MB>Here is the the new release of the patch:
>MB>http://www.rsu.ru/~bushman/nsswitch_cached/nss_cached_rev2.patch
>MB>
>MB>The description of the project itself and of its several new features can be
>MB>found here:
>MB>http://rsu.ru/~bushman/nsswitch_cached/
>MB>
>MB>Your feedback would be great!
>MB>
>MB>Michael Bushkov
>MB>Rostov State University
>MB>_______________________________________________
>MB>freebsd-current@freebsd.org mailing list
>MB>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>MB>To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>MB>
>MB>
>MB>
>  
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4395A24D.9050001>