From: "とみたまさひろ" Date: 2007-01-25T00:34:56+09:00 Subject: [ruby-dev:30182] cgi.rb のファイル名取得処理 とみたです。 CGI でファイル名中に「"」や「;」を含むファイルを POST すると、cgi.rb がそれ以降の文字を落としてしまいます。 --- cgi.rb.orig 2006-12-03 17:06:27.000000000 +0900 +++ cgi.rb 2007-01-25 00:26:02.000000000 +0900 @@ -1037,8 +1037,8 @@ body.rewind - /Content-Disposition:.* filename="?([^\";]*)"?/ni.match(head) - filename = ($1 or "") + /Content-Disposition:.* filename=(?:"((?:\\.|[^\"])*)"|([^;]*))/ni.match(head) + filename = ($1 or $2 or "") if /Mac/ni.match(env_table['HTTP_USER_AGENT']) and /Mozilla/ni.match(env_table['HTTP_USER_AGENT']) and (not /MSIE/ni.match(env_table['HTTP_USER_AGENT'])) -- とみたまさひろ 『Postfix辞典』ISBN:4798110353 3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040