[PATCH] caching daemon release and nsswitch patches

Michael Bushkov bushman at rsu.ru
Sat Aug 27 14:13:29 GMT 2005


Hi! I'm working on nsswitch improvement (during the Google Summer of Code 
program. And, as the deadline is close, I'd like to make some kind of 
release. Actually there would be 2 releases, this is the first.

This release includes 3 patches. They could be found in the Perforce 
repository:
http://perforce.freebsd.org/fileDownLoad.cgi?FSPC=//depot/projects/soc2005/nsswitch%5fcached/patches/include.diff&REV=1
http://perforce.freebsd.org/fileDownLoad.cgi?FSPC=//depot/projects/soc2005/nsswitch%5fcached/patches/libc.diff&REV=1
http://perforce.freebsd.org/fileDownLoad.cgi?FSPC=//depot/projects/soc2005/nsswitch%5fcached/patches/usr.sbin.diff&REV=1

or on my mirror:
http://www.rsu.ru/~bushman/cached/downloads/patchset1/include.diff
http://www.rsu.ru/~bushman/cached/downloads/patchset1/libc.diff
http://www.rsu.ru/~bushman/cached/downloads/patchset1/usr.sbin.diff

Some words on how to use and what it gives:
include.diff and libc.diff should be applied like that:
from usr/src:     patch -p0 < include.diff,
from usr/src/lib: patch -p0 < libc.diff

Features, which would be added by these patches:
- services-related functions (getserv*) will use nsswitch
- rpc-related functions (getrpc*) will use nsswitch
- protocols-related functions (getproto*) will use nsswitch
- "services", "rpc" and "protocols" sources would be available in 
nsswitch.conf file

One of my major tasks was to add caching ability to the nsswitch. So, 
these patches also would do it for the following nsswitch sources:
- passwd
- group
- services
- rpc
- protocols

To make caching work, you'll require the caching daemon. It is in the 
usr.sbin patch (should be applied from usr/src: patch -p0 < 
usr.sbin.diff). The caching daemon will be in /usr/sbin folder, its 
configuration and startup files will be in /etc folder. cached(8) and 
cached.conf(5) man pages would be availabe. To enable caching, just add 
"cache" source to the appropriate nsswitch.conf line (the "cache" source 
should be the first source for the database and it can't be used with the 
"compat" source).

Please try the patches and send me your feedback. I also hope that there 
are no reasons not to merge changes, which were made to libc (they are in 
include.diff and libc.diff) into the CURRENT.
As for the caching daemon (usr.sbin.diff patch) - I also think that it 
could be merged into the CURRENT.

In the second release (will happen in 1-2 days - it needs additional 
testing) i'll add caching support for other nsswitch databases (the most 
important is the host database support, I believe).

With best regards,
Michael Bushkov
Rostov State University


More information about the freebsd-current mailing list