Subject: Re: BIND 8.3.5
To: None <tech-net@NetBSD.ORG>
From: Luke Mewburn <lukem@netbsd.org>
List: tech-net
Date: 06/03/2003 18:21:08
On Tue, Jun 03, 2003 at 05:07:09PM +0900, itojun@iijlab.net wrote:
  | >Just replacing the internals of our BIND4 res_*() with BIND8
  | >res_*(), assuming that retains API/ABI backwards compat for
  | >callers of those, shouldn't be a problem, should it?
  | >
  | >
  | >Wholesale replacement of our get*by*() front-end functions
  | >with the BIND8/9 versions which use IRS instead of our
  | >nsswitch API (and ABI) in the back-end is not acceptable.
  | 
  | 	without wholesale replacement you won't get thread-safe name/service/
  | 	whatever resolution.  there's no point in replacing res_* alone.

This doesn't make sense.

What is wrong with:
    a)	upgrading res_*() to BIND8 "reentrant safe" versions
    b)	grabbing the appropriate get{pw,gr}*_r() functions and
	nsswitch reentrancy fixes from FreeBSD 
?

What is so special about BIND8's get*by*() functions over ours?
AFAICT, nothing.  According to SUSv3, gethostbyname() (et al) don't
have to be reentrant.


  | >IIRC; the main reason I've seen for the latter proposal is
  | >to provide thread safety, which BTW, is *NOT* required for
  | >gethostbyname() et al, only gethostbyname_r() and other specific
  | >thread-safe functions.
  | 
  | 	but they use the same backend such as *hostent(), therefore we need to
  | 	pull in irs framework, or it's meaningless.

See above.