ruby-trunk-changes r55406 - r55418

今日は OpenSSL::OCSP の機能追加、DateTime#strftime や Time#strftime の精度の扱いの修正/変更、RbConfig::CONFIG["UNICODE_VERSION"] の導入などがありました。

mrkn: r55406 2016-06-14 10:20:07 +0900

NEWS ファイルに Integer#digits について追記しています。

svn: r55407 2016-06-14 10:20:08 +0900

version.h の日付更新。

rhe: r55408 2016-06-14 21:35:28 +0900

r55285 で 拡張ライブラリ openssl で OpenSSL の鍵情報の構造体の opaque 化に伴い accessor を利用するようにした時に代替実装として定義した RSA と DH の IMPL_KEY_ACCESSOR3() での定義の不具合を修正しています。 [ruby-core:75225] [Feature #12324]

rhe: r55409 2016-06-14 21:40:55 +0900

拡張ライブラリ openssl の OpenSSL::OCSP::BasicResponse#to_der と OpenSSL::OCSP::CertificateId#to_der と実装し、OpenSSL::OCSP::BasicResponse.new や OpenSSL::OCSP::CertificateId.new で引数に der 形式の文字列を指定できるようにしています。 OCSP は証明書の失効をチェックするためのプロトコルですね。

nobu: r55410 2016-06-14 22:07:27 +0900

拡張ライブラリ date で DateTime#strftime に渡された %c 指示子の精度が大きすぎる時に例外でエラーにしてバッファオーバフローを防ぐようにしています。 [Bug #12488]

rhe: r55411 2016-06-14 22:12:20 +0900

拡張ライブラリ openssl の OpenSSL::OCSP::CertificateId に #issue_name_hash, #issue_key_hash, #hash_algorithm などのメソッドを追加しています。 [ruby-core:48062] [Feature #7181]
また OpenSSL::OCSP::CertificateId#serial の rdoc 用コメントでメソッド名が get_serial になっていたのを修正しています。

nobu: r55412 2016-06-14 22:22:09 +0900

Time#strftime の実体でもある rb_strftime_with_timespec() の引数に maxsize を追加して、指定したサイズを超えたらエラーを返すことができるようにして結果が大きくなりすぎないようにしています。

nobu: r55413 2016-06-14 23:43:02 +0900

r55394 で RUBY_INTEGER_UNIFICATION マクロの導入時に rb_cFixnum と rb_cBignum のマクロ定義(rb_cInteger に展開)を追加していたのを削除しています。 "to fail incompatible extension libraries earily" とあるので、これで非互換を踏んでいる拡張ライブラリの問題を遮蔽しないようにということですが、これがあるだけで何もしなくても動くケースもあるんじゃないかなぁと考えるとあっても良いのでは。 [ruby-core:75718] [Bug #12427]

kazu: r55414 2016-06-14 23:59:01 +0900

r55413 の ChangeLog エントリの typo 修正。

kazu: r55415 2016-06-15 00:01:37 +0900

test/ruby/enc/test_case_comprehensive.rb で正規表現の ^ と $ を \A と \z に変更しています。

svn: r55416 2016-06-15 00:01:38 +0900

version.h の日付更新。

nobu: r55417 2016-06-15 01:44:45 +0900

tool/mkconfig.rb で RbConfig::CONFIG["UNICODE_VERSION"] に利用している Unicode のバージョン情報を格納するようにしています。 UnicodeNormalize::UNICODE_VERSION として参照できてたものをライブラリを require しなくても(require "rbconfig" は必要ですが)参照できるようにしています。 [ruby-core:75845] [Feature #12460]

nobu: r55418 2016-06-15 01:46:18 +0900

Integer#digits の rdoc 用コメントに負の整数に対して呼び出した時の記述が間違っていたのを修正しています。 負の値に対しては Math::DomainError 例外が発生します。 [ruby-core:76025] [Bug #12487]