Ruby 1.8.2のwebrickとxmlrpcの脆弱性情報
コードが移動しているようなので、こんな感じかなあ?:
--- ruby-1.8.2-webrick-dos-1.patch.orig 2005-11-21 16:58:45.000000000 +0900 +++ ruby-1.8.2-webrick-dos-1.patch 2005-11-22 12:57:33.000000000 +0900 @@ -26,14 +26,14 @@ diff -u -p -F^[^A-Za-z0-9_+-]*\(class\|module\|def\)[^A-Za-z0-9_+-] -r1.5.2.3 server.rb --- lib/webrick/server.rb 16 Dec 2004 09:45:59 -0000 1.5.2.3 +++ lib/webrick/server.rb 25 Sep 2005 07:01:24 -0000 -@@ -90,6 +90,7 @@ def start(&block) - @tokens.pop # blocks while no token is there. - sock = svr.accept - sock.sync = true -+ Utils::set_non_blocking(sock) - Utils::set_close_on_exec(sock) - th = start_thread(sock, &block) - th[:WEBrickThread] = true +@@ -147,6 +147,7 @@ def start(&block) + sock = svr.accept + sock.sync = true + Utils::set_close_on_exec(sock) ++ Utils::set_non_blocking(sock) + rescue Errno::ECONNRESET, Errno::ECONNABORTED, Errno::EPROTO => ex + # TCP connection was established but RST segment was sent + # from peer before calling TCPServer#accept. Index: lib/webrick/utils.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/webrick/utils.rb,v
「RubyGemsとOS platformとの関係」
今のところ槍玉にあげられているのは主にDebianらしいのだが、このまま進むと他の環境についても同じこと、つまりパッケージシステムに対する譲歩を強く求められるなんてことにもなりかねないのではないかと思えてくる。
そんなわけで返事を一本書いてみた(
純粋にrubygemsを使いたければ生のまま、あるいはrubygems自体のパッケージは使うにしても、それ以降は生のrubygemsと同じやり方でそれを使う。そうでなければ各パッケージシステム的に妥当な形でwrapされたgemを使う。そういった辺りが落しどころなんじゃないかな、と思う。ukaiさんやtagohさんにも意見を聞いてみたい。
あ、そうそう。日本語でサマリーを作ってくださった森脇さん。ありがとうございます。(というのをメールに書き損ねてしまった。)
REXML::Comment#to_s
$ ruby -rrexml/document -e '
doc = REXML::Document.new("<!-- bar -->")
print "---1\n"
print doc
print "\n---2\n"
doc.children.each {|c| print c}
print "\n---3\n"
doc.children.each {|c| c.write(o = ""); print o}
print "\n---0\n"'
---1
<!-- bar -->
---2
bar
---3
<!-- bar -->
---0
REXML::Comment#to_sはコメントの中身を返すようだ。
ruby-pkg-tools
Description: Tools for building Debian Ruby packages
This package contains some useful tools for building Debian Ruby packages
and is used by the Debian Ruby Maintainers Team. It includes:
* a CBDS class for building packages which use setup.rb as installer,
* a program to retrieve upstream sources for use in conjunction with
svn-buildpackage,
* a list of team members.
the Debian Ruby Maintainers Teamってruby-pkg-toolsのメンテナたちのことだろうか。/usr/share/ruby-pkg-tools/pkg-ruby-extras.teamにはDebian Ruby Extras Maintainersって書いてあるんだけど、そうするとExtrasが抜けてる? うーん。
svn-buildpackageうんぬんのスクリプトはいまいちよく分からない。……あー、debian/changelogを読んで、対応するupstream tarballを取ってくるのか。しかしそのために/usr/shareにファイル置くってのはどうだろう。debian/watch的なやつのほうが良いんじゃないか。
まあ、目玉はsetup.rbを使ったソフトウェアをパッケージングするのに使えるcdbsのclassファイルだろうな。でもなんでこれcdbsに入れてもらわないんだろう。
rubygems用のclassファイルがあると良いかなあ。その前にrubygems自体がそろそろ欲しいかも。
ruby1.6を削除しよう
Debian/unstableからruby1.6を削除しよう、というのを投げた。9月中旬あたりに削除を依頼する予定。
ざっと見たところ、問題になりそうなのはaswiki、rsjog、tdiary-plugin、tictactoeで、これらの依存関係はruby1.6に行きつく。aswikiやtdiary-pluginはRuby 1.8系でもきっとなんとかなるんじゃないかと思う(がよく分からない)。rsjogとtictactoeはlibgtk-ruby1.6を使っているから難しいかも。upstreamでは更新されていないようでもあるし。と、思っていたらtictactoeについてはメンテナと鵜飼さんのやり取りによるとRuby-GNOME2化して対処できるっぽい。

