ruby-trunk-changes r55446 - r55457

今日は cygwin での filesystem encoding の修正や、拡張ライブラリ openssl の機能追加などがありました。

nobu: r55446 2016-06-19 10:48:27 +0900

File.expand_path のエンコーディングの normalize のテストの実施条件が OS X の時だったのですが、filesystem encoding が UTF-8 じゃない時は意味がないのでこれも条件に追加しています。

svn: r55447 2016-06-19 10:48:27 +0900

version.h の日付更新。

nobu: r55448 2016-06-19 10:54:42 +0900

rb_const_get_0() から定数がみつからなかった時の処理以外を rb_const_search() という関数に切り出してみつからなかったら Qundef を返すようにして、rb_path_to_class() でこの関数を使うようにして定数探索が重複していたのを 1度にまとめています。

nobu: r55449 2016-06-19 11:19:45 +0900

rb_path_to_class() で文字列オブジェクトのバッファが NUL 文字終端していることを期待したコードになっていたのを RSTRING_LEN() のサイズまででアクセスするように修正しています。

rhe: r55450 2016-06-19 14:31:28 +0900

拡張ライブラリ openssl の OpenSSL 1.1.0 対応の一部。変数や引数の一部に const 修飾子を追加しています。 [ruby-core:75225] [Feature #12324]

duerst: r55451 2016-06-19 15:01:25 +0900

localeinit.c の Init_enc_set_filesystem_encoding() で cygwin でも Windows 版と同様に GetACP() や GetOEMCP() を使って filesystem encoding を取得していたのを、常に UTF-8 固定にしています。 参考URL: https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual

svn: r55452 2016-06-19 15:01:26 +0900

r55451 の行末の空白除去。

duerst: r55453 2016-06-19 16:55:25 +0900

r55451 の修正に対応して test/ruby/test_dir_m17n.rb のテストをいくつか cygwin の時に skip するようにしています。 [ruby-core:75789] [Bug #12443]

rhe: r55454 2016-06-19 18:29:59 +0900

拡張ライブラリ openssl の OpenSSL::PKey の各種クラスで initialize_copy を実装して dup で複製できるようにしています。 [ruby-core:75504] [Bug #12381]

rhe: r55455 2016-06-19 18:42:29 +0900

拡張ライブラリ openssl の OpenSSL::OCSP の配下の各種クラスでも initialize_copy を定義して dup できるようにしています。 [ruby-core:75504] [Bug #12381]

rhe: r55456 2016-06-19 18:42:30 +0900

拡張ライブラリ openssl の OpenSSL::OCSP::BasicResponse#add_status で時刻を表す属性の設定に整数だけでなく Time オブジェクトを受け付けるようにしています。

rhe: r55457 2016-06-19 21:26:27 +0900

拡張ライブラリ openssl に OpenSSL::OCSP::SingleResponse というクラスを追加しています。また OpenSSL::OCSP::BasicResponse には #responses と find_response というメソッドを追加して、BasicResponse が複数の SingleResponse を所有するようにしています。BasicResponse の従来のメソッドの挙動は変わってないので互換性は保っていますがより使いやすい validation の方法を提供しているということみたいです。