とみたです。

On Tue, 14 Dec 2004 12:43:06 +0900
Yukihiro Matsumoto <matz / ruby-lang.org> wrote:

> こんな感じでしょうか。
> 
> 手元の簡単なスクリプトで試験しただけなので、実験結果の報告は
> 大歓迎です。この修正はdatabase_manager で対応しなければ元の
> 穴が残るという点では筋がよくありませんが(標準添付でない
> database_managerが既に存在するから)、他の方法は思いつきませ
> んでした。

さらに次のようにしないと、"new_session"=>false の時に例外があがらない
ようです。

--- session.rb.orig     2004-12-15 08:28:34.000000000 +0900
+++ session.rb  2004-12-15 08:20:51.000000000 +0900
@@ -272,6 +272,9 @@
       begin
         @dbman = dbman::new(self, option)
       rescue NoSession
+        if option.key?('new_session') and not option['new_session']
+          raise ArgumentError, "session_key `%s' should be supplied"%session_key
+        end
         session_id = @session_id = create_new_id
         retry
       end

-- 
とみたまさひろ <tommy / tmtm.org>