From: Hajimu UMEMOTO Date: 2008-01-06T01:38:05+09:00 Subject: [ruby-dev:32931] Re: Resolv::DNS#getaddresses doesn't return IPv6 address 梅本です。 >>>>> On Sun, 6 Jan 2008 01:23:46 +0900 >>>>> Takahiro Kambe said: taca> > なーるほど、以下の修正をコミットしておきました。 taca> 後は、IPv4とIPv6とどちらが先に返って来るべきかといったあたりでしょうか。 taca> KAMEな実装をベースにしたリゾルバでは、IPv6が先に返って来るようにしてい taca> たと思います。(別に、そうしなければいけないというわけではなく、既存の taca> リゾルバの動作に合わせるとするなら、参考になろうかと。) 正確にはリゾルバというより、getaddrinfo(3) の実装ですね。 どちらを先に返すかはポリシの話になります。AAAA RR を先に返すのは、 IPv6 を積極的に使わせようという意図があるからです。IPv6 普及という観点 では AAAA RR を先に返して欲しいところですが、いろいろ問題が起きてるのも 事実なので、悩ましいところです。 RFC 3484 を実装している環境ならそれに従うのが格好良いのでしょうけれど、 API が標準化されていませんので、辛いところです。 クエリを行う順序については、AAAA RR を先に照会すると NXDOMAIN を返し てくるダメなサーバも世の中には存在しますので、A RR を先に照会する今の実 装の方が良いと思います。 -- 梅本 肇 @ インターネット互助会横浜 http://www.imasy.org/~ume/ ume@mahoroba.org ume@{,jp.}FreeBSD.org プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)