/ 最近 .rdf 追記 編集 設定 本棚

脳log[20090113] Insecure operation - require (SecurityError)



2009年01月13日 (火) [Vista] >clipboard 'clipboard' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 >clip 情報: "CLIP /?" と入力すると使用法が表示されます。 >clip /? コマンド ライン ツールの出力を Windows クリップボードにリダイレクトします。(やっぱりあるよねー。手コピしなくてすんでよかった。なお XPには……)

最終更新: 2015-07-09T23:54+0900

[tDiary][Ruby] Insecure operation - require (SecurityError)

tdiary/trunk (r3394) を ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203) [i386-mswin32_90] で動かしてみた。

dot.htaccessと tdiary.conf.beginnerを編集&リネームして、トップページの表示と一通りの設定変更を済ませて、記念すべき最初の書き込み。……トップページすら表示されなくなりました。

Insecure operation - require (SecurityError)

Y:/.../tdiary_on_ruby191/tdiary.rb:434:in `require'
Y:/.../tdiary_on_ruby191/tdiary.rb:434:in `block in load_styles'
Y:/.../tdiary_on_ruby191/tdiary.rb:433:in `glob'
Y:/.../tdiary_on_ruby191/tdiary.rb:433:in `load_styles'
Y:/.../tdiary_on_ruby191/tdiary/defaultio.rb:142:in `initialize'
Y:/.../tdiary_on_ruby191/tdiary.rb:1069:in `new'
Y:/.../tdiary_on_ruby191/tdiary.rb:1069:in `initialize'
Y:/.../tdiary_on_ruby191/tdiary.rb:1660:in `initialize'
Y:/.../tdiary_on_ruby191/tdiary.rb:1858:in `initialize'
(plugin/recent_list.rb):39:in `new'
(plugin/recent_list.rb):39:in `block (3 levels) in recent_list'
(plugin/recent_list.rb):37:in `reverse_each'
(plugin/recent_list.rb):37:in `block (2 levels) in recent_list'
(plugin/recent_list.rb):36:in `reverse_each'
(plugin/recent_list.rb):36:in `block in recent_list'
(plugin/recent_list.rb):35:in `catch'
(plugin/recent_list.rb):35:in `recent_list'
(TDiary::Plugin#eval_src):67:in `block in eval_src'
Y:/.../tdiary_on_ruby191/tdiary.rb:787:in `eval'
Y:/.../tdiary_on_ruby191/tdiary.rb:787:in `block in eval_src'
Y:/.../tdiary_on_ruby191/tdiary.rb:112:in `block in safe'

プラグイン:recent_listが原因。(外したら解決した)

$SAFE==1の状況で TDiaryMonth.new()するのがダメっぽい。

recent_list()を呼ばれたときに、そのたびに、TDiaryMonth.new()するんでなくて、読み込まれたときに必要なデータを準備しておけばいいんじゃないか、とか思ったけど、evalで TDiaryMonthクラスにアクセサを追加したりしているあたり*、反則。泥縄の対応では気が済まない。プラグインが日記データを要求できるようなインターフェイスが求められている(現在は TDiaryXXXX#initializeで読み込まれたもののみ、Plugin@diariesからアクセスできる)。然るべき手段を用意したのち、recent_list.rbはそれを利用するべき。

* 歴史的経緯>http://kitaj.no-ip.com/tdiary/20021106.html#p03