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