[#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:29659] Re: Digest'ifying OpenSSL::Digest

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2006-10-14 02:34:50 UTC
List: ruby-dev #29659
In message <86fydsl7x1.knu@iDaemons.org>,
 `"Akinori MUSHA" <knu@iDaemons.org>' wrote:
> (主に)ゆぞさん

おひさしぶりです。

>  メリットとしては、苦もなくAPIが統一される、 #file() などの追加
> メソッドが使える、 bubblebabble や hmac (OpenSSL にもあるが)等の
> アドインの恩恵を受けられる、などです。

目的には賛成します。

最近のext/digestの変更を追っかけていませんでしたが、内部の実
装に関わらない機能であれば、例えば::Digest::Utilitiesみたい
なモジュールを用意して、

  class OpenSSL::Digest::Digest
    class <<self
      include ::Digest::Utilities::SingletonMethods
    end
    include ::Digest::Utilities::InstanceMethods
  end

こんな風にできると楽かなとも思いました。

>  ところで、作業の中で
> 
> 	OpenSSL::Digest::Digest::new(name)
> 
> なるインターフェースを発見しました。Digest のだぶりが見苦しい
> 感じがするので、代わりに OpenSSL::Digest(name) を定義して
> 
> 	OpenSSL::Digest("MD5").new
> 
> と書けるようにしてみましたが、どうでしょうか。

名前が見苦しいのはまったく同感です。現在の
OpenSSL::Digest::DigestクラスをOpenSSL::Digestという名前にし
て、OpenSSL::Digest.new(name)にしようかと考えてはいました。

# ほかにもOpenSSL::PKey::PKeyなんかもあるので、1.9ではまとめ
# て変更することを検討します。

名前はさておき、[ruby-dev:29651]のパッチではアルゴリズム毎に
サブクラスを作成し、サブクラス毎に個別にメソッドを定義してい
るのが受け入れがたいです。

OpenSSL::Digest::DigestはOpenSSLライブラリに定義されている任
意のアルゴリズム名で初期化できるようになっています。例えば、

  OpenSSL::Digest::Digest.new("SHA256")

で指定している名前はEVP_MD構造体を検索するために利用している
に過ぎません。そのおかげでOpenSSL::Digest::SHA256を追加する
以前からOpenSSL 0.9.8を使ってビルドしていれば、このアルゴリ
ズムを使うことができていました。

また、DSS1とSHA1のように、アルゴリズムは同じだけど公開鍵暗号
の署名のフォーマット毎に個別に名前が付けてあるというOpenSSL
特有の事情もあって、これらが今後も増えないとは言い切れないの
で、Rubyレベルでは知らない名前であっても初期化できる余地は残
しておきたいと思います。

-- 
ごとうゆうぞう

In This Thread