[#26430] compile error of missing/*.c — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#26443] cvs [diff aborted]: cannot open file .cvsignore for comparing: No such file or directory — Tanaka Akira <akr@...17n.org>
最近、cvs diff に -k option を付けると、エラーになる (ことがある) ので
[#26463] String#each_byte and String#each_char — "NARUSE, Yui" <naruse@...>
成瀬です。
[#26468] $SAFE=1 の open-uri で redirect 時にエラー — Kazuhiko <kazuhiko@...>
かずひこです。
In article <m3zmsylimn.wl%kazuhiko@fdiary.net>,
まつもと ゆきひろです
In article <1120754832.716261.15867.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1120762886.189058.18880.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1120810939.815280.27104.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
In article <42CF1918.5000603@ruby-lang.org>,
前田です。
In article <42D7C230.7030509@ruby-lang.org>,
In article <42DDBA82.7030307@ruby-lang.org>,
[#26493] can't handle \c\ — KIMURA Koichi <kbk@...>
木村です。
卜部でございます。
木村です。
[#26508] rmdir(2) on windows doesn't set ENOTDIR — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
山本です。
山本です。
[#26530] removing static variables in parse.y — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
[#26566] cannot compile io.c on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26574] SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — Tanaka Akira <akr@...17n.org>
次のように、メッセージの最後が切れます。
まつもと ゆきひろです
なかだです。
山本です。
まつもと ゆきひろです
なかだです。
山本です。
なかだです。
山本です。
なかだです。
なかだです。
まつもと ゆきひろです
山本です。
この変更があってからだと思うのですが、リンカが以下のように警告を発するよ
卜部です。自己レス
At Sat, 30 Jul 2005 02:32:38 +0900,
[#26594] test_s_open_lock failed on Solaris — Tanaka Akira <akr@...17n.org>
次のように、Solaris で test_s_open_lock が失敗します。
[#26618] Re: [ruby-cvs] ruby/ext/socket, ruby, ruby: * ext/socket/socket.c (ruby_connect): break immediately if a — Tanaka Akira <akr@...17n.org>
In article <20050728015209.0F30DC6734@lithium.ruby-lang.org>,
In article <1122518643.429222.1408.nullmailer@x31.priv.netlab.jp>,
[#26623] Ruby2.0BlockParameterNotation — SASADA Koichi <ko1@...>
ささだです。
まつもと ゆきひろです
[#26628] show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
わたなべです。
こんにちは、なかむら(う)です。
永井@知能.九工大です.
永井@知能.九工大です.
In message <20050731.094203.74726476.nagai@ai.kyutech.ac.jp>
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#26639] SEGV at zsuper with anonymous rest args. — nobu@...
なかだです。
まつもと ゆきひろです
山本です。
なかだです。
[ruby-dev:26631] Re: $SAFE=1 の open-uri で redirect 時にエラー
In article <42DFA277.8010403@ruby-lang.org>,
Shugo Maeda <shugo@ruby-lang.org> writes:
>> では、その安全性は他の安全性と比較して、どのような得失があるのでしょう
>> か?
>>
>> たとえば、perl の taint 機構の安全性と比較して、どのような利点・欠点が
>> あるのでしょうか?
>
> perlsecをざっと眺めただけなのですが、Perlではライブラリがどのように
> 振る舞うべきだとされているのかが、わかりませんでした。
> 今回の議論の流れから、Perlではライブラリはuntaintに類する処理
> (Perlでは正規表現によって部分文字列を取り出すようですね)を
> 行わないと仮定して考えてみました。
その仮定は不適切だと思います。perlsec の
Perl presumes that if you reference a substring using $1,
$2, etc., that you knew what you were doing when you wrote the pattern.
That means using a bit of thought--don't just blindly untaint anything,
or you defeat the entire mechanism. It's better to verify that the
variable has only good characters (for certain values of "good") rather
than checking whether it has any bad characters. That's because it's
far too easy to miss bad characters that you never thought of.
というあたりの記述から考えると、untaint は行われることが想定されていま
す。正規表現マッチと抱き合わせになっているのは、untaint が必要な時には
なるべく正規表現で validation させるように仕向ける仕掛けなのでしょう。
> 以下で「Rubyは〜」と書いている部分は、上記のポリシーを適用したRuby
> についての話です。
>
> まず、禁止される操作の範囲がRubyの方が広い(参照のみの操作も禁止される)
> ことについては、セキュリティ的には好ましいと思います。
> 一方、プログラムを書く手間が多少増えるのは欠点ですが、明示的に
> untaintすることによって回避できるので、さほど致命的ではありません。
その手間には untaint すべきかどうかを判断する手間が含まれるわけですが、
判断するには安全性の定義が必要です。
前田さんの案ではその定義はライブラリの作者が自由に決めるものだと理解し
ていますが、
* その定義を決定する手間
* 決定した定義に従って判断する手間
* 定義をユーザに伝える手間
* ユーザが定義を理解する手間
が十分に小さいのかどうかよくわかりません。
手間が多ければ多い程、失敗する機会が増え、セキュリティ問題が発生する可
能性も増えるわけですが、その手間は本当に十分に小さいのでしょうか?
とくに、ユーザが定義を理解する手間は、ライブラリの作者の意志で十分に手
間をかけるというわけにはいかないため、可能な限り小さくしたいところです。
perl のようにひとつの定義があるのであれば、基準を決定する手間はなく、
また、ユーザが既に定義を理解しているという期待も出来るわけですが、個々
のライブラリ毎に自由に決めるとすればそれも期待できません。
そして、その安全性を定義する自由度は実際に必要なのでしょうか?
私は taint 機構を避けてきたので経験がなくわからないのですが、perl がひ
とつの定義でやっているところからみて、実際のところそんなに自由度は必要
ない可能性もあると考えています。
taint 機構について十分に経験があるひとはそのような自由度が必要だと感じ
ているのでしょうか?
> 次にライブラリの振る舞いについてですが、Perlのようにライブラリは
> untaintに類する操作をしないということにすると、たしかにセキュリティ
> 上のリスクは低くなります。
> しかし、何らかの理由によって通常では禁止されている処理をさせたい
> 場合には、ユーザはライブラリが行っているのと同等の処理を自前で
> 実装するなど、かなりの苦労を強いられます。
> そういった場合、たとえば、「$SAFE == 1だとopen-uriが使えないから
> $SAFE = 0にしてしまおう」という反応も十分に考えられます。
> こうなってしまうと、セキュリティ面でもマイナスに働くことになります。
>
> というわけで、アプリケーション全般を対象とする場合には、できること
> を制限しないRubyのポリシーの方が好ましい、というのが私の意見です。
最初に述べたとおり前提が不適切で、そのような前提に基づいた比較では
ruby のほうが良いということは納得できません。
--
[田中 哲][たなか あきら][Tanaka Akira]