梅本です。 >>>>> On Fri, 11 Nov 2022 22:10:11 +0900 >>>>> NISHIMURA Yutaka <iscr...@nugae.org> said:
iscream> 私はnsswitch.conf 通り検索ってなるとgetent だと思い込んでましたので iscream> % getent hosts www.example.jp iscream> とか言う感じでやってますが getent hosts と getaddrinfo となにか違うんでしょうか? getent(1) もありましたね。 getent(1) は伝統的な getXXX(3) を呼び出します。hosts の場合は gethostbyname(3) と IPv6 の場合は gethostbyname2(1) を呼び出し、それら の結果を出力します。 getaddrinfo(1) は getaddrinfo(3) を呼び出します。今時のアプリの多くは getaddrinfo(3) を呼び出すようになっていますから、実際のアプリを使った 場合と同じ検索を行うことができます。 例えば、IPv6 と IPv4 のどちらを優先するかは ip6addrctl(8) で設定できま すが、getaddrinfo(1) の出力順はこの設定に従います。 getent(1) は IPv6 → IPv4 の順で出力します。 -- 梅本 肇 u...@mahoroba.org u...@freebsd.org プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)