IPv6 transport-ready resolvers/DNS servers. need careful configuration
when enable it. (default config is not affected).
see manpage for details.
XXX visible symbol __res_opt() is added, however, it is not supposed to be
called from outside, libc minor is not bumped.
for non-IPv4 address. obeys solaris8 practice.
XXX does not support scoped address extension, as gethostby* are not
scope-aware. always use getaddrinfo/getnameinfo.
XXX it is not very useful at this moment, if you define multiple entries for
single hostname. see PR 10713 for detail.
the change uses extra variables which can be avoided,
it is to make the change look similar to BIND8 change.
question: timeout resolution is 1 second (time_t). should we use
timevals instead?
PR 6410 From: maximum entropy <entropy@venom.bernstein.com>
If an argument of a ctype function is outside "unsigned char"
and if it is not EOF, the behavior is undefined.
The isascii(3) is the sole exception of above and it was used to
be used to check a value was valid for other ctype functions in
ancient systems. On modern systems, the ctype functions take
all values of "unsigned char", and this check is obsolete and
even wrong for non-ASCII systems. However, we leave the isascii()
untouched for now, so as not to change the current behavior.
flex) rather than -o/dev/stdout which uses a flex feature (-o isn't
in vendor lex, at least on solaris 7) and also requires that
"/dev/stdout" function in the expected manner.
use of non-exported function __ivaliduser{,_sa}().
we cannot make __ivaliduser{,_sa}() static yet, since doing that would choke
compiled lpd binaries. we should do it on next libc major version bump.
added a memo on lib/libc/shlib_version.
conforms to draft-ietf-ipngwg-scopedaddr-format-01.txt.
behavior change: returns numeric scopeid if we can't convert to string.
removed #if 0'ed portion which we will never revisit.
XXX 4.9.5 -> 4.9.7 moves _res from data to bss. the bss version of the code
is committed, but is wrapped with #ifdef __RES_IN_BSS and is disabled
(_res is still in data segment).
- be more backward compatible with apps that update _res.nsaddr_list[n].
- allow scoped IPv6 addresses in /etc/resolv.conf (like fe80::1%lo0).
- simplify #ifdefs.
backend and are more robust against SIOCGIFCONF alignment issue.
now getifaddrs always takes care of the issue. (sync with kame tree)
use weak symbol just in case.
- add notreached comment
- remove unused variables
- cast to void * first to avoid casting warnings
- fix bug in _yphostent where cur and sentinel were not
being initialized.
ancillary data alignment will be ALIGNBYTES, not sizeof(long) - 1, from now.
CMSG_xx will NOT resolve into constant. if you use CMSG_xx to allocate
arrays, you'll lose.
bump shlib minor for libc.
NOTE: if you are on top of arch with ALIGNBYTES != sizeof(long) - 1,
you need to recompile IPv6-related binaries. there is no way to guarantee
backward compat in this aspect. sorry for this. this should be the last
backward compat breakage for IPv6-related ancillary data manipulation.
(we still have PR 9516 for unix-domain sockets...)
this changes function prototype for __ivalid*.
This commit breaks binary compatibility for __ivalid*. I believe this can be
forgiven due to the following:
- this is not really exported function. no function prototype is in headers.
function name starts with underbars. No third-party applications are
expected to use it.
- the function was introduced very recently, when rcmd.c was made IPv6-ready.
- the only customer in NetBSD tree is lpd.
(lpd.c) sync with rcmd.c change.
getaddrinfo(3) now calls lower-layer resolver functions directly.
XXX code duplicate with gethnamaddr.c/res_search.c - future code
maintenance issue? Since BIND[89] does not address this issue either at
this moment, switching to BIND[89] does not help.
try all the set of addresses before go to sleep() and retry.
not sure if we still need sleep() - retry logic. why is it so persistent
in connecting?
From: SHIMIZU Ryo <ryo@misakimix.org>
draft-ietf-ipngwg-scopedaddr-format-00.txt (will be 01),
use "address%interface" notation for extended scoped IPv6 address.
NOTE: the change affects link-local addresses only. I hope it to be
the final change on it.....