Date: Fri, 18 Apr 2003 12:05:36 +0400 From: Zherdev Anatoly <tolyar@mx.ru> To: "Jacques A. Vidrine" <nectar@FreeBSD.org> Cc: freebsd-current@FreeBSD.org Subject: Re: HEADS UP: new NSS Message-ID: <20030418120536.4a8b0a56.tolyar@mx.ru> In-Reply-To: <20030417141133.GA4155@madman.celabo.org> References: <20030417141133.GA4155@madman.celabo.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 17 Apr 2003 09:11:33 -0500 "Jacques A. Vidrine" <nectar@FreeBSD.org> wrote: After install -current with this patches named can't find user bind #id bind uid=53(bind) gid=53(bind) groups=53(bind) #/usr/sbin/named -u bind -g bind user "bind" unknown > Hello Everyone, > > [Skip to WARNINGs below if you read nothing else.] > > I am about to commit a new name service switch (NSS) implementation. > The new implementation preserves the nsdispatch(3) interface, and > consumers of nsdispatch continue to work without modification. > However, now the method_name argument (in addition to the dtab > argument) is used to lookup backend implementations, which may be > built-in statically or loaded via dlopen(3). > > Within libc, there are several consumers of nsdispatch. Each use > in effect defines an interface [1]. Unfortunately, the interfaces > brought in from NetBSD leave something to be desired. Most > importantly, they do not allow for thread safety. Also important is > that they are inconsistent in both naming conventions and semantics. > Because of this, it is necessary rework each consumer a bit to (a) add > thread safety and (b) provide an interface that can be utilized by NSS > modules. > > For the moment, in addition to the NSS core, I am committing > completely new implementations of the getpwent(3) and getgrent(3) > family of functions. Please report any anomalies to me directly, as > well as on this list. > > Other nsdispatch consumers will be updated once this has settled a > bit. Notably, the resolver-related routines (gethostby*, getaddrinfo) > still need to be updated and required quite a bit of work. > > I am also adding a nss_ldap Port which supports getpwent(3), > getgrent(3). Similarly, I am committing a WITH_WINBIND_NSS knob to > the samba Port which will build and install nss_windbind. > > WARNING: Please back up your pwd.db/spwd.db databases. A new (but > backwards-compatible) on-disk format will be used when you next run > pwd_mkdb(8) (or when vipw(8) runs it for you). The new format can > be moved from one architecture to another. > > WARNING: The `compat' code was and is very hairy. Users who utilize > NIS using the old `+::::::' entries in passwd(5) (or exclusion lists, > or netgroups) should be especially wary. The new code is not bug > compatible with the old code, but I believe it is correct. > > (By the way, I could use help from interested doc committers. Please > contact me off-list.) > > Cheers, > -- > Jacques A. Vidrine <nectar@celabo.org> http://www.celabo.org/ > NTT/Verio SME . FreeBSD UNIX . Heimdal Kerberos > jvidrine@verio.net . nectar@FreeBSD.org . nectar@kth.se > > [1] If you've looked at nsdispatch before, you know that it uses > variable arguments. The number, type, and usage of these arguments, > as well as the method_name, make up the interface. In order to > facilitate adopting existing NSS modules for FreeBSD, I am attempting > to track the interfaces used on Linux (e.g., in addition to the > obvious arguments to getpwnam_r, the NSS interface also includes > explicit handling of errno). > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" -- Zherdev Anatoly.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030418120536.4a8b0a56.tolyar>