[#40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...>

成瀬です。

29 messages 2010/02/03
[#40307] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — KOSAKI Motohiro <kosaki.motohiro@...> 2010/02/03

小崎です

[#40339] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — Tanaka Akira <akr@...> 2010/02/07

2010年2月3日21:07 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#40345] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...> 2010/02/07

成瀬です。

[#40490] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...> 2010/02/25

成瀬です。

[#40511] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — Aaron Patterson <aaron.patterson@...> 2010/02/27

2010/2/25 NARUSE, Yui <naruse@airemix.jp>:

[#40513] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "U.Nakamura" <usa@...> 2010/02/27

アーロン宛

[#40317] [Bug:trunk] TCPServer#gets gets stuck — Yusuke ENDOH <mame@...>

遠藤です。

19 messages 2010/02/04
[#40371] Re: [Bug:trunk] TCPServer#gets gets stuck — Yusuke ENDOH <mame@...> 2010/02/09

遠藤です。

[#40382] [Bug:trunk] rubyspec: ObjectSpace.define_finalizer doesn't call self-referencing finalizers FAILED — Yusuke ENDOH <mame@...>

なかださんかまつもとさん

9 messages 2010/02/10

[#40418] [Feature #2746] ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション — Kenta Murata <redmine@...>

Feature #2746: ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション

11 messages 2010/02/15

[#40461] respond_to?(<protected method name>) returns true — "Akinori MUSHA" <knu@...>

 今さらかもしれませんが、 respond_to? で protected メソッドを

14 messages 2010/02/22
[#40462] Re: respond_to?(<protected method name>) returns true — Yukihiro Matsumoto <matz@...> 2010/02/23

まつもと ゆきひろです

[#40463] Re: respond_to?(<protected method name>) returns true — "Akinori MUSHA" <knu@...> 2010/02/23

At Tue, 23 Feb 2010 14:09:52 +0900,

[#40467] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...>

成瀬です。

27 messages 2010/02/23
[#40468] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 01:28:24 +0900,

[#40469] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...> 2010/02/23

(2010/02/24 1:57), Akinori MUSHA wrote:

[#40470] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 02:07:00 +0900,

[#40472] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/02/23

2010/2/24 Akinori MUSHA <knu@idaemons.org>:

[#40473] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/02/23

At Wed, 24 Feb 2010 06:06:13 +0900,

[#40486] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/02/25

2010/2/24 Akinori MUSHA <knu@idaemons.org>:

[#41367] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/05/20

2010/2/25 NAKAMURA, Hiroshi <nakahiro@gmail.com>:

[#41373] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "Akinori MUSHA" <knu@...> 2010/05/20

 長いことほとんど Ruby に時間が割けておらずすみません。

[#41518] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NAKAMURA, Hiroshi" <nakahiro@...> 2010/06/03

2010/5/20 Akinori MUSHA <knu@idaemons.org>:

[#41520] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...> 2010/06/03

成瀬です。

[#40492] [Bug #2794] Aborted (core dumped) BUG on Ruby/DL — Takao NISHI <redmine@...>

Bug #2794: Aborted (core dumped) BUG on Ruby/DL

10 messages 2010/02/26

[ruby-dev:40486] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 2010-02-25 12:32:45 UTC
List: ruby-dev #40486
2010/2/24 Akinori MUSHA <knu@idaemons.org>:
>> 暗号処理の分野では、Mac is-a MessageDigestは成り立たないので、サブク
>> ラス化に反対する予定です。できればDigest(非OpenSSL版)も戻したい。
>
>  そういえば ruby_1_8 にバックポートせずに trunk に置いたまま、
> いつか議論しようと思っているうちに 1.9.1 が出てしまったのでした。

HMACのDigestのサブクラスとしての追加について、2006年にIRCでそのような話していたのですが、結局私がruby-devに出て行かなかったのが原因でした(
http://gist.github.com/314485)。すいません。私はまだ真面目に1.9を使ってないということですが(状況説明:
HMAC追加は1.9から)。

というわけで、3年経って出てきました。

> 私の主眼は実装の共有にあるのですが、どのようなモジュール構成が
> いいと思いますか?

1 まず実装共有の可能性について。以下、現在Digest::Instanceに実装されている機能について取り上げます。他の共有であれば指摘してください。

1.1 値をhex、base64で取り出す、という実装の共有可能性については、アリだと思います。

1.2 update/reset/dup/to_s/inspect/==/sizeについては、ハッシュ化、署名について、可能だと思います。長いストリームデータを入力とし、比較的短いデータ(ストリーム扱いする必要のないもの)を取り出す、状態を持つ変換器用のフレームワークですね。

1.3 ちなみにもう少し拡張してfinishを追加すると、暗号化、Zlib、CSV、Base64など、出力も長いストリームな場合に対応できますが、話を広げすぎると混乱するのでやめておいたほうがよいと思います(話題を絞る)。

2 次にどのようなモジュール構成がよいかですが、

2.1 hex、base64については、正直pack一発という話なので、これだけだったらモジュール分離して構成考えてやるうまみはなさそうです。

2.2 こちらについては、ハッシュ化、署名に依存しない話なので、「長いストリームデータを入力とし、比較的短いデータ(ストリーム扱いする必要のないもの)を取り出す、状態を持つ変換器用のフレームワーク」にうまく名前をつけて、lib直下に置くのがよいと思います。名前のアイデアはないのですが、どなたかよその分野とかで使われている用語などご存知ないでしょうか。で、hmacもlib直下において、それとdigestに依存する、と。

ちなみにcrc32も、Zlibに追加すべきではなく、hmac同様lib直下がいいでしょう。実装はzlib使ったままでいけると思います。

3 雑談

3.1 JRubyのを実装した経験からすると、Digest::InstanceはRubyのままがよかった。。。読み解くの大変でした。

3.2 Javaの標準添付ライブラリを素直なまま利用してると、Zlibとcrc32のdupが実装できません(JRubyのzlibモジュールの話)。ので、dupはなくなるとうれしい。冗談ですけど。みなさん使いますかdup?

以上です。

In This Thread