[#29700] ruby NKF モジュールの CP932 系エンコーディングパッチ — MORIYAMA Masayuki <moriyama@...>

ミラクルリナックスの森山です。

10 messages 2006/10/27

[#29726] cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...>

MoonWolfです。

74 messages 2006/10/31
[#29728] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29729] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/01

MoonWolfです。

[#29731] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29745] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/02

MoonWolfです。

[#29751] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/02

こんにちは、なかむら(う)です。

[#29753] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29754] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

こんにちは、なかむら(う)です。

[#29756] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29759] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

こんにちは、なかむら(う)です。

[#29780] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29784] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/04

こんにちは、なかむら(う)です。

[#29786] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29791] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/04

まつもと ゆきひろです

[#29811] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29818] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/05

まつもと ゆきひろです

[#29826] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29761] Re: cgi.rbのDoS脆弱性について — 植田 裕之 <ueda@...> 2006/11/03

植田と申します。

[#29764] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/03

まつもと ゆきひろです

[ruby-dev:29706] Re: Socket.gethostbyname

From: Yukihiro Matsumoto <matz@...>
Date: 2006-10-30 02:49:41 UTC
List: ruby-dev #29706
まつもと ゆきひろです

In message "Re: [ruby-dev:29705] Socket.gethostbyname"
    on Sun, 29 Oct 2006 18:14:30 +0900, Kazuhiro NISHIYAMA <zn@mbf.nifty.com> writes:

|http://www.atdot.net/~ko1/w3ml/w3ml.cgi/mandiff@ruby/msg/2418
||        irb(main):009:0> Socket.unpack_sockaddr_in(Socket.gethostbyname("210.251.121.214")[3])[1]
|| -      "210.251.121.214"
|| +      SocketError: getnameinfo: ai_family not supported
|| +              from (irb):1:in `unpack_sockaddr_in'
|| +              from (irb):1
|| 
|
|リファレンスマニュアルの方でこんな変更がされていたのですが、
|
|http://www.ruby-lang.org/ja/man/?cmd=view;name=Socket#Socket.2egethostbyname
|| 第四要素のホストのアドレスは、各アドレスタイプに対応する C の
|| アドレス構造体を pack した文字列として表現されています。例えば
|| アドレスタイプが AF_INET (定数 2) ならば Socket.unpack_sockaddr_in
|| で unpack できます。
|
|という説明と、実際にかえってきている値が食い違っているようです。
|どちらが正しいのでしょうか?

unpackできるというドキュメントが間違いです。

unpack_sockaddr_inのunpack対象はpackされたsockaddr_in構造体
ですが、gethostbynameが返すhostentの第4要素はpackされたIPア
ドレスです。

sockaddr_in構造体を返すべきだ、という話はありえるのかもしれ
ませんが、少なくとも現状ではhostent構造体との互換性を意図し
てpackしたIPアドレスを返してます。

別解としてはunpack_sockaddr_inがpackされたIPアドレスも解釈す
べきと言うのもありえるかもしれません。種別はどうせ文字列長で
判別可能ですし。

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next