西村です。

Reply to <86h6z5bnmc.wl-...@mahoroba.org>
Hajimu UMEMOTO <u...@mahoroba.org> wrote:
> getent(1) は伝統的な getXXX(3) を呼び出します。hosts の場合は
> gethostbyname(3) と IPv6 の場合は gethostbyname2(1) を呼び出し、それら
> の結果を出力します。
> 
> getaddrinfo(1) は getaddrinfo(3) を呼び出します。今時のアプリの多くは
> getaddrinfo(3) を呼び出すようになっていますから、実際のアプリを使った
> 場合と同じ検索を行うことができます。

なるほど、 getaddrinfo を使う方が、現状のアプリの実際の挙動に近い結果が得られると言う事ですね

> 例えば、IPv6 と IPv4 のどちらを優先するかは ip6addrctl(8) で設定できま
> すが、getaddrinfo(1) の出力順はこの設定に従います。
> getent(1) は IPv6 → IPv4 の順で出力します。

この違いは全く知りませんでした
確かに言われてみれば、IPv4とIPv6アドレスがあるのに
なんでIPv6が有るのに繋ぎに行かないのかな? なんて思っていましたが
ip6addrctl の重み付けは名前解決の段階で行われていたのですね

ありがとうございました


-- 
NISHIMURA,Yutaka./西村ゆたか <iscr...@nugae.org>



Reply via email to