須藤さま,中田さま お世話になっております. NTTソフトウェアの菅野です. 有益なコメントをしていただき感謝しております. いただきましたコメントについては, 内部で検討し対応したいと考えております. 以上,よろしくお願いします. On Fri, 18 Jul 2008 21:28:21 +0900 Kouhei Sutou <kou / cozmixng.org> wrote: > 須藤です。 > > In <20080718195826.6453.KANNO-S / po.ntts.co.jp> > "[ruby-list:45241] Ruby版Camelliaライブラリ" on Fri, 18 Jul 2008 19:56:13 +0900, > Satoru Kanno <kanno-s / po.ntts.co.jp> wrote: > > > この度,株式会社アルテ様の協力を受けNTTが共同で開発した > > Rubyで利用可能なCamelliaライブラリを公開いたしましたので, > > ご報告させていただきます. > > > URL: > > http://info.isl.ntt.co.jp/crypt/camellia/source.html > > 少し試してみていくつか気になった点がありました。 > > == cext -> ext > > setup.rbを使用するのであればcext/ではなくext/ディレクトリに > した方がよいと思います。ruby setup.rb config && ruby > setup.rb buildでできるようになります。 > > Hoeだけを使うのであればsetup.rbは必要ないので混乱のないよう > に消してしまってもよいと思います。 > > > ext/camellia-example.rbはsample/などに移動した方がわかりやす > いかもしれません。 > > == lib/ > > lib/以下にcamellia_rb*があってライブラリのバージョンは > CamelliaRb::VERSIONで定義されています。おそらくnewgemで生成し > たテンプレートをそのまま利用しているのだと思いますが、以下の > ようにした方がよいと思います。 > > lib/camellia_rb.rb -> lib/camellia.rb > lib/camellia/version.rb -> lib/camellia/version.rb > > lib/camellia.rb: > require 'camellia' > require 'camellia/version' > > lib/camellia/version.rb: > module Camellia #:nodoc: > module VERSION #:nodoc: > MAJOR = 1 > MINOR = 0 > TINY = 0 > > STRING = [MAJOR, MINOR].join('.') > end > end > > こうすることでrequire 'camellia'しただけでCamellia::VERSION > できるようになります。必要がないのであればCamelliaRbのRbは外 > した方がよいと思います。 > > ただ、こうするとconfig/hoe.rbも↑の変更に追従する必要がある > と思います。 > > > ついでに言えば必要のないファイルなどは消してもよいのではない > かと思います。例えば、log/やtest/(書かれていないので)など > です。 > > == Camellia.new > > cext/camellia-rb.cではCamellia.newを定義していますが > Camellia#initializeを定義した方がよいと思います。 > > == RSTRING() > > もし、1.9対応も視野に入れているのであれば > RSTRING()->len/RSTRING()->ptrではなく > RSTRING_LEN()/RSTRING_PTR()を使った方がよいと思います。 > # RSTRING_LEN()/RSTRING_PTR()がないときは自分で#define。 > > == Camellia::CamelliaError > > Camellia::CamelliaError#errorとCamellia::CamelliaError#errno > は必要ない気がします。 > > 個人的な好みで言えばCamellia::Errorでもよさそうな気がします。 > > == Camellia#set_key > > 別名としてCamellia#key=も用意すると便利かもしれません。 > > > > ざっと眺めて書いたのでおかしなことを言っているところもあると > 思いますが、そのようなところは無視してやってください。 > なかだです。 > > At Fri, 18 Jul 2008 21:28:21 +0900, > Kouhei Sutou wrote in [ruby-list:45242]: > > == Camellia.new > > > > cext/camellia-rb.cではCamellia.newを定義していますが > > Camellia#initializeを定義した方がよいと思います。 > > s_new()からrb_obj_call_init()を除いたものをallocateにして、 > set_keyをinitializeにするほうがいいのではないか、と思います。 > > -- > --- 僕の前にBugはない。 > --- 僕の後ろにBugはできる。 > 中田 伸悦 -- Satoru Kanno Security Business Unit Mobile and Security Solution Business Group NTT Software Corporation TEL: +81 45 212 7577 FAX: +81 45 212 9800 e-mail: kanno-s / po.ntts.co.jp