[#39052] Fwd: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0 — Yugui <yugui@...>

Redmine管理用プロジェクトに報告されてしまったので転送します。

12 messages 2009/08/09
[#39264] Re: Fwd: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0 — Yutaka Kanemoto <kinpoco@...> 2009/09/08

金本と申します。

[#39107] [Bug #1952] cannot stop with Ctrl+C — Usaku NAKAMURA <redmine@...>

Bug #1952: cannot stop with Ctrl+C

14 messages 2009/08/18

[#39167] [Bug #2000] Change the license to "GPLv2+ or Ruby's original". — Mamoru Tasaka <redmine@...>

Bug #2000: Change the license to "GPLv2+ or Ruby's original".

11 messages 2009/08/26

[#39193] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...>

In article <200908281827.n7SIRbaX003476@ci.ruby-lang.org>,

16 messages 2009/08/29
[#39194] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/29

なかだです。

[#39195] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...> 2009/08/29

In article <4a988633.9553f10a.4496.483e@mx.google.com>,

[#39196] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/29

なかだです。

[#39197] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...> 2009/08/29

In article <4a989f76.1602be0a.3de4.1131@mx.google.com>,

[#39198] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Yukihiro Matsumoto <matz@...> 2009/08/29

まつもと ゆきひろです

[#39206] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/31

なかだです。

[ruby-dev:39013] Re: セキュリティモデルのドキュメント

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2009-08-04 17:00:08 UTC
List: ruby-dev #39013
西山和広です。

At Thu, 23 Jul 2009 22:09:36 +0900,
Shugo Maeda wrote:
> 
> 前田です。
> 
> 2009/07/23 1:09 に Kazuhiro NISHIYAMA<zn@mbf.nifty.com> さんは書きました:
> > untrusted はフラグとして設定されたりされなかったりするだけで、
> > フラグが設定されているかどうかによって何らかの動作に影響する
> > ものではない、ということなのでしょうか?
> 
> 違います。

untrust で検索して違いをチェックしていたら見落としてしまっていました。

> 「セーフレベル4」の「禁止される操作」に挙げている以下の操作のチェックに
> 利用されます。
> # 抜けがあるかもしれません。
> 
> * 信頼されたクラスやモジュールの定義の変更 およびクラス変数の変更
> * 信頼されたオブジェクトの状態の変更
> * 信頼されたIOやFileを使用する処理
> 
> 基本的にセーフレベル4では信頼されていないオブジェクト(untrustedフラグ
> が設定されたオブジェクト)しか変更できません。
> 
> 以前はこれがtaintedフラグによってチェックされていたので、サンドボックス
> 外で生成されたオブジェクトがたまたまtaintedだった場合に、それを書き変
> えることにより、セーフレベル4で禁止された操作を実行させることができる
> 脆弱性がいくつも報告されました。
> 当初は一つずつfreezeする対策が取られましたが、きりがないので、
> taintedとは別のフラグとしてuntrustedを用意する変更を私が行いました。

tdiary-devel でとりあえず 1.9 でも動くようにする方法として

class Object
  def taint
    super
    untrust
  end
end if respond_to?(:untrust)

という案を出してしまいましたが(Objectに定義しているのは
Kernelで定義されている元のtaintを簡単に呼ぶため)、
変更の意図を考えると

module Kernel
  unless method_defined?(:untrust)
    alias untrust taint
  end
end

のように untrust が無ければ定義して、taint の代わりに
untrust を使うべきなのでしょうか?


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

In This Thread