[PATCH] nsswitch extensions + caching

Michael Bushkov bushman at rsu.ru
Tue Dec 6 06:33:48 PST 2005

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 
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,

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.
>On Tue, 6 Dec 2005, Michael Bushkov wrote:
>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>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>Here is the the new release of the patch:
>MB>The description of the project itself and of its several new features can be
>MB>found here:
>MB>Your feedback would be great!
>MB>Michael Bushkov
>MB>Rostov State University
>MB>freebsd-current at freebsd.org mailing list
>MB>To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"

More information about the freebsd-current mailing list