From: "とみたまさひろ" Date: 2008-06-29T00:35:02+09:00 Subject: [ruby-list:45151] Re: ruby-1.8.6-p230でのfilename取得について とみたです。 On Thu, 26 Jun 2008 15:29:40 +0900 杉原 透修 wrote: > 先日リリースされた以下のバージョンのrubyを > 使用し、開発していたシステムの動作検証を行ったところ > ruby側のバグらしき現象に見舞われたため投稿しました。 > ・ruby-1.8.5-p231.tar.gz > ・ruby-1.8.6-p230.tar.gz > > 内容はファイルアップロード処理の際、正常にファイル名称 > を取得することが出来ないというものです。 > > ruby-1.8.6-p230のcgi.rbを確認したところ、1041行目の正規表現 > が変更されていることが原因と思われます。 > > ---------------------------------------------------------------------- > /Content-Disposition:.* filename=(?:"((?:\\.|[^\"\s])*)"|([^;\s]*))/ni.match(head) > ---------------------------------------------------------------------- r14153 の修正が影響しているみたいです。 ------------------------------------------------------------------------ r14153 | nobu | 2007-12-09 12:39:04 +0900 (日, 09 12月 2007) | 3 lines * lib/cgi.rb (read_multipart): exclude blanks from header values. [ruby-list:44327] ------------------------------------------------------------------------ [ruby-list:44327] は行末の \r を取り除く必要がある…というものだったよ うですが、修正では \s も特別扱いしてしまっているようです。 -- とみたまさひろ 3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040