[#24112] ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。原因を追求してたのですが、力尽きました。

19 messages 2004/08/18
[#24127] Re: ruby/tk crashes on bcc32 — Hidetoshi NAGAI <nagai@...> 2004/08/19

永井@知能.九工大です.

[#24131] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。

[#24135] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。試行錯誤の結果、これで落ちなくなりました。

[ruby-dev:24153] Re: CGI::Session has security problem?

From: matz@... (Yukihiro Matsumoto)
Date: 2004-08-21 14:54:59 UTC
List: ruby-dev #24153
まつもと ゆきひろです

In message "[ruby-dev:24147] Re: CGI::Session has security problem?"
    on 04/08/21, Takahiro Kambe <taca@back-street.net> writes:

|> ただねえ、CGI::Sessionを使うようなCGIではちゃんとumask指定し
|> てよ、という気はしないでもないです。でないと、fopen()とかで
|> ファイルを作ったら終わりですよね。
|気持ちはわからなくありませんが、umaskの設定に依存すべきではないでしょ
|う。古くはUNIX Network Programmingあたりで「デーモン化するときにumask
|の設定を受けないようにするために、明示的にumask(0)すべし」といったこと
|も書かれていたと記憶しています。
|
|もちろん、CGI::Sessionはデーモンとなるためではありませんが、ライブラリ
|的な関数は呼び出し側のumask設定に依存すべきではないと思います。

これは反論ではなくて、純粋に質問なのですが、

  * fopen(3)には書き込みオープンによって新規に作成されるファ
    イルのパーミッションを明示的に指定する方法はない
  * これを制御する唯一の方法はumaskである

  * しかし、「ライブラリ的な関数は呼び出し側のumask設定に依
    存すべきでない」。

  * ということは、ライブラリ的関数でfopenを使ってファイルを
    新規に作成することは「やってはいけないこと」である。ライ
    ブラリ的関数でファイルを新規作成する場合には、open(2)を
    直接使う必要がある

ということなのでしょうか。

それならそれで納得できないことはないのですが、結構違反してい
るケースは多そうな気がします。

                                まつもと ゆきひろ /:|)

In This Thread