Shinya TAKEBAYASHI
makot****@kanon*****
2008年 12月 9日 (火) 13:05:59 JST
近藤 様 竹林です. お疲れ様です. 下記承知しました. 調査ありがとうございます. 先ほど口頭でもお話ししましたが,最終版のパッチを頂けますか. 竹林が branch へマージします. ---------------------------------------------------------------- Shinya TAKEBAYASHI E-mail : makot****@kanon***** GPG ID : FFD20D1F GPG FP : 7B5B E0FC B785 7457 683C 47D6 5564 DDDD FFD2 0D1F ---------------------------------------------------------------- Hideaki Kondo <kondo****@oss*****> wrote in message <20081****@oss***** > *** Subject: [Ultramonkey-l7-develop 227] Re: UM-L7 アクセスログ出力処理追加につ いて *** Date: 2008/12/09 11:28:59 > > 竹林さん、各位 > > 近藤です。 > お疲れ様です。 > > コメント有難うございます。 > > > glibc 内の inet_ntoa() の実装ではバッファサイズは 18 バイトになりますが, > > この点の考慮は要らないでしょうか. > > > > xxx.xxx.xxx.xxx なので,16 バイトあれば充分と言えば充分ですが・・・ > (snip) > > ・・・何故 inet_ntoa のバッファサイズが 18 バイトなんでしょうね. > > ★ > 少し調べてみましたが、例えばFreeBSDにおける実装では、 > 「sizeof("aaa.bbb.ccc.ddd")」(つまり16)となっていたり、 > > ------------------------------------------------------------------ > http://fxr.watson.org/fxr/source/libkern/inet_ntoa.c?v=DFBSD > > static char buf[sizeof "aaa.bbb.ccc.ddd"]; > ------------------------------------------------------------------ > > WINAPIの実装では、以下のようになっていたりしますね。 > > ------------------------------------------------------------------ > http://research.microsoft.com/projects/invisible/src/winshim/inet_ntoa.c.htm > > static char b[18]; /* perfectly MP safe Berkeley junk, tzk tzk */ > ------------------------------------------------------------------ > > 上記の"perfectly MP safe Berkeley junk"というコメントから > 特別な理由があったということではなく、そのまま過去の実装を > 踏襲した?結果のように思われます。 > > Linuxにおけるinet_ntoa()の実装に変更がない限り、(静的に割当 > られた領域から逸脱してデータを読み出すようなことをすれば確かに > 問題ですが)この領域の範囲内で必要となるIPアドレス文字列数分( > sizeof("aaa.bbb.ccc.ddd"))を指定して読み出すことになるだけ > ですので、18バイトまでの考慮は不要で16バイトのままで良いと考えます。 > > もちろん、今後IPv6対応化等において別途考慮は必要になりますが。。。 > > 特に異論等なければ、このままとさせていただきます。 >