インストールが簡単なバグトラッキングシステム「影舞」を、Ruby1.8.5の環境にインストールしたら、
Following errors occurred. Please contact administrator.
Insecure: can't intern tainted string (SecurityError)
というエラーメッセージが表示された。
影舞のホームページを見ると、動作環境がRuby 1.8.2となっている。
Rubyはバージョン間の互換性が低いから、Ruby1.8.5には対応いていないのかも。
とりあえず、 /kagemai/lib/kagemai/message_bundle.rb の69行目を、
@messages[key.intern] = message
から、
@messages[key.untaint.intern] = message
に変更して、動作することを確認した。
しかし、Rubyの後方互換性の低さは何とかならないものか。
追記
ほかにも修正する必要がありそう。
個人で使うのなら、セーフモードを変更した方が早いかも。
/kagemai/html/guest.cgi の29行目。
$SAFE = 1
この行をコメントアウトする。
#$SAFE = 1