[#23843] st_dev by stat() != st_dev by fstat() in windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
6 messages
2004/07/01
[#23847] Re: st_dev by stat() != st_dev by fstat() in windows
— "U.Nakamura" <usa@...>
2004/07/01
こんにちは、なかむら(う)です。
[#23855] Are these comittable? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
12 messages
2004/07/04
[#23856] Re: Are these comittable?
— nobu.nakada@...
2004/07/04
なかだです。
[#23871] syntax error — WATANABE Hirofumi <eban@...>
わたなべです。
5 messages
2004/07/09
[#23876] cgi, cgi/session — 堀川 久 <vzw00011@...>
こんにちは。
10 messages
2004/07/10
[#23890] Re: cgi, cgi/session
— matz@... (Yukihiro Matsumoto)
2004/07/14
まつもと ゆきひろです
[#23884] Ruby 1.8.2 preview1にむけて — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
34 messages
2004/07/13
[#23889] Re: Ruby 1.8.2 preview1にむけて
— "NAKAMURA, Hiroshi" <nakahiro@...>
2004/07/14
なひです。
[#23917] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/16
山本です。
[#23920] Re: Ruby 1.8.2 preview1にむけて
— "NAKAMURA, Hiroshi" <nakahiro@...>
2004/07/16
なひです。
[#23921] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/16
山本です。レスが遅れてすみません。
[#23927] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/16
山本です。
[#23932] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/16
山本です。
[#23936] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/17
山本です。進展がありました。どうも、通常設定されている
[#23937] Re: Ruby 1.8.2 preview1にむけて
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/07/17
山本です。
[#23939] Re: Ruby 1.8.2 preview1にむけて
— GOTOU Yuuzou <gotoyuzo@...>
2004/07/17
In message <20040717191809.EF0AA070.ocean@m2.ccsnet.ne.jp>,
[#23922] ruby 1.8.2 preview1 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
27 messages
2004/07/16
[#23945] Re: ruby 1.8.2 preview1
— akira yamada <akira@...>
2004/07/21
1.8.2または1.8.2-preview2の公開時期について
[#23967] WEBrick::HTTPUtils.escape and URI.escape — Tanaka Akira <akr@...17n.org>
ついでに尋ねますが、WEBrick::HTTPUtils.escape か URI.escape で、
5 messages
2004/07/26
[#23969] Re: WEBrick::HTTPUtils.escape and URI.escape
— Tanaka Akira <akr@...17n.org>
2004/07/26
In article <20040726.145658.35017253.gotoyuzo@sawara.does.notwork.org>,
[#23973] 引数の上書きとsuper — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
2004/07/27
[#23991] 1.8.2-preview2? — akira yamada / やまだあきら <akira@...>
9 messages
2004/07/29
[#23995] String#each -> String#each_char — Shugo Maeda <shugo@...>
前田です。
27 messages
2004/07/30
[#23996] Re: String#each -> String#each_char
— matz@... (Yukihiro Matsumoto)
2004/07/30
まつもと ゆきひろです
[#23997] Re: String#each -> String#each_char
— "U.Nakamura" <usa@...>
2004/07/30
こんにちは、なかむら(う)です。
[#23999] Re: String#each -> String#each_char
— matz@... (Yukihiro Matsumoto)
2004/07/30
まつもと ゆきひろです
[#24000] Re: String#each -> String#each_char
— "U.Nakamura" <usa@...>
2004/07/30
こんにちは、なかむら(う)です。
[#24005] Re: String#each -> String#each_char
— Minero Aoki <aamine@...>
2004/07/31
青木です。
[#24012] Re: String#each -> String#each_char
— Shugo Maeda <shugo@...>
2004/08/01
前田です。
[#24014] Re: String#each -> String#each_char
— Minero Aoki <aamine@...>
2004/08/02
青木です。
[#24020] Re: String#each -> String#each_char
— Shugo Maeda <shugo@...>
2004/08/05
前田です。
[#24022] Re: String#each -> String#each_char
— Minero Aoki <aamine@...>
2004/08/05
青木です。
[ruby-dev:23876] cgi, cgi/session
From:
堀川 久 <vzw00011@...>
Date:
2004-07-10 04:56:37 UTC
List:
ruby-dev #23876
こんにちは。 次の点を修正するパッチを書きました。よろしかったら取り入れてください。 ・Session#delete()がエラーになることがある ・妥当性を確認せずにuntaintするのはどうかと ・空のフォームデータでエラーになることがある ・CGI#[]をもっとシンプルに read_multipart()は、きちんと書き直したほうがよさそうですが、単にエラー 回避のコードを足しました。 CGI#[]は、変なものを返されたら本当に困ります。 よろしくお願いします。 -- HORIKAWA Hisashi (in Kanji: 堀川 久) Netsphere Laboratories http://www.nslabs.jp/
Attachments (1)
ruby-1.8.2-20040708-q1.diff
(2.68 KB, text/x-diff)
diff -Naur ruby-1.8.2-20040708.orig/lib/cgi/session.rb ruby-1.8.2-20040708-cur/lib/cgi/session.rb
--- ruby-1.8.2-20040708.orig/lib/cgi/session.rb 2004-05-20 13:28:36.000000000 +0900
+++ ruby-1.8.2-20040708-cur/lib/cgi/session.rb 2004-07-10 13:45:45.354286880 +0900
@@ -365,7 +365,6 @@
raise ArgumentError, "session_id `%s' is invalid" % id
end
@path = dir+"/"+prefix+id
- @path.untaint
unless File::exist? @path
@hash = {}
end
@@ -413,7 +412,10 @@
# Close and delete the session's FileStore file.
def delete
- File::unlink @path
+ begin
+ File::unlink @path
+ rescue Errno::ENOENT
+ end
end
end
diff -Naur ruby-1.8.2-20040708.orig/lib/cgi.rb ruby-1.8.2-20040708-cur/lib/cgi.rb
--- ruby-1.8.2-20040708.orig/lib/cgi.rb 2004-05-27 16:50:04.000000000 +0900
+++ ruby-1.8.2-20040708-cur/lib/cgi.rb 2004-07-10 13:42:09.268136968 +0900
@@ -971,11 +971,12 @@
# start multipart/form-data
stdinput.binmode if defined? stdinput.binmode
- boundary_size = boundary.size + EOL.size
- content_length -= boundary_size
- status = stdinput.read(boundary_size)
+ content_length -= boundary.size + 2
+ status = stdinput.read(boundary.size + 2)
if nil == status
raise EOFError, "no content body"
+ elsif status == boundary + "--"
+ return params
elsif boundary + EOL != status
raise EOFError, "bad content body"
end
@@ -1125,37 +1126,12 @@
@multipart
end
- class Value < DelegateClass(String) # :nodoc:
- def initialize(str, params)
- @params = params
- super(str)
- end
- def [](idx, *args)
- if args.size == 0
- warn "#{caller(1)[0]}:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']"
- self
- else
- self.to_s[idx,*args]
- end
- end
- def first
- warn "#{caller(1)[0]}:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use cgi.params['key']"
- self
- end
- alias last first
- def to_a
- @params || [self]
- end
- alias to_ary to_a # to be rhs of multiple assignment
- end
-
# Get the value for the parameter with a given key.
#
# If the parameter has multiple values, only the first will be
# retrieved; use #params() to get the array of values.
def [](key)
- params = @params[key]
- value = params[0]
+ value = @params[key].first
if @multipart
if value
return value
@@ -1165,7 +1141,7 @@
Tempfile.new("CGI")
end
else
- Value.new(value || "", params)
+ value || ""
end
end