ruby-trunk-changes r39139 - r39154

今日は早めの更新です。主に RubyGems のセキュリティ強化に関する変更がありました。

drbrain:r39139 2013-02-08 07:17:08 +0900

gem install でローカルの gem パッケージファイルからインストールする時にファイルの拡張子が .gem であることをチェックするようにしています。 gem 名と同じ名前のディレクトリ/ファイルがたまたまローカルにあるとそれをインストールしようとしてしまってエラーになる現象への対策のようです。 https://github.com/rubygems/rubygems/issues/407

zzak:r39140 2013-02-08 07:33:32 +0900

Comparable#=== はその内部で呼んでいる <=> メソッドが例外を発生させてもそれを rescue して false を返すことをドキュメントに明記しています。 [ruby-dev:46925] [ruby-dev:46910] [Bug #7790]

zzak:r39141 2013-02-08 07:35:25 +0900

標準ライブラリ net/http の HTTP.post_form の rdoc コメントのサンプルコードで HTTP と書かれていたところを Net::HTTP とフルネームで表記するようにしています。 [ruby-core:51955] [Bug #7794]

drbrain:r39142 2013-02-08 07:48:35 +0900

RubyGems で --trust-policy で security policy が指定された時は署名のない古いフォーマットの gem パッケージはインストールできないようにしています。

tenderlove:r39143 2013-02-08 08:52:01 +0900

拡張ライブラリ psych でオブジェクトを dump する時にその id を object_id を利用していたのを通し番号を採番して使うようにしています。

tenderlove:r39144 2013-02-08 08:54:29 +0900

拡張ライブラリ psych で String を dump した時にクオートを適切にするようにしているようです。

drbrain:r39145 2013-02-08 08:58:42 +0900

RubyGemsRUBY_VERSION が 1.8 以前の時に古いフォーマットの gem パッケージを読んだ時の例外が異なるのでそれに対応しています。 RubyGems は upstream があるのでそちらはまだ 1.8 に対応しているのでそのための修正です。

nobu:r39146 2013-02-08 09:26:53 +0900

r39136 で条件コンパイルの条件を追加したのですが一箇所 typo していたところを再修正しています。

nobu:r39147 2013-02-08 09:35:20 +0900

mkmf.rb で生成する Makefile に RbConfig の RUBY_???_NAME 変数を定義させるようにしています。

drbrain:r39148 2013-02-08 10:15:54 +0900

rubygem の require 漏れの追加とリファクタリングです。

drbrain:r39149 2013-02-08 10:58:59 +0900

rubygems のテストのシチュエーションを修正しています。複数のパッケージがインストールされている状態のテストを追加しているっぽいです。

nobu:r39150 2013-02-08 11:09:27 +0900

tool/make-snapshot で rubyarchdir の対応を追加しています。

nobu:r39151 2013-02-08 11:09:30 +0900

tool/make-snapshot でファイルパスの生成に文字列埋め込みしていたところを File.join に置き換えています。

nobu:r39152 2013-02-08 11:09:32 +0900

tool/make-snapshot の生成する sed スクリプトの置換後の typo を修正しています。

drbrain:r39153 2013-02-08 11:58:19 +0900

RubyGems で gem パッケージの署名検証の失敗時の例外を適切に発生させるようにエラー処理を充実させています。

drbrain:r39154 2013-02-08 13:12:56 +0900

RDoc を 4.0.0.rc.2 から 4.0.0.rc.2.1 にアップデートして rdoc/generator/darkfish.rb でテンプレート出力時の文字エンコーディングを指定したものに変換する処理を追加しています。