From owner-freebsd-current@FreeBSD.ORG Mon Aug 21 06:49:41 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 04CFE16A4DD for ; Mon, 21 Aug 2006 06:49:41 +0000 (UTC) (envelope-from bushman@rsu.ru) Received: from mail.r61.net (mail.r61.net [195.208.245.249]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3160743D45 for ; Mon, 21 Aug 2006 06:49:39 +0000 (GMT) (envelope-from bushman@rsu.ru) Received: from [195.208.252.192] (enigma.cc.rsu.ru [195.208.252.192]) (authenticated bits=0) by mail.r61.net (8.13.7/8.13.6) with ESMTP id k7L6nbvT027556 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Mon, 21 Aug 2006 10:49:38 +0400 (MSD) (envelope-from bushman@rsu.ru) Message-ID: <44E9582C.2010400@rsu.ru> Date: Mon, 21 Aug 2006 10:52:28 +0400 From: Michael Bushkov User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.2, clamav-milter version 0.88.2 on asterix.r61.net X-Virus-Status: Clean Subject: [HEADS UP]: OpenLDAP+nss_ldap+nss_modules separated patch and more (SoC) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Aug 2006 06:49:41 -0000 Hi, 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 impossible before. 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: http://wiki.freebsd.org/LdapCachedDetailedDescription 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, Michael Bushkov