[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2004/12/03
[#25070] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/06

なかだです。

[#25071] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/06

In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25089] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/07

なかだです。

[#25090] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/07

In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25093] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — akira yamada / やまだあきら <akira@...> 2004/12/07

2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:

[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>

同じ文字列をほぼ同時に IO に書き込むと、temporal locking already

13 messages 2004/12/04
[#25042] Re: temporal locking already locked string on simultaneous write — Yukihiro Matsumoto <matz@...> 2004/12/04

まつもと ゆきひろです

[#25043] Re: temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org> 2004/12/04

In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,

[#25096] double free problem — "Akinori MUSHA" <knu@...>

 ご無沙汰しております。

15 messages 2004/12/07
[#25099] Re: double free problem — Yukihiro Matsumoto <matz@...> 2004/12/07

Hi,

[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>

えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお

18 messages 2004/12/07

[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>

次のように、1.8 で双方向 popen な IO を reopen するとエラーになること

11 messages 2004/12/10

[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>

NetBSD 2.0 で次のようにすると core を吐きます。

18 messages 2004/12/11
[#25159] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/11

In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,

[#25163] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/12

In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,

[#25165] Re: core dump on NetBSD 2.0 — nobu@... 2004/12/13

なかだです。

[#25167] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/13

In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2004/12/14

[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

20 messages 2004/12/24
[#25301] Re: リリース準備 — TAKAHASHI Masayoshi <maki@...> 2004/12/24

高橋征義です。

[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>

In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,

15 messages 2004/12/24
[#25314] Re: test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...> 2004/12/24

In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,

[#25315] Re: test_readline.rb blocks on BSD again — Yukihiro Matsumoto <matz@...> 2004/12/24

まつもと ゆきひろです

[#25317] Re: test_readline.rb blocks on BSD again — WATANABE Hirofumi <eban@...> 2004/12/25

わたなべです。

[ruby-dev:25135] Re: SecurityError in webrick/cgi

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2004-12-08 17:01:25 UTC
List: ruby-dev #25135
In message <20041208233029F.aamine@loveruby.net>,
 `Minero Aoki <aamine@loveruby.net>' wrote:
> 情報が足りなかったので再度投げます。

ああ、ようやく理解できました。

% ruby19 -ve '$SAFE=1;p ENV[ENV.keys[0]]'
ruby 1.9.0 (2004-12-08) [i386-netbsd]
-e:1:in `[]': Insecure operation - [] (SecurityError)
        from -e:1

ということなんですね。この使い方だと引っかかるものがあります
が、納得できる動作だと思います。

> しかたがないので次のように変更したら、やっと通りました。
> 
> --- lib/webrick/cgi.rb.org      2004-12-08 22:16:27.000000000 +0900
> +++ lib/webrick/cgi.rb  2004-12-08 22:17:39.000000000 +0900
> @@ -161,6 +161,7 @@ module WEBrick
>          add_header("CONTENT_TYPE", "Content-Type")
>          add_header("CONTENT_LENGTH", "Content-length")
>          @env.each_key{|name|
> +          name = name.dup.untaint
>            if /^HTTP_(.*)/ =~ name
>              add_header(name, $1.gsub(/_/, "-"))
>            end

それもあんまりなので、こうしようかと思います。

Index: lib/webrick/cgi.rb
===================================================================
RCS file: /var/cvs/src/ruby/lib/webrick/cgi.rb,v
retrieving revision 1.6
diff -u -p -F^[^A-Za-z0-9_+-]*\(class\|module\|def\)[^A-Za-z0-9_+-] -r1.6 cgi.rb
--- lib/webrick/cgi.rb	16 Sep 2004 09:14:09 -0000	1.6
+++ lib/webrick/cgi.rb	8 Dec 2004 16:38:06 -0000
@@ -158,20 +158,19 @@       def request_line
       end
   
       def setup_header
-        add_header("CONTENT_TYPE", "Content-Type")
-        add_header("CONTENT_LENGTH", "Content-length")
-        @env.each_key{|name|
-          if /^HTTP_(.*)/ =~ name
-            add_header(name, $1.gsub(/_/, "-"))
+        @env.each{|key, value|
+          case key
+          when "CONTENT_TYPE", "CONTENT_LENGTH"
+            add_header(key.gsub(/_/, "-"), value)
+          when /^HTTP_(.*)/
+            add_header($1.gsub(/_/, "-"), value)
           end
         }
       end
   
-      def add_header(envname, hdrname)
-        if value = @env[envname]
-          unless value.empty?
-            @header_part << hdrname << ": " << value << CRLF
-          end
+      def add_header(hdrname, value)
+        unless value.empty?
+          @header_part << hdrname << ": " << value << CRLF
         end
       end

しかし、あまり無理矢理な感じはしなくなったものの、
WEBrick::HTTPRequest#meta_varsに汚染フラグが伝播しないので結
局のところ大差ないのかもしれません。

そもそも伝播させるべきなのか、だとしたらそれはWEBrick側です
べて面倒を見るべきなのか迷ったのですが、どうするのがいいんで
しょう。
 
-- 
ごとうゆうぞう

In This Thread

Prev Next