1.8.2-preview1での問題ではありませんが http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260779 のようなバグ報告が届きました。 もっともだと思うので、次のような変更を考えてみました。 よければ1.8.2に取り込んでいただきたいです。 Index: lib/cgi/session.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/cgi/session.rb,v retrieving revision 1.23.2.3 diff -u -r1.23.2.3 session.rb --- lib/cgi/session.rb 14 Jul 2004 14:22:11 -0000 1.23.2.3 +++ lib/cgi/session.rb 22 Jul 2004 07:41:54 -0000 @@ -395,7 +395,7 @@ def update return unless @hash begin - f = File.open(@path, 'w') + f = File.open(@path, File::CREAT|File::TRUNC|File::RDWR, 0600) f.flock File::LOCK_EX for k,v in @hash f.printf "%s=%s\n", CGI::escape(k), CGI::escape(String(v)) Index: lib/cgi/session/pstore.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/cgi/session/pstore.rb,v retrieving revision 1.3 diff -u -r1.3 pstore.rb --- lib/cgi/session/pstore.rb 16 Oct 2003 17:47:18 -0000 1.3 +++ lib/cgi/session/pstore.rb 22 Jul 2004 07:41:54 -0000 @@ -70,6 +70,9 @@ @hash = {} end @p = ::PStore.new(path) + @p.transaction do |p| + File.chmod(0600, p.path) + end end # Restore session state from the session's PStore file. # symlinkやownerのチェックも必要でしょうか? -- やまだあきら / akira yamada <http://arika.org>