HEADS UP: new NSS

Zherdev Anatoly tolyar at mx.ru
Fri Apr 18 01:05:42 PDT 2003


On Thu, 17 Apr 2003 09:11:33 -0500
"Jacques A. Vidrine" <nectar at 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 at celabo.org>          http://www.celabo.org/
> NTT/Verio SME          .     FreeBSD UNIX     .       Heimdal Kerberos
> jvidrine at verio.net     .  nectar at FreeBSD.org  .          nectar at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"


-- 
Zherdev Anatoly.


More information about the freebsd-current mailing list