[HEADS UP]: OpenLDAP+nss_ldap+nss_modules separated patch and more
bushman at rsu.ru
Mon Aug 21 06:49:41 UTC 2006
First, thanks to all FreeBSD people and to Google for the great summer!
As the SoC deadline has almost arrived, I'm glad to post most of this
summer's work results.
OpenLDAP + rewritten-from-scratch nss_ldap + nsswitch with separate
shared nss-modules patch.
Patch for -current: http://www.rsu.ru/~bushman/soc2006/openldap_merged.diff
Nss_ldap was rewritten to be under BSD license and to support FreeBSD
specific issues, like pw_class field of struct passwd. It supports
rfc2307 and have nss_ldap.conf file similar to PADL's nss_ldap. To have
it in the tree, OpenLDAP was also needed to be placed in the tree.
Separation of nss-modules from libc makes libc more lightweight, and
makes nsswitch much more general and flexible. It also adds the
'perform-actual-lookups' option support in the caching daemon (cached)
for all nsswitch databases. From the developer point of view, one can
effectively use nsdispatch(3) anywhere (not only in libc). That was
Nsswitch regression tools patch.
Patch for -current: http://www.rsu.ru/~bushman/soc2006/regression.diff
This is a set of regression tests, that check nsswitch functions
(getpw***(), getgr**(), getserv**(), etc...) results for correctness.
There is also a "snapshot" feature. You can, for example, make a
snapshot of the "services" nsswitch database results on RELENG_6, and
then check -CURRENT "services" sources implementation to be compatible
with RELENG_6 implementation using this snapshot.
Updated cached version with 'precache [cachename] yes|no' option added.
Patch for -current: http://www.rsu.ru/~bushman/soc2006/cached.diff
"precache [cachename] yes|no" option can be used for the particular
cachename with "peform-actual-lookups" option and can significantly
improve cached (and system) performance for huge databases like
"services". Note: if the database is really huge, you should also set
"keep-hot-count" option to the appropriate value.
The detailed description of the above projects can be found here:
I'll be glad to hear your comments and suggestions on these patches.
Though, the SoC has almost ended, I will be able to steadily spend my
time contributing to these projects and (hopefully) to something else.
With best regards,
More information about the freebsd-current