2008年7月22日

[ruby-list:45254] Re: Ruby版Camelliaライブラリ

須藤さま,中田さま

お世話になっております.
NTTソフトウェアの菅野です.

有益なコメントをしていただき感謝しております.

いただきましたコメントについては,

内部で検討し対応したいと考えております.

以上,よろしくお願いします.

On Fri, 18 Jul 2008 21:28:21 +0900
Kouhei Sutou <kou@xxxxx> wrote:

> 須藤です。
>
> In <20080718195826.6453.KANNO-S@xxxxx>
> "[ruby-list:45241] Ruby版Camelliaライブラリ" on Fri, 18 Jul 2008 19:56:13 +0900,
> Satoru Kanno <kanno-s@xxxxx> 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@xxxxx

投稿者 xml-rpc : 2008年7月22日 12:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75545
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。